public double Det() { if (m != n) { throw new MatrixError("Matrix must be square."); } double d = pivsign; for (int j = 0; j < n; j++) { d *= LU[j][j]; } return d; }