Namespaces

Types in MathNet.Numerics.LinearAlgebra.Factorization

Type Svd<T>

Namespace MathNet.Numerics.LinearAlgebra.Factorization

Interfaces ISolver<T>

A class which encapsulates the functionality of the singular value decomposition (SVD).

Suppose M is an m-by-n matrix whose entries are real numbers. Then there exists a factorization of the form M = UΣVT where: - U is an m-by-m unitary matrix; - Σ is m-by-n diagonal matrix with nonnegative real numbers on the diagonal; - VT denotes transpose of V, an n-by-n unitary matrix; Such a factorization is called a singular-value decomposition of M. A common convention is to order the diagonal entries Σ(i,i) in descending order. In this case, the diagonal matrix Σ is uniquely determined by M (though the matrices U and V are not). The diagonal entries of Σ are known as the singular values of M.

The computation of the singular value decomposition is done at construction time.

Methods

Properties

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

Matrix<T> Solve(Matrix<T> input)

Solves a system of linear equations, , with A SVD factorized.
Parameters
Matrix<T> input

The right hand side Matrix`1 , .

Return
Matrix<T>

The left hand side Matrix`1 , .

void Solve(Matrix<T> input, Matrix<T> result)

Solves a system of linear equations, , with A SVD factorized.
Parameters
Matrix<T> input

The right hand side Matrix`1 , .

Matrix<T> result

The left hand side Matrix`1 , .

Vector<T> Solve(Vector<T> input)

Solves a system of linear equations, , with A SVD factorized.
Parameters
Vector<T> input

The right hand side vector, .

Return
Vector<T>

The left hand side Vector`1 , .

void Solve(Vector<T> input, Vector<T> result)

Solves a system of linear equations, , with A SVD factorized.
Parameters
Vector<T> input

The right hand side vector, .

Vector<T> result

The left hand side Matrix`1 , .

string ToString()

Public Properties

T ConditionNumber get;

Gets the condition number

T Determinant get;

Gets the determinant of the square matrix for which the SVD was computed.

double L2Norm get;

Gets the two norm of the Matrix<T>.

int Rank get;

Gets the effective numerical matrix rank.
Value:

Vector<T> S get; set;

Gets the singular values (Σ) of matrix in ascending value.

Matrix<T> U get; set;

Gets the left singular vectors (U - m-by-m unitary matrix)

Matrix<T> VT get; set;

Gets the transpose right singular vectors (transpose of V, an n-by-n unitary matrix)

Matrix<T> W get;

Returns the singular values as a diagonal Matrix<T>.