Fundamental Objects
Matrix is a
Vector<RealVector>.
RealVector is a
Vector<Real>.
Real is used as an alias for
System.Double throughout the project.
Vector<T> inherits from
List<T>.
Matrix and Vector Factories
Classes
Matrix and
RealVector both have factories that can be used to make it easy to generate arbitrary matrices.
Matrix and Vector Factories Example
//create a 25 row by 70 column matrix with random integer elements between [0, 1000 )
Matrix A = Matrix.Random( 25, 70, 36, 0, 1000 );
RealVector vec = RealVector.Random( 70, 36, 0, 1000 );
A.Add( vec ); //dimension checking is not done for you, this is to improve efficiency
Algorithms
The
Matrix,
RealVector, and
Vector<T> classes have several fairly efficient general purpose operations implemented already.
These operations are fundamental to linear algebra and I suspect that most of the library will be implemented through the clever usage of these algorithms.