Click or drag to resize

MatrixMathSingularValueDecomposition Class

Class to calculate the singular value decomposition.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.LinearAlgebraMatrixMathSingularValueDecomposition

Namespace: Altaxo.Calc.LinearAlgebra
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3572.0 (4.8.3572.0)
Syntax
C#
public class SingularValueDecomposition : ISingularValueDecomposition

The MatrixMathSingularValueDecomposition type exposes the following members.

Constructors
 NameDescription
Public methodMatrixMathSingularValueDecomposition Creates a singular value decomposition of matrix a, resulting in matrix a itself.
Top
Properties
 NameDescription
Public propertyCondition Gets the condition number of the matrix, defined as the ratio of the largest singular value to the smallest.
Public propertyDiagonal Gets the array of singular values.
Public propertyHatDiagonal Returns the Hat diagonal. The hat diagonal is the diagonal of the Hat matrix, which is defined as T -1 T T H = X (X X) X = U U
Public propertyNorm2 Gets the 2-norm of the matrix, which is the largest singular value.
Public propertyRank Gets the rank of the matrix, which is the number of singular values greater than a small threshold.
Public propertyU Gets the left singular vectors matrix.
Public propertyV Gets the right singular vectors matrix.
Top
Methods
 NameDescription
Public methodBacksubstitution(Double, Double) Solves A·X = B for a vector X, where A is specified by A=U*S*V'. U, S, and V are results of the decomposition.
Public methodBacksubstitution(IReadOnlyListDouble, IVectorDouble) Solves A·X = B for a vector X, where A is specified by A=U*S*V'. U, S, and V are results of the decomposition.
Protected methodBuildHatDiagonal Builds the diagonal of the hat matrix for the current singular value decomposition.
Public methodChopSingularValues Sets all singular values, that are lesser than relativeThreshold*(maximum singular value), to zero.
Public methodComputeSingularValueDecomposition Creates a singular value decomposition of matrix a, resulting in matrix a itself.
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 methodGetCovariances Calculates the covariance matrix Cov(i,j)= (X'X)^(-1) = SUM_over_k( V[i,k]*V[j,k]/s[k]^2). If s[k] is zero, 1/s[k]^2 will be set to zero. If the singular value decomposition was used to make a linear fit, this is the variance-covariance matrix of the fitting parameters.
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 methodStatic memberSolve Solves the equation A x = B and returns x.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Remarks

Adapted from Lutz Roeders Mapack library.

Some properties of the singular value decomposition: X - the matrix to decompose, U w V' - the decomposition. -1 (X' X) = V (1/w^2) V' (usually called covariance matrix) -1 Hat matrix H = X (X' X) X' = U U'
See Also