Meta.Numerics.Matrices Namespace 
Class  Description  

AnyMatrixT 
Describes the form of all matrices.
 
AnyRectangularMatrix 
Describes the form of all real matrices.
 
AnySquareMatrix 
Describes the form of all real, square matrices.
 
AnyVector 
Implements functionality shared between row and column vectors.
 
CholeskyDecomposition 
Represents the Cholesky Decomposition of a symmetric, positive definite matrix.
 
ColumnVector 
A column vector of real numbers.
 
ComplexColumnVector 
Represents a column vector of complex numbers.
 
ComplexEigendecomposition 
Represents a collection of complex eigenvalues and eigenvectors.
 
ComplexEigenpair 
Represents a complexvalued eigenvector and corresponding eigenvalue.
 
ComplexEigenpairCollection 
Contains a collection of complex eigenvalues and eigenvectors.
 
DiagonalMatrix 
Represents a diagonal matrix.
 
LUDecomposition 
Represents the LU decomposition of a square matrix.
 
QRDecomposition 
Represents a QR decomposition of a matrix.
 
RealEigendecomposition 
Represents a collection of real eigenvalues and eigenvectors.
 
RealEigenpair 
Contains a realvalued eigenvector and eigenvalue.
 
RealEigenpairCollection 
Contains realvalued eigenvalues and eigenvectors of a matrix.
 
RectangularMatrix 
A rectangular matrix of real numbers.
 
RowVector 
A row vector of real numbers.
 
SingularValueContributor 
Contains the value and left and right vectors of one term in a singular value decomposition.
 
SingularValueContributorCollection 
Contains all the terms contributing to the singular value decomposition of a matrix.
 
SingularValueDecomposition 
Stores the singular value decomposition of a matrix.
 
SparseSquareMatrix 
Represents a sparse, square matrix.
 
SquareMatrix 
Represents a square matrix.
 
SquareQRDecomposition 
Represents the QR decomposition of a square matrix.
 
SymmetricMatrix 
Represents a symmetric matrix.
 
TridiagonalLUDecomposition 
Represents the LU decomposition of a tridiagonal matrix.
 
TridiagonalMatrix 
Represents a tridiagonal matrix.
 
UnitMatrix 
Represents a unit matrix.

Enumeration  Description  

OrderBy 
Describes an ordering of eigenvalues.

You can create matrices of real values using the RectangularMatrix and SquareMatrix classes, and vectors of real values using the ColumnVector and RowVector classes. Operator overloads are defined that allow you to perform allowed arithmetic operations, such as adding two vectors or matrices, or multiplying a vector by a scalar, vector, or matrix. Each type defines methods corresponding to common linear algebra operations, such as inversion (Inverse), finding eigenvalues and eigenvectors (Eigenvalues and Eigendecomposition), and decompositions (QRDecomposition and SingularValueDecomposition).
The fastest way to solve a linear system A x = b is to form the LUDecomposition of A and call Solve(IReadOnlyListDouble) with the righthandside b.
There are several additional matrix containers that support smaller storage requirements and faster operations for matrices with particular structures, such as DiagonalMatrix, TridiagonalMatrix, SymmetricMatrix, and SparseSquareMatrix.
Where possible, we quickly return new matrix objects that implement a new view of existing stored values, without copying or otherwise disturbing the original values. Examples include Transpose and Row(Int32). For readonly purposes, this is much faster and requires less memory that computing and storing new values. The returned matrix objects are, however, necessarily readonly. Whether an matrix object is readonly can be determined from IsReadOnly. If you want to modify a readonly matrix object, simply make a copy using the object's Copy method (e.g. Copy or Copy).