public class NaiveDeterminant
extends java.lang.Object
Constructor and Description |
---|
NaiveDeterminant() |
Modifier and Type | Method and Description |
---|---|
static double |
leibniz(org.ejml.data.DMatrixRMaj mat)
Computes the determinant of the matrix using Leibniz's formula
|
static double |
recursive(org.ejml.data.DMatrixRMaj mat)
A simple and inefficient algorithm for computing the determinant.
|
static float |
recursive(org.ejml.data.FMatrixRMaj mat) |
public static double leibniz(org.ejml.data.DMatrixRMaj mat)
Computes the determinant of the matrix using Leibniz's formula
A direct implementation of Leibniz determinant equation. This is of little practical use because of its slow runtime of O(n!) where n is the width of the matrix. LU decomposition should be used instead. One advantage of Leibniz's equation is how simplistic it is.
det(A) = Sum( σ in Sn ; sgn(σ) Prod( i = 1 to n ; ai,σ(i)) )
mat
- The matrix whose determinant is computed.public static double recursive(org.ejml.data.DMatrixRMaj mat)
A simple and inefficient algorithm for computing the determinant. This should never be used.
It is at least two orders of magnitude slower than DeterminantFromMinor_DDRM
. This is included
to provide a point of comparison for other algorithms.
mat
- The matrix that the determinant is to be computed frompublic static float recursive(org.ejml.data.FMatrixRMaj mat)