public final class UDDecompositionImpl extends Object implements UDDecomposition
The UD-decomposition of matrix A is a set of three matrices: U, D and Ut such that A = U×D×Ut. U is a upper triangular matrix and D is an diagonal matrix.
See Flavien Mercier (DCT/SB/OR)Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
Default threshold below which diagonal elements are considered null and matrix not positive definite.
|
static double |
DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
Default threshold above which off-diagonal elements are considered too different and matrix not symmetric.
|
Constructor and Description |
---|
UDDecompositionImpl(RealMatrix matrix)
Compute the UD decomposition of the given matrix.
|
UDDecompositionImpl(RealMatrix inMatrix,
double relativeSymmetryThreshold,
double absolutePositivityThreshold)
Compute the UD decomposition of the given matrix.
|
Modifier and Type | Method and Description |
---|---|
RealMatrix |
getD()
get the D matrix
|
double |
getDeterminant()
get the determinant
|
DecompositionSolver |
getSolver()
Get a solver of the linear equation A × X = B for matrices A.
|
RealMatrix |
getU()
get the U matrix
|
RealMatrix |
getUT()
get the UT matrix
|
public static final double DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
public static final double DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
public UDDecompositionImpl(RealMatrix matrix)
Calling this constructor is equivalent to call UDDecompositionImpl(RealMatrix, double, double)
with the
thresholds set to the default values DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
and
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
matrix
- the matrix to decomposeUDDecompositionImpl(RealMatrix, double, double)
,
DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
,
DEFAULT_ABSOLUTE_POSITIVITY_THRESHOLD
public UDDecompositionImpl(RealMatrix inMatrix, double relativeSymmetryThreshold, double absolutePositivityThreshold)
inMatrix
- the matrix to decomposerelativeSymmetryThreshold
- threshold above which off-diagonal elements are considered too different and matrix not symmetricabsolutePositivityThreshold
- threshold below which diagonal elements are considered null and matrix not positive definite *DEFAULT_RELATIVE_SYMMETRY_THRESHOLD
,
*
public RealMatrix getU()
getU
in interface UDDecomposition
public RealMatrix getD()
getD
in interface UDDecomposition
public RealMatrix getUT()
getUT
in interface UDDecomposition
public double getDeterminant()
getDeterminant
in interface UDDecomposition
public DecompositionSolver getSolver()
UDDecomposition
getSolver
in interface UDDecomposition
UDDecomposition.getSolver()
Copyright © 2019 CNES. All rights reserved.