Interface BidiagonalDecomposition<T extends Matrix>
-
- All Superinterfaces:
DecompositionInterface<T>
- All Known Subinterfaces:
BidiagonalDecomposition_F32<T>,BidiagonalDecomposition_F64<T>
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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TgetB(T B, boolean compact)Returns the bidiagonal matrix.TgetU(T U, boolean transpose, boolean compact)Returns the orthogonal U matrix.TgetV(T V, boolean transpose, boolean compact)Returns the orthogonal V matrix.-
Methods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface
decompose, inputModified
-
-
-
-
Method Detail
-
getB
T getB(T B, boolean compact)
Returns the bidiagonal matrix.- Parameters:
B- If not null the results are stored here, if null a new matrix is created.- Returns:
- The bidiagonal matrix.
-
getU
T getU(T U, boolean transpose, boolean compact)
Returns the orthogonal U matrix.- Parameters:
U- If not null then the results will be stored here. Otherwise a new matrix will be created.- Returns:
- The extracted Q matrix.
-
-