public class BiDiagonalization
extends java.lang.Object
implements java.io.Serializable
| Constructor and Description |
|---|
BiDiagonalization(Matrix A)
Run the Householder bi-diagonalization for a tall matrix.
|
| Modifier and Type | Method and Description |
|---|---|
BidiagonalMatrix |
B()
Get B, which is the square upper part of
U.t().multiply(A).multiply(V). |
Matrix |
U()
Get U, where
U' = Uk * ...
|
Matrix |
V()
Get V, where
V' = Vk * ...
|
public BiDiagonalization(Matrix A)
A - a tall matrixjava.lang.IllegalArgumentException - if A is not tallpublic Matrix U()
k = A.nCols().
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.public 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.public BidiagonalMatrix B()
U.t().multiply(A).multiply(V).
The dimension of B is n x n.