Represents the singular value decomposition of a matrix.
SystemObject Extreme.Mathematics.LinearAlgebra.ComplexComplexLinearOperator Extreme.Mathematics.LinearAlgebra.ComplexComplexDecomposition Extreme.Mathematics.LinearAlgebra.ComplexComplexSingularValueDecomposition
Namespace: Extreme.Mathematics.LinearAlgebra.ComplexAssembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
public abstract class ComplexSingularValueDecomposition : ComplexDecomposition
Public MustInherit Class ComplexSingularValueDecomposition
Inherits ComplexDecomposition
public ref class ComplexSingularValueDecomposition abstract : public ComplexDecomposition
[<AbstractClassAttribute>]
type ComplexSingularValueDecomposition =
class
inherit ComplexDecomposition
end
The ComplexSingularValueDecomposition type exposes the following members.
Top
Top
Top
The singular value decomposition (SVD) of a matrix A rewrites the
matrix in the form A= USVT, where
U and V are orthogonal matrices, and S is a
diagonal matrix whose
diagonal contains the singular values of the matrix.
ComplexQRDecomposition can operate in two modes.
In overwrite mode, the original matrix is overwritten
by the decomposition. In preserve mode, the original matrix
is preserved, and a new matrix is created to hold the
decomposition. You can set the mode through the
Overwrite property.
ComplexSingularValueDecomposition inherits from
LinearOperator. This means you can
use it to solve systems of linear equations. You can
solve for a single right-hand side, or for multiple
right-hand sides using the Solve(ComplexDenseMatrix, Boolean) method.
You can also calculate the determinant,
the inverse, and an estimate for the
EstimateConditionNumber.
In addition, the ComplexSingularValueDecomposition
class provides some unique methods.
The GetPseudoInverse method calculates the
pseudo-inverse of the matrix. This is a matrix A+
such that AA+A = A.
The managed implementation of the singular value decomposition is based on the LINPACK routine DSVDC.
The native version uses the LAPACK routine DGESDD.
Numerical Libraries
Supported in: 5.x, 4.x
Reference