Mathc complexes/03s
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RCA RC3
#define CX C1
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double a[RCA*(RCA*C2)]={
+3,1, -4,1, -2,1,
+5,2, -3,2, -0,2,
+6,3, -0,3, -3,3
};
double x_B[RCA*(CX*C2)]={
+1,+1,
+2,+2,
+3,+3
};
double b[RCA*(RCA*C2)]={
+1,+2, +2,+5, +6,+2,
+3,+3, +2,+4, +1,+3,
+5,+4, +5,+3, +3,+4,
};
double **A = ca_A_mZ(a, i_mZ(RCA,RCA));
double **B = ca_A_mZ(b, i_mZ(RCA,RCA));
double **X_B = ca_A_mZ(x_B, i_mZ(RCA,CX));
double **invB = inv_mZ(B, i_mZ(RCA,RCA));
double **invBA = i_mZ(RCA,RCA);
double **D = i_mZ(RCA,RCA);
double **DX_B = i_mZ(RCA,CX);
clrscrn();
printf(" In the B basis\n\n"
" Find the linear application [T(x_B)]_B = D*x_B \n\n"
" D = InvB A B ");
mul_mZ(invB,A,invBA);
mul_mZ(invBA,B,D);
p_mZ(D, S10,P2, S8,P2, C4);
printf(" x_B : ");
p_mZ(X_B, S10,P2, S8,P2, C4);
printf(" [T(x_B)]_B = D x_B");
p_mZ(mul_mZ(D,X_B,DX_B), S10,P2, S8,P2, C4);
stop();
f_mZ(A);
f_mZ(X_B);
f_mZ(B);
f_mZ(invB);
f_mZ(invBA);
f_mZ(D);
f_mZ(DX_B);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Calculons [T(x)]_B = D* [x]_B en base B.
Exemple de sortie écran :
In the B basis
Find the linear application [T(x_B)]_B = D*x_B
D = InvB A B
-0.35 +10.10i +3.36 +13.60i +6.74 +8.11i
+1.03 -1.38i -0.87 -3.77i -2.19 -4.57i
-3.30 -1.70i -2.91 -0.10i -1.78 -0.33i
x_B :
+1.00 +1.00i
+2.00 +2.00i
+3.00 +3.00i
[T(x_B)]_B = D x_B
-35.06 +88.21i
+15.37 -29.92i
-11.59 -17.32i
Press return to continue.