public class BidiagonalDecompositionRow_DDRM
extends java.lang.Object
implements org.ejml.interfaces.decomposition.BidiagonalDecomposition_F64<org.ejml.data.DMatrixRMaj>
Performs a BidiagonalDecomposition_F64
using
householder reflectors. This is efficient on wide or square matrices.
Constructor and Description |
---|
BidiagonalDecompositionRow_DDRM() |
BidiagonalDecompositionRow_DDRM(int numElements)
Creates a decompose that defines the specified amount of memory.
|
Modifier and Type | Method and Description |
---|---|
protected void |
computeU(int k) |
protected void |
computeV(int k) |
boolean |
decompose(org.ejml.data.DMatrixRMaj A)
Computes the decomposition of the provided matrix.
|
org.ejml.data.DMatrixRMaj |
getB(org.ejml.data.DMatrixRMaj B,
boolean compact)
Returns the bidiagonal matrix.
|
void |
getDiagonal(double[] diag,
double[] off) |
double[] |
getGammasU()
Returns gammas from the householder operations for the U matrix.
|
double[] |
getGammasV()
Returns gammas from the householder operations for the V matrix.
|
org.ejml.data.DMatrixRMaj |
getU(org.ejml.data.DMatrixRMaj U,
boolean transpose,
boolean compact)
Returns the orthogonal U matrix.
|
org.ejml.data.DMatrixRMaj |
getUBV()
The raw UBV matrix that is stored internally.
|
org.ejml.data.DMatrixRMaj |
getV(org.ejml.data.DMatrixRMaj V,
boolean transpose,
boolean compact)
Returns the orthogonal V matrix.
|
static org.ejml.data.DMatrixRMaj |
handleB(org.ejml.data.DMatrixRMaj B,
boolean compact,
int m,
int n,
int min) |
static org.ejml.data.DMatrixRMaj |
handleU(org.ejml.data.DMatrixRMaj U,
boolean transpose,
boolean compact,
int m,
int n,
int min) |
static org.ejml.data.DMatrixRMaj |
handleV(org.ejml.data.DMatrixRMaj V,
boolean transpose,
boolean compact,
int m,
int n,
int min) |
protected void |
init(org.ejml.data.DMatrixRMaj A)
Sets up internal data structures and creates a copy of the input matrix.
|
boolean |
inputModified() |
public BidiagonalDecompositionRow_DDRM(int numElements)
numElements
- number of elements in the matrix.public BidiagonalDecompositionRow_DDRM()
public boolean decompose(org.ejml.data.DMatrixRMaj A)
decompose
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
A
- The matrix that is being decomposed. Not modified.protected void init(org.ejml.data.DMatrixRMaj A)
A
- The input matrix. Not modified.public org.ejml.data.DMatrixRMaj getUBV()
public void getDiagonal(double[] diag, double[] off)
getDiagonal
in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition_F64<org.ejml.data.DMatrixRMaj>
public org.ejml.data.DMatrixRMaj getB(org.ejml.data.DMatrixRMaj B, boolean compact)
getB
in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.DMatrixRMaj>
B
- If not null the results are stored here, if null a new matrix is created.public static org.ejml.data.DMatrixRMaj handleB(org.ejml.data.DMatrixRMaj B, boolean compact, int m, int n, int min)
public org.ejml.data.DMatrixRMaj getU(org.ejml.data.DMatrixRMaj U, boolean transpose, boolean compact)
getU
in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.DMatrixRMaj>
U
- If not null then the results will be stored here. Otherwise a new matrix will be created.public static org.ejml.data.DMatrixRMaj handleU(org.ejml.data.DMatrixRMaj U, boolean transpose, boolean compact, int m, int n, int min)
public org.ejml.data.DMatrixRMaj getV(org.ejml.data.DMatrixRMaj V, boolean transpose, boolean compact)
getV
in interface org.ejml.interfaces.decomposition.BidiagonalDecomposition<org.ejml.data.DMatrixRMaj>
V
- If not null then the results will be stored here. Otherwise a new matrix will be created.public static org.ejml.data.DMatrixRMaj handleV(org.ejml.data.DMatrixRMaj V, boolean transpose, boolean compact, int m, int n, int min)
protected void computeU(int k)
protected void computeV(int k)
public double[] getGammasU()
public double[] getGammasV()
public boolean inputModified()
inputModified
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>