public class BiDiagonalizationByGolubKahanLanczos extends Object implements BiDiagonalization
epsilon
is given for checking whether α or β equals to zero.Constructor and Description |
---|
BiDiagonalizationByGolubKahanLanczos(Matrix A)
Runs the Golub-Kahan-Lanczos bi-diagonalization for a tall matrix.
|
BiDiagonalizationByGolubKahanLanczos(Matrix A,
double epsilon,
RandomLongGenerator rlg)
Runs the Golub-Kahan-Lanczos bi-diagonalization for a tall matrix.
|
BiDiagonalizationByGolubKahanLanczos(Matrix A,
RandomLongGenerator rlg)
Runs the Golub-Kahan-Lanczos 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 BiDiagonalizationByGolubKahanLanczos(Matrix A)
A
- the tall matrixpublic BiDiagonalizationByGolubKahanLanczos(Matrix A, RandomLongGenerator rlg)
A
- the tall matrixrlg
- the random number generator for generation of the first column vector in Vpublic BiDiagonalizationByGolubKahanLanczos(Matrix A, double epsilon, RandomLongGenerator rlg)
A
- the tall matrixepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0rlg
- the random number generator for picking the first column vector in Vpublic BidiagonalMatrix B()
BiDiagonalization
U.t().multiply(A).multiply(V)
.
The dimension of B is n x n.B
in interface BiDiagonalization
public Matrix U()
BiDiagonalization
k = A.nCols()
.
The dimension of U is m x m.U
in interface BiDiagonalization
public Matrix V()
BiDiagonalization
k = A.nCols() - 2
.
The dimension of V is n x n.V
in interface BiDiagonalization
Copyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.