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^{'} = U_{k} \cdot \ldots \cdot U_{1}\),
k = A.nCols() (or
k = A.nCols() - 1 for square A). |
Matrix |
V()
Gets V, where
\(V^{'} = V_{k} \cdot \ldots \cdot V_{1}\),
k = A.nCols() - 2. |
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 \(U_{i}\)'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 \(V_{i}\)'s repeatedly on an identity matrix.
We take the transpose afterward.V in interface BiDiagonalizationCopyright © 2010-2026 NM Group. All Rights Reserved.