Linear Algebra and the C Language/a0gc
Install and compile this file in your working directory.
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void AplsB(int r)
{
double **A = i_mR(r,r);
double **B = i_mR(r,r);
double **C = i_mR(r,r);
double **T = i_mR(r,r);
double **AB = i_mR(r,r);
double **BA = i_mR(r,r);
r_commute3_mR(A,B,C,9);
clrscrn();
printf(" A:");
p_mR(A, S5,P3,C6);
printf(" B:");
p_mR(B, S5,P3,C6);
printf(" C:");
p_mR(C, S5,P3,C6);
stop();
clrscrn();
printf(" AB:");
p_mR(mul_mR(A,B,AB), S5,P9,C6);
printf(" BA:");
p_mR(mul_mR(B,A,BA), S5,P9,C6);
stop();
clrscrn();
printf(" AC:");
p_mR(mul_mR(A,C,AB), S5,P9,C6);
printf(" CA:");
p_mR(mul_mR(C,A,BA), S5,P9,C6);
stop();
clrscrn();
printf(" BC:");
p_mR(mul_mR(B,C,AB), S5,P9,C6);
printf(" CB:");
p_mR(mul_mR(C,B,BA), S5,P9,C6);
f_mR(A);
f_mR(B);
f_mR(C);
f_mR(AB);
f_mR(BA);
f_mR(T);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
AplsB(RC3);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Three commutative matrices:
Screen output example:
A:
+0.111 -0.904 -0.196
-0.479 -0.003 -0.507
-0.565 -0.974 +0.549
B:
+0.548 -0.154 -0.540
-0.385 -0.060 +0.300
-0.154 +0.034 -0.026
C:
+0.011 -0.008 -0.010
-0.009 +0.001 +0.001
-0.006 -0.006 +0.006
Press return to continue.
AB:
+0.439672072 +0.030252125 -0.325972538
-0.183482673 +0.056768556 +0.270665775
-0.019102730 +0.164191338 -0.001136950
BA:
+0.439672072 +0.030252125 -0.325972538
-0.183482673 +0.056768556 +0.270665775
-0.019102730 +0.164191338 -0.001136950
Press return to continue.
AC:
+0.010760400 -0.000916121 -0.003206424
-0.002290303 +0.007146811 +0.001781346
-0.000916121 +0.000203582 +0.007350394
CA:
+0.010760400 -0.000916121 -0.003206424
-0.002290303 +0.007146811 +0.001781346
-0.000916121 +0.000203582 +0.007350394
Press return to continue.
BC:
+0.010997165 -0.001576084 -0.008444885
-0.005697364 +0.001374547 +0.005299014
-0.001910780 +0.001509281 +0.001377696
CB:
+0.010997165 -0.001576084 -0.008444885
-0.005697364 +0.001374547 +0.005299014
-0.001910780 +0.001509281 +0.001377696
Press return to continue
Press X return to stop