public class BiDiagonalizationByHouseholder extends Object implements BiDiagonalization
| Constructor and Description |
|---|
BiDiagonalizationByHouseholder(Matrix A)
Runs the Householder bi-diagonalization for a tall matrix.
|
| 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 * ...
|
public BiDiagonalizationByHouseholder(Matrix A)
A - a tall matrixIllegalArgumentException - if A is not tallpublic BidiagonalMatrix B()
U.t().multiply(A).multiply(V).
The dimension of B is n x n.B in interface BiDiagonalizationpublic Matrix U()
k = A.nCols() (or
k = A.nCols() - 1 for square A).
The dimension of U is m x m.
To compute U,
instead of explicitly doing this multiplication, this implementation improves the performance
by applying Ui's repeatedly on an identity matrix.
We take the transpose afterward.U in interface BiDiagonalizationpublic Matrix V()
k = A.nCols() - 2.
The dimension of V is n x n.
To compute V,
instead of explicitly doing this multiplication, this implementation improves the performance
by applying Vi's repeatedly on an identity matrix.
We take the transpose afterward.V in interface BiDiagonalizationCopyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.