Det() calculates the determinant of a
square matrix. It uses pivoting to move small pivots to the
right as they are encountered. It uses Gaussian elimination to
convert the matrix to an upper triangular matrix. The
determinant is the product of the diagonal elements.