Home > Linear-C--

Linear-C--

Linear-C-- is a project mainly written in C++ and C, it's free.

Linear Algebra for C++.

=.=.=.=.=.=.=.=.=.=.= Linear C++ =.=.=.=.=.=.=.=.=.=.=

What it is

This is a library for doing linear algebra in C++. So far it includes:

  • a Matrix class
  • RowVector and ColumnVector classes
  • basic Matrix and Vector operations such as multiplication, addition, and length (for RowVector and ColumnVector)
  • convenience methods for populating randomly or making identity matrices
  • a method for solving a system of linear equations via Gauss-Jordan

Why

I realize that many better packages exist for Linear Algebra in C++. This library is not suitable for any intensive computation, but it's a great way to gain expertise in both Linear Algebra and C++.

My goal with this project is to gain a better understanding of both.

Testing and Documentation

Since the focus of this library is on learning, testing and documentation is especially important. The goal is to have at least one set of comprehensive tests for every object or method. Plus, every feature should have at least reference documentation, and hopefully a tutorial.

Tests are written using UnitTest++. Documentation is written using Doxygen.

Dependencies

The only real dependency: The Boost library for tuples, shared pointers, iterators, more (boost.org)

Others: If you want to run the tests you will need UnitTest++ (unittest-cpp.sourceforge.net) If you want to edit and re-generate the documentation you will need doxygen (doxygen.org)

Who

copyleft Aditya Bhargava @ wefoundland.com. This code is in the public domain.