Mathc complexes/a136
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
|---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
void xr_commute3_mZ(
double **A,
double **B,
double **C,
int n
)
{
double **P;
double **Pinv;
double **D;
double **T;
double **Dt;
int r=rsize_Z(A);
P = i_mZ(r,r);
Pinv = i_mZ(r,r);
D = i_mZ(r,r);
T = i_mZ(r,r);
Dt = i_mZ(r,r);
r_mZ(P,n);
rdiag_mZ(D,n);
inv_mZ(P,Pinv);
mul_mZ(P,Diag_sin_mZ(D,Dt),T);
mul_mZ(T,Pinv,A);
mul_mZ(P,Diag_cos_mZ(D,Dt),T);
mul_mZ(T,Pinv,B);
mul_mZ(P,Diag_sinh_mZ(D,Dt),T);
mul_mZ(T,Pinv,C);
f_mZ(P);
f_mZ(Pinv);
f_mZ(D);
f_mZ(T);
f_mZ(Dt);
}
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r)
{
double **A = i_mZ(r,r);
double **B = i_mZ(r,r);
double **C = i_mZ(r,r);
double **T = i_mZ(r,r);
r_commute3_mZ(A,B,C,9);
clrscrn();
printf(" A : ");
p_mZ(A,S10,P3,S10,P3,C6);
printf(" B : ");
p_mZ(B,S10,P3,S10,P3,C6);
printf(" C : ");
p_mZ(C,S10,P3,S10,P3,C6);
stop();
clrscrn();
printf(" AB : ");
p_mZ(mul_mZ(A,B,T),S10,P5,S10,P5,C6);
printf(" BA : ");
p_mZ(mul_mZ(B,A,T),S10,P5,S10,P5,C6);
printf(" AC : ");
p_mZ(mul_mZ(A,C,T),S10,P5,S10,P5,C6);
printf(" CA : ");
p_mZ(mul_mZ(C,A,T),S10,P5,S10,P5,C6);
stop();
clrscrn();
printf(" BC : ");
p_mZ(mul_mZ(B,C,T),S10,P5,S10,P5,C6);
printf(" CB : ");
p_mZ(mul_mZ(C,B,T),S10,P5,S10,P5,C6);
f_mZ(A);
f_mZ(B);
f_mZ(C);
f_mZ(T);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(RC3);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
A :
+0.457 -0.504i -0.591 +0.002i +0.327 +0.870i
+0.086 -0.159i +0.694 -0.177i -0.369 +0.023i
+0.474 -0.798i -0.338 -0.610i -0.162 +0.681i
B :
+0.226 +0.353i +0.425 +0.146i -0.264 -0.494i
+0.273 -0.106i +0.577 -0.108i +0.069 +0.249i
-0.255 +0.247i +0.248 +0.038i +0.559 -0.245i
C :
+0.000 -0.006i -0.007 +0.003i +0.003 +0.013i
+0.009 -0.007i +0.015 -0.007i -0.009 +0.006i
+0.007 -0.016i -0.004 -0.016i -0.009 +0.013i
Press return to continue.
AB :
-0.17836 -0.03037i -0.02521 +0.14599i -0.01503 +0.16736i
+0.33488 -0.22461i +0.34879 -0.24045i -0.20984 +0.26309i
+0.10467 -0.35696i -0.00936 -0.42229i -0.31437 +0.27082i
BA :
-0.17836 -0.03037i -0.02521 +0.14599i -0.01503 +0.16736i
+0.33488 -0.22461i +0.34879 -0.24045i -0.20984 +0.26309i
+0.10467 -0.35696i -0.00936 -0.42229i -0.31437 +0.27082i
AC :
+0.00884 +0.00210i +0.00252 +0.00087i -0.00157 -0.00293i
+0.00162 -0.00063i +0.01093 -0.00064i +0.00041 +0.00148i
-0.00152 +0.00147i +0.00147 +0.00023i +0.01083 -0.00146i
CA :
+0.00884 +0.00210i +0.00252 +0.00087i -0.00157 -0.00293i
+0.00162 -0.00063i +0.01093 -0.00064i +0.00041 +0.00148i
-0.00152 +0.00147i +0.00147 +0.00023i +0.01083 -0.00146i
Press return to continue.
BC :
-0.00318 -0.00203i -0.00213 +0.00356i +0.00047 +0.00630i
+0.00838 -0.00588i +0.01027 -0.00631i -0.00606 +0.00647i
+0.00376 -0.01074i -0.00109 -0.01185i -0.00807 +0.00834i
CB :
-0.00318 -0.00203i -0.00213 +0.00356i +0.00047 +0.00630i
+0.00838 -0.00588i +0.01027 -0.00631i -0.00606 +0.00647i
+0.00376 -0.01074i -0.00109 -0.01185i -0.00807 +0.00834i
Press return to continue
Press X return to stop