public interface BidiagonalDecomposition<T extends Matrix> extends DecompositionInterface<T>
Computes a matrix decomposition such that:
A = U*B*VT
where A is m by n, U is orthogonal and m by m, B is an m by n bidiagonal matrix, V is orthogonal and n by n.
This is used as a first step in computing the SVD of a matrix for the QR algorithm approach.
A bidiagonal matrix has zeros in every element except for the two diagonals.
b_ij = 0 if i > j or i < j-1
Modifier and Type | Method and Description |
---|---|
T |
getB(T B,
boolean compact)
Returns the bidiagonal matrix.
|
T |
getU(T U,
boolean transpose,
boolean compact)
Returns the orthogonal U matrix.
|
T |
getV(T V,
boolean transpose,
boolean compact)
Returns the orthogonal V matrix.
|
decompose, inputModified
T getB(T B, boolean compact)
B
- If not null the results are stored here, if null a new matrix is created.T getU(T U, boolean transpose, boolean compact)
U
- If not null then the results will be stored here. Otherwise a new matrix will be created.