Click or drag to resize
DigitalRuneSingularValueDecompositionD Class
Computes the Singular Value Decomposition (SVD) of a matrix (double-precision).
Inheritance Hierarchy
SystemObject
  DigitalRune.Mathematics.AlgebraSingularValueDecompositionD

Namespace: DigitalRune.Mathematics.Algebra
Assembly: DigitalRune.Mathematics (in DigitalRune.Mathematics.dll) Version: 1.14.0.0 (1.14.0.14427)
Syntax
public class SingularValueDecompositionD

The SingularValueDecompositionD type exposes the following members.

Constructors
  NameDescription
Public methodSingularValueDecompositionD
Creates the singular value decomposition of the given matrix.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyConditionNumber
Gets the condition number of A.
Public propertyNorm2
Gets the two norm of A.
Public propertyNumericalRank
Gets the effective numerical rank of A.
Public propertyS
Gets the diagonal matrix S with the singular values. (This property returns the internal matrix, not a copy.)
Public propertySingularValues
Gets the vector of singular values (the diagonal of S).
Public propertyU
Gets the matrix U with the left singular vectors. (This property returns the internal matrix, not a copy.)
Public propertyV
Gets the matrix V with the right singular vectors. (This property returns the internal matrix, not a copy.)
Top
Remarks

For an m x n matrix A with m ≥ n, the SVD computes the matrices U, S and V so that A = U * S * VT.

U is an m x n orthogonal matrix. S is an n x n diagonal matrix. V is is a n x n orthogonal matrix.

The diagonal elements of S are the singular values. The singular values are positive or zero and ordered so that S[0, 0] ≥ S[1, 1] ≥ ...

The singular value decomposition always exists.

Applications: The matrix condition number and the effective numerical rank can be computed from this decomposition.

See Also