Linear Algebra and the C Language/a0i1
Install and compile this file in your working directory.
/* ------------------------------------ */
/* Save as : c00b.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A = rskewsymmetric_mR( i_mR(r,r), 9);
clrscrn();
printf(" If Rn is odd det_R(A) = 0\n\n"
" A[R%d,C%d] : \n",rsize_R(A),csize_R(A));
p_mR(A, S7,P3,C6);
printf(" det_R(A) = %+.4f\n",det_R(A));
f_mR(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R2);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
If the number of rows is odd the determinant is zero
Screen output example:
If Rn is odd det_R(A) = 0
A[R4,C4] :
+0.000 +1.000 +4.000 +3.000
-1.000 +0.000 -8.000 +8.000
-4.000 +8.000 +0.000 -6.000
-3.000 -8.000 +6.000 +0.000
det_R(A) = +3844.0000
Press return to continue
Press X return to stop
If Rn is odd det_R(A) = 0
A[R5,C5] :
+0.000 +2.000 +3.000 +8.000 -1.000
-2.000 +0.000 +9.000 -3.000 +2.000
-3.000 -9.000 +0.000 -2.000 +2.000
-8.000 +3.000 +2.000 +0.000 +7.000
+1.000 -2.000 -2.000 -7.000 +0.000
det_R(A) = +0.0000
Press return to continue
Press X return to stop