int main() {
array double a[2][2] = {2, 4,
3, 7};
/* a2 is an ill-detition matrix */
array double a2[2][2] = {2, 4,
2.001, 4.0001};
/* a3 is singular */
array double a3[2][2] = {2, 4,
4, 8};
array float b[2][2] = {2, 4,
3, 7};
array double c[3][3] = {-1,5,6,
3,-6,1,
6,8, 9} ; /* n-by-n matrix */
array double d[3][3] = {2,1,-2,
4,-1,2,
2,-1,1} ; /* n-by-n matrix */
double det;
det = determinant(a);
printf("determinant(a) = %g\n", det);
det = determinant(a2);
printf("determinant(a2) = %g\n", det);
det = determinant(a3);
printf("determinant(a3) = %g\n", det);
det = determinant(b);
printf("determinant(b) = %g\n", det);
det = determinant(c);
printf("determinant(c) = %g\n", det);
det = determinant(d);
printf("determinant(d) = %g\n", det);
}
determinant(a) = 2
determinant(a2) = -0.0038
determinant(a3) = -0
determinant(b) = 2
determinant(c) = 317
determinant(d) = 6