/* This software was developed by Bruce Hendrickson and Robert Leland *
* at Sandia National Laboratories under US Department of Energy *
* contract DE-AC04-76DP00789 and is copyrighted by Sandia Corporation. */
double determinant(M, ndims)
double M[3][3];
int ndims;
{
if (ndims == 1)
return (M[0][0]);
else if (ndims == 2) {
return (M[0][0] * M[1][1] - M[0][1] * M[1][0]);
}
else if (ndims == 3) {
return (M[0][0] * (M[1][1] * M[2][2] - M[2][1] * M[1][2])
- M[1][0] * (M[0][1] * M[2][2] - M[2][1] * M[0][2])
+ M[2][0] * (M[0][1] * M[1][2] - M[1][1] * M[0][2]));
}
else
return (0.0);
}
syntax highlighted by Code2HTML, v. 0.9.1