# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.algebra.linear.matrix.doubles.factorization.diagonalization

## Interface BiDiagonalization

• All Known Implementing Classes:
BiDiagonalizationByGolubKahanLanczos, BiDiagonalizationByHouseholder

public interface BiDiagonalization
Given a tall (m x n) matrix A, where m ≥ n, find orthogonal matrices U and V such that U' * A * V = B. B is an upper bi-diagonal matrix. That is, $U'AV = \begin{bmatrix} d_1 & f_1 & ... & & & \\ 0 & d_2 & f_2 & ... & & \\ 0 & ... & & & & \\ ... & & & & d_{n-1} & f_{n-1} \\ ... & & & & & d_n \\ 0 & ... & & & & 0 \\ & ... & & & & ... \\ 0 & ... & & & & 0 \end{bmatrix}$
• ### Method Summary

All Methods
Modifier and Type Method and Description
BidiagonalMatrix B()
Gets B, which is the square upper part of U.t().multiply(A).multiply(V).
Matrix U()
Gets U, where U' = Uk * ...
Matrix V()
Gets V, where V' = Vk * ...
• ### Method Detail

• #### B

BidiagonalMatrix B()
Gets B, which is the square upper part of U.t().multiply(A).multiply(V). The dimension of B is n x n.
Returns:
B
• #### U

Matrix U()
Gets U, where U' = Uk * ... * U1, k = A.nCols(). The dimension of U is m x m.
Returns:
U
• #### V

Matrix V()
Gets V, where V' = Vk * ... * V1, k = A.nCols() - 2. The dimension of V is n x n.
Returns:
V