ph-math/src/main/java/com/helger/numbercruncher/matrix/InvertibleMatrix.java
public float determinant () throws MatrixException
  {
    decompose ();

    // Each row exchange during forward elimination flips the sign
    // of the determinant, so check for an odd number of exchanges.
    float determinant = ((m_nExchangeCount & 1) == 0) ? 1 : -1;

    // Form the product of the diagonal elements of matrix U.
    for (int i = 0; i < m_nRows; ++i)
    {
      final int pi = m_aPermutation[i]; // permuted index
      determinant *= m_aLU.at (pi, i);
    }

    return determinant;
  }
public float determinant () throws MatrixException
  {
    decompose ();

    // Each row exchange during forward elimination flips the sign
    // of the determinant, so check for an odd number of exchanges.
    float determinant = ((m_nExchangeCount & 1) == 0) ? 1 : -1;

    // Form the product of the diagonal elements of matrix U.
    for (int i = 0; i < m_nRows; ++i)
    {
      final int pi = m_aPermutation[i]; // permuted index
      determinant *= m_aLU.at (pi, i);
    }

    return determinant;
  }
Compute the determinant.

@return the determinant
@throws MatrixException
if an error occurred