public class SvdImplicitQr extends Object
Computes the Singular value decomposition of a matrix using the implicit QR algorithm for singular value decomposition. It works by first by transforming the matrix to a bidiagonal A=U*B*VT form, then it implicitly computing the eigenvalues of the BTB matrix, which are the same as the singular values in the original A matrix.
Based off of the description provided in:
David S. Watkins, "Fundamentals of Matrix Computations," Second Edition. Page 404-411
| Constructor and Description |
|---|
SvdImplicitQr(boolean compact)
Configures the class
|
| Modifier and Type | Method and Description |
|---|---|
SVDResult |
_decompose(AMatrix _orig) |
static SVDResult |
decompose(AMatrix A,
boolean compact) |
AMatrix |
getS() |
AVector |
getSingularValues() |
AMatrix |
getU() |
AMatrix |
getV() |
boolean |
isCompact() |
int |
numberOfSingularValues() |
int |
numCols() |
int |
numRows() |
public SvdImplicitQr(boolean compact)
compact - Compute a compact SVDcomputeU - If true it will compute the U matrixcomputeV - If true it will compute the V matrixpublic AVector getSingularValues()
public int numberOfSingularValues()
public boolean isCompact()
public AMatrix getU()
public AMatrix getV()
public AMatrix getS()
public int numRows()
public int numCols()
Copyright © 2016. All rights reserved.