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