Assembly: Extreme.Numerics (Extreme.Numerics)
Syntax
| Visual Basic (Declaration) |
|---|
Public Class SingularValueDecomposition _ Inherits Decomposition |
| C# |
|---|
public class SingularValueDecomposition : Decomposition |
| C++ |
|---|
public ref class SingularValueDecomposition : public Decomposition |
Methods
| Icon | Type | Description |
|---|---|---|
| Decompose() |
Calculates the actual singular value decomposition.
| |
| Equals(Object) | ||
| EstimateConditionNumber() |
Calculates an estimate for the condition
number of the Matrix.
| |
| Finalize() | ||
| GetDeterminant() |
Calculates the determinant of the decomposed
Matrix.
| |
| GetHashCode() | Serves as a hash function for a particular type. | |
| GetInverse() |
Calculates the inverse of the factorized
Matrix.
| |
| GetObjectData(SerializationInfo, StreamingContext) |
Populates a SerializationInfo with the data
needed to serialize the target object.
| |
| GetPseudoInverse() |
Calculates the pseudo-inverse of the factorized Matrix.
| |
| GetPseudoInverse(Double) |
Calculates the pseudo-inverse of the factorized
Matrix.
| |
| GetType() | Gets the Type of the current instance. | |
| IsSingular() |
Gets a value indicating whether the BaseMatrix of this decomposition
is singular.
| |
| MemberwiseClone() | Creates a shallow copy of the current Object. | |
| Rank(Double) |
Returns the numerical rank of a matrix using the specified tolerance.
| |
| SetSingularFlag() |
Sets a flag that indicates the underlying matrix of this
decomposition is singular.
| |
| Solve(GeneralMatrix, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side GeneralMatrix and overwrites the
right-hand side with the solution.
| |
| Solve(GeneralVector, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side Vector.
| |
| Solve(Vector) |
Solves the system of linear equations for the specified
right-hand side Vector.
| |
| Solve(Matrix) |
Solves the system of linear equations for the specified
right-hand side Matrix.
| |
| ToString() |
Constructors
| Icon | Type | Description |
|---|---|---|
| SingularValueDecompositionNew(Matrix) |
Constructs a new SingularValueDecomposition object.
| |
| SingularValueDecompositionNew(Matrix, SingularValueDecompositionFactors) |
Constructs a new SingularValueDecomposition object.
| |
| SingularValueDecompositionNew(GeneralMatrix, Boolean) |
Constructs a new SingularValueDecomposition object.
| |
| SingularValueDecompositionNew(GeneralMatrix, SingularValueDecompositionFactors, Boolean) |
Constructs a new SingularValueDecomposition object.
|
Properties
| Icon | Type | Description |
|---|---|---|
| BaseMatrix |
Gets the underlying matrix of the decomposition.
| |
| Done |
Gets or sets a value that indicates whether the decomposition
has been performed.
| |
| LeftSingularVectors |
Gets the left singular vectors of the decomposition.
| |
| Overwrite |
Gets or sets a value indicating whether the
BaseMatrix should be overwritten by
its decomposition.
| |
| RequestedFactors |
Gets or sets which factors of the singular value decomposition should be calculated.
| |
| RightSingularVectors |
Gets the right singular vectors of the decomposition.
| |
| SingularValueMatrix |
Gets a matrix with the singular values on the diagonal.
| |
| SingularValues |
Gets a vector containing the singular values.
|
Remarks
QRDecomposition 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.
SingularValueDecomposition inherits from LinearTransformation. 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(GeneralMatrix, Boolean) method. You can also calculate the GetDeterminant(), the GetInverse(), and an estimate for the EstimateConditionNumber().
In addition, the SingularValueDecomposition 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.
Inheritance Hierarchy
Extreme.Mathematics.LinearAlgebra.LinearTransformation
Extreme.Mathematics.LinearAlgebra.Decomposition
Extreme.Mathematics.LinearAlgebra.SingularValueDecomposition