SingularValueDecomposition Class |
Namespace: Accord.Math.Decompositions
[SerializableAttribute] public sealed class SingularValueDecomposition : ICloneable, ISolverMatrixDecomposition<double>
The SingularValueDecomposition type exposes the following members.
Name | Description | |
---|---|---|
SingularValueDecomposition(Double) |
Constructs a new singular value decomposition.
| |
SingularValueDecomposition(Double, Boolean, Boolean) |
Constructs a new singular value decomposition.
| |
SingularValueDecomposition(Double, Boolean, Boolean, Boolean) |
Constructs a new singular value decomposition.
| |
SingularValueDecomposition(Double, Boolean, Boolean, Boolean, Boolean) |
Constructs a new singular value decomposition.
|
Name | Description | |
---|---|---|
AbsoluteDeterminant |
Returns the absolute value of the matrix determinant.
| |
Condition |
Returns the condition number max(S) / min(S).
| |
Diagonal |
Gets the one-dimensional array of singular values.
| |
DiagonalMatrix |
Returns the block diagonal matrix of singular values.
| |
IsSingular |
Gets whether the decomposed matrix is singular.
| |
LeftSingularVectors |
Returns the U matrix of Singular Vectors.
| |
LogDeterminant |
Returns the log of the absolute value for the matrix determinant.
| |
LogPseudoDeterminant |
Returns the log of the pseudo-determinant for the matrix.
| |
Ordering |
Returns the ordering in which the singular values have been sorted.
| |
PseudoDeterminant |
Returns the pseudo-determinant for the matrix.
| |
Rank |
Returns the effective numerical matrix rank.
| |
RightSingularVectors |
Returns the V matrix of Singular Vectors.
| |
Threshold |
Returns the singularity threshold.
| |
TwoNorm |
Returns the Two norm.
|
Name | Description | |
---|---|---|
Clone |
Creates a new object that is a copy of the current instance.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetInformationMatrix |
Computes (Xt * X)^1 (the inverse of the covariance matrix). This
matrix can be used to determine standard errors for the coefficients when
solving a linear set of equations through any of the Solve(Double)
methods.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Inverse |
Computes the (pseudo-)inverse of the matrix given to the Singular value decomposition.
| |
Reverse |
Reverses the decomposition, reconstructing the original matrix X.
| |
Solve(Double) |
Solves a linear equation system of the form AX = B.
| |
Solve(Double) |
Solves a linear equation system of the form Ax = b.
| |
SolveForDiagonal |
Solves a linear equation system of the form AX = B.
| |
SolveTranspose(Double) |
Solves a linear equation system of the form AX = B.
| |
SolveTranspose(Double) |
Solves a linear equation system of the form xA = b.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
HasMethod |
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.) | |
IsEqual |
Compares two objects for equality, performing an elementwise
comparison if the elements are vectors or matrices.
(Defined by Matrix.) | |
To(Type) | Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) | |
ToT | Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) |
For an m-by-n matrix A with m >= n, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U * S * V'. The singular values, sigma[k] = S[k,k], are ordered so that sigma[0] >= sigma[1] >= ... >= sigma[n-1].
The singular value decomposition always exists, so the constructor will never fail. The matrix condition number and the effective numerical rank can be computed from this decomposition.
WARNING! Please be aware that if A has less rows than columns, it is better to compute the decomposition on the transpose of A and then swap the left and right eigenvectors. If the routine is computed on A directly, the diagonal of singular values may contain one or more zeros. The identity A = U * S * V' may still hold, however. To overcome this problem, pass true to the autoTranspose argument of the class constructor.
This routine computes the economy decomposition of A.