Click or drag to resize

SvdT Class

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.

Inheritance Hierarchy
SystemObject
  Altaxo.Calc.LinearAlgebra.FactorizationSvdT

Namespace: Altaxo.Calc.LinearAlgebra.Factorization
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public abstract class Svd<T> : ISolver<T>
where T : struct, new(), IEquatable<T>, IFormattable

Type Parameters

T
Supported data types are double, single, Altaxo.Calc.LinearAlgebra.Complex, and Altaxo.Calc.LinearAlgebra.Complex32.

The SvdT type exposes the following members.

Constructors
 NameDescription
Protected methodSvdTInitializes a new instance of the SvdT class
Top
Properties
 NameDescription
Public propertyConditionNumber Gets the condition number max(S) / min(S)
Public propertyDeterminant Gets the determinant of the square matrix for which the SVD was computed.
Public propertyL2Norm Gets the two norm of the MatrixT.
Public propertyRank Gets the effective numerical matrix rank.
Public propertyS Gets the singular values (Σ) of matrix in ascending value.
Public propertyU Gets the left singular vectors (U - m-by-m unitary matrix)
Public propertyVT Gets the transpose right singular vectors (transpose of V, an n-by-n unitary matrix)
Public propertyW Returns the singular values as a diagonal MatrixT.
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodSolve(MatrixT) Solves a system of linear equations, AX = B, with A SVD factorized.
Public methodSolve(VectorT) Solves a system of linear equations, Ax = b, with A SVD factorized.
Public methodSolve(MatrixT, MatrixT) Solves a system of linear equations, AX = B, with A SVD factorized.
Public methodSolve(VectorT, VectorT) Solves a system of linear equations, Ax = b, with A SVD factorized.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Protected fieldVectorsComputedIndicating whether U and VT matrices have been computed during SVD factorization.
Top
Remarks
The computation of the singular value decomposition is done at construction time.
See Also