Mathc complexes/a175
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
c00e.c |
|---|
/* ------------------------------------ */
/* Save as : c00e.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define ARRAY C2
#define RCA R3
/* ------------------------------------ */
void fun(void)
{
double **A[ARRAY];
double **InvA[ARRAY];
double **P = r_mZ( i_mZ(RCA,RCA),99);
double **InvP = inv_mZ(P,i_mZ(RCA,RCA) );
double **T = i_mZ(RCA,RCA);
double **P_1_InvA0_P = i_mZ(RCA,RCA);
int c;
for(c=A0; c<ARRAY; c++)
{
A[c] = i_mZ(RCA,RCA);
InvA[c] = i_mZ(RCA,RCA);
}
r_mZ(A[A0],99);
mul_mZ(InvP,A[A0],T);
mul_mZ(T,P,A[A0+A1]);
clrscrn();
printf(" The two similar matrices :\n\n"
" A[%d] = InvP A[%d] P \n\n",A1,A0);
for(c=A0; c<ARRAY; c++)
{
printf(" A[%d] : ",c);
p_mZ(A[c],S12,P4,S12,P4,C6);
}
stop();
clrscrn();
printf(" The inverse of the two similar matrices : \n\n");
for(c=A0; c<ARRAY; c++)
{
printf(" InvA[%d] : ",c
);
pE_mZ(inv_mZ(A[c],InvA[c]),S12,P4,S11,P4,C6);
}
stop();
clrscrn();
mul_mZ(InvP,InvA[A0],T);
mul_mZ(T,P,P_1_InvA0_P);
printf(" InvA[%d] = InvP InvA[%d] P (A[1] = InvP A[0] P)\n\n",
A1,A0);
printf(" InvA[%d] : ",A1);
pE_mZ(InvA[1],S12,P4,S11,P4,C6);
printf(" InvP InvA[%d] P : ",A0);
pE_mZ(P_1_InvA0_P,S12,P4,S11,P4,C6);
for(c=A0; c<ARRAY; c++)
{
f_mZ(A[c]);
f_mZ(InvA[c]);
}
f_mZ(P);
f_mZ(InvP);
f_mZ(T);
f_mZ(P_1_InvA0_P);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do{
fun();
}while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Si A[1] = InvP A[0] P ... alors ... InvA[1] = InvP InvA[0] P
Exemple de sortie écran :
The two similar matrices :
A[1] = InvP A[0] P
A[0] :
-88.0000 +36.0000i -78.0000 -12.0000i +21.0000 +17.0000i
+8.0000 +85.0000i +42.0000 +76.0000i +51.0000 +26.0000i
+98.0000 -76.0000i -56.0000 +75.0000i -87.0000 -2.0000i
A[1] :
+29.3749 +142.5389i -177.0063 -606.7219i -327.8084 -280.7610i
+148.2414 -144.6806i -209.4131 +466.8237i +39.7959 +418.8332i
-75.1317 +96.3394i +508.7957 -635.9898i +47.0382 -499.3626i
Press return to continue.
The inverse of the two similar matrices :
InvA[0] :
+3.3501e-03+1.6641e-02i +1.6448e-02-4.7116e-03i +8.7594e-03+6.6236e-03i
-1.6875e-02-5.9677e-03i -5.7674e-03+8.0026e-03i -8.7157e-03-1.5699e-03i
+3.4416e-02+4.3216e-03i +1.0535e-02-3.0041e-02i +1.0963e-02-6.9458e-03i
InvA[1] :
+1.4868e-01+6.7654e-02i +5.5874e-02-3.1234e-02i -8.0195e-02+3.6468e-02i
-7.1333e-02-7.9290e-02i -3.8038e-02+8.5581e-03i +6.1143e-02+2.2031e-03i
+4.7838e-02+2.0458e-01i +7.4828e-02+2.3189e-02i -1.0210e-01-5.8514e-02i
Press return to continue.
InvA[1] = InvP InvA[0] P (A[1] = InvP A[0] P)
InvA[1] :
+1.4868e-01+6.7654e-02i +5.5874e-02-3.1234e-02i -8.0195e-02+3.6468e-02i
-7.1333e-02-7.9290e-02i -3.8038e-02+8.5581e-03i +6.1143e-02+2.2031e-03i
+4.7838e-02+2.0458e-01i +7.4828e-02+2.3189e-02i -1.0210e-01-5.8514e-02i
InvP InvA[0] P :
+1.4868e-01+6.7654e-02i +5.5874e-02-3.1234e-02i -8.0195e-02+3.6468e-02i
-7.1333e-02-7.9290e-02i -3.8038e-02+8.5581e-03i +6.1143e-02+2.2031e-03i
+4.7838e-02+2.0458e-01i +7.4828e-02+2.3189e-02i -1.0210e-01-5.8514e-02i
Press return to continue
Press X return to stop