## 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.

### Public Methods

#### 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 , .

#### voidSolve(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 , .

#### voidSolve(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 , .

### Public Properties

#### TConditionNumber get;

Gets the condition number

#### TDeterminant get;

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

#### doubleL2Norm get;

Gets the two norm of the Matrix<T>.

#### intRank get;

Gets the effective numerical matrix rank.
Value:

#### Vector<T>S get;

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

#### Matrix<T>U get;

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

#### Matrix<T>VT get;

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>.