Interface BidiagonalDecomposition<T extends Matrix>
- All Superinterfaces:
DecompositionInterface<T>
- All Known Subinterfaces:
BidiagonalDecomposition_F32<T>
,BidiagonalDecomposition_F64<T>
- All Known Implementing Classes:
BidiagonalDecompositionRow_DDRM
,BidiagonalDecompositionRow_FDRM
,BidiagonalDecompositionRow_MT_DDRM
,BidiagonalDecompositionRow_MT_FDRM
,BidiagonalDecompositionTall_DDRM
,BidiagonalDecompositionTall_FDRM
,BidiagonalDecompositionTall_MT_DDRM
,BidiagonalDecompositionTall_MT_FDRM
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
Methods inherited from interface org.ejml.interfaces.decomposition.DecompositionInterface
decompose, inputModified
-
Method Details
-
getB
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
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.
-
getV
Returns the orthogonal V matrix.- Parameters:
V
- If not null then the results will be stored here. Otherwise a new matrix will be created.- Returns:
- The extracted Q matrix.
-