Class PositiveSemiDefiniteMatrixNonNegativeDiagonal
- java.lang.Object
-
- dev.nm.algebra.linear.matrix.doubles.matrixtype.dense.DenseMatrix
-
- dev.nm.algebra.linear.matrix.doubles.operation.positivedefinite.PositiveDefiniteMatrixByPositiveDiagonal
-
- dev.nm.algebra.linear.matrix.doubles.operation.positivedefinite.PositiveSemiDefiniteMatrixNonNegativeDiagonal
-
- All Implemented Interfaces:
Matrix
,MatrixAccess
,MatrixRing
,MatrixTable
,Densifiable
,AbelianGroup<Matrix>
,Monoid<Matrix>
,Ring<Matrix>
,Table
,DeepCopyable
public class PositiveSemiDefiniteMatrixNonNegativeDiagonal extends PositiveDefiniteMatrixByPositiveDiagonal
This class "converts" a matrix into a symmetric, positive semi-definite matrix, if it is not already so, by forcing the negative diagonal entries in the eigen decomposition to 0.
-
-
Constructor Summary
Constructors Constructor Description PositiveSemiDefiniteMatrixNonNegativeDiagonal(Matrix A, double epsilon)
Constructs a positive semi-definite matrix by forcing the negative diagonal entries in the eigen decomposition to 0.
-
Method Summary
-
Methods inherited from class dev.nm.algebra.linear.matrix.doubles.matrixtype.dense.DenseMatrix
add, deepCopy, equals, get, getColumn, getColumn, getRow, getRow, hashCode, minus, multiply, multiply, nCols, nRows, ONE, opposite, scaled, set, setColumn, setRow, t, toDense, toString, ZERO
-
-
-
-
Constructor Detail
-
PositiveSemiDefiniteMatrixNonNegativeDiagonal
public PositiveSemiDefiniteMatrixNonNegativeDiagonal(Matrix A, double epsilon)
Constructs a positive semi-definite matrix by forcing the negative diagonal entries in the eigen decomposition to 0.- Parameters:
A
- a matrixepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0; used in the eigen decomposition (don't make it 0)
-
-