Exemple de sortie écran :
 A[0] : det = -47975.0000 
 +53.00 -3.00 -17.00 
 -3.00 +24.00 -47.00 
 -17.00 -47.00 +64.00 
 A[1] : det = -47975.0000 
 +16.23 -25.21 -22.07 
 -209.38 -99.20 -118.16 
 +275.75 +195.33 +223.98 
 A[2] : det = -47975.0000 
 -1283.66 +1415.04 -356.11 
 -840.02 +936.67 -227.70 
 +1596.96 -1677.57 +487.99 
 A[3] : det = -47975.0000 
 +84.67 -325.25 -156.78 
 -109.81 +1458.30 +669.59 
 +251.72 -3046.14 -1401.97 
 Press return to continue
 Press X return to stop

Mathc matrices/a89
Trace ... ... Determinant ... ... Matrices semblables.
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(void)
double **A[TAB];
double **P[TAB];
double **InvP[TAB];
double **T = i_mR(RCA,RCA);
int c;
 for(c=C0; c<TAB; c++)
 A[c] = i_mR(RCA,RCA); 
 P[c] = r_mR(i_mR(RCA,RCA),99); 
 InvP[c] = inv_mR(P[c],i_mR(RCA,RCA)); 
 rsymmetric_mR(A[0],99);
 for(c=C0; c<(TAB-C1); c++)
 mul_mR(InvP[c],A[c],T); 
 mul_mR(T,P[c],A[c+C1]);

clrscrn();
 for(c=C0; c<TAB; c++)
 printf(" A[%d] : \t\t\t trace = %+.4f ",c,trace_R(A[c])); 
 p_mR(A[c],S9,P2,C6); 
 for(c=C0; c<TAB; c++)
 f_mR(A[c]);
 f_mR(P[c]); 
 f_mR(InvP[c]);

Exemple de sortie écran :
 A[0] : trace = +7.0000 
 -58.00 -9.00 -78.00 
 -9.00 +78.00 +74.00 
 -78.00 +74.00 -13.00 
 A[1] : trace = +7.0000 
 +92.03 +70.31 -22.98 
 +90.61 -29.27 +50.45 
 -84.91 +37.85 -55.76 
 A[2] : trace = +7.0000 
 +61.76 -103.32 +130.80 
 -61.35 +102.40 -132.76 
 -15.76 +55.18 -157.16 
 A[3] : trace = +7.0000 
 +211.20 +361.85 -230.24 
 +60.72 -88.06 -46.65 
 +77.66 +440.79 -116.14 
 Press return to continue
 Press X return to stop

Mathc matrices/a90
Propriétés
Soit A1, A2, ... un ensemble de Matrices semblables.
Quelques propriétés :

Mathc matrices/a91
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(void)
double **A[TAB];
double **P[TAB];
double **InvP[TAB];
double **T = i_mR(RCA,RCA);
double **EigsValue = i_mR(RCA,C1);
int c;
 for(c=C0; c<TAB; c++)
 A[c] = i_mR(RCA,RCA); 
 P[c] = r_mR(i_mR(RCA,RCA),999); 
 InvP[c] = inv_mR(P[c],i_mR(RCA,RCA)); 
 rsymmetric_mR(A[0],99);
 for(c=C0; c<(TAB-C1); c++)
 mul_mR(InvP[c],A[c],T); 
 mul_mR(T,P[c],A[c+C1]);
 clrscrn();
 for(c=C0; c<TAB; c++)
 printf(" A[%d] : ",c); 
 p_mR(A[c],S9,P2,C6);
 printf(" EigsValue of A[%d] : ",c); 
 eigs_value_uv_mR(A[c],EigsValue); 
 p_mR(EigsValue,S9,P2,C6); 
 stop();
 for(c=C0; c<TAB; c++)
 f_mR(A[c]);
 f_mR(P[c]); 
 f_mR(InvP[c]);

f_mR(T); 
 f_mR(EigsValue); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do{
 fun();
 }while(stop_w());
 return 0;
/* ------------------------------------ */
Je crée une suite de quatre Matrices semblables.

Exemple de sortie écran :
 A[0] : 
 -17.00 +3.00 +51.00 
 +3.00 +48.00 +86.00 
 +51.00 +86.00 +47.00 
 EigsValue of A[0] : 
 +142.95 
 -66.17 
 +1.22 
 Press return to continue. 
 A[1] : 
 -47.50 -108.52 +135.86 
 -35.99 -95.63 +63.83 
 -78.10 -172.95 +221.14 
 EigsValue of A[1] : 
 +142.95 
 -66.17 
 +1.22 
 Press return to continue. 
 A[2] : 
 -901.12 -1512.56 -1068.96 
 +225.86 +389.05 +268.46 
 +495.55 +849.22 +590.07 
 EigsValue of A[2] : 
 +142.95 
 -66.17 
 +1.22 
 Press return to continue. 
 A[3] : 
 +2675.53 +2494.45 +5815.56 
 -1963.25 -1833.19 -4264.38 
 -353.24 -331.18 -764.34 
 EigsValue of A[3] : 
 +142.95 
 -66.17 
 +1.22 
 Press return to continue
 Press X return to stop

Mathc complexes/a171
Application
Soit A1, A2, ... un ensemble de Matrices semblables.
Quelques propriétés :

Mathc complexes/a172
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
void fun(void)
double **A[TAB];
double **P[TAB];
double **InvP[TAB];
double **T = i_mZ(RCA,RCA);
int c;
 for(c=C0; c<TAB; c++)
 A[c] = i_mZ(RCA,RCA); 
 P[c] = r_mZ(i_mZ(RCA,RCA),99); 
 InvP[c] = inv_mZ(P[c],i_mZ(RCA,RCA)); 
 rcsymmetric_mZ(A[0],99);
 for(c=C0; c<(TAB-C1); c++)
 mul_mZ(InvP[c],A[c],T); 
 mul_mZ(T,P[c],A[c+C1]);
 clrscrn();
 for(c=C0; c<TAB; c++)
 printf(" A[%d] : \t\t\t det = ",c);
 p_Z(det_Z(A[c]), S4,P2, S5,P2); 
 p_mZ(A[c],S10,P2,S10,P2,C6); 
 for(c=C0; c<TAB; c++)
 f_mZ(A[c]);
 f_mZ(P[c]); 
 f_mZ(InvP[c]);

f_mZ(T); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do{
 fun();
 }while(stop_w());
 return 0;
/* ------------------------------------ */
Je crée une suite de quatre Matrices semblables. 
Exemple de sortie écran :
 A[0] : det = +2008178808073.00-0.00i 
 +25381.00 +0.00i +1329.00 -233.00i -11981.00 -2329.00i 
 +1329.00 +233.00i +8160.00 +0.00i -5113.00 -4290.00i 
 -11981.00 +2329.00i -5113.00 +4290.00i +20199.00 +0.00i 
 A[1] : det = +2008178808073.00-0.00i 
 +44414.31 +1277.23i +747.00 +3978.68i +22780.44 -14814.98i 
 +20519.40 +3026.18i +13262.19 +8.88i +17291.43 -10637.07i 
 -7961.31 -15079.35i +1123.23 +5303.62i -3936.50 -1286.11i 
 A[2] : det = +2008178808072.98-0.00i 
 +2081.46 +17072.73i +18615.79 +1511.54i -14080.98 +8706.07i 
 -12544.86+107681.12i +75209.43 -39393.21i -10263.09 +50499.01i 
 -59430.88 +49984.20i +55716.94 +12194.14i -23550.89 +22320.48i 
 A[3] : det = +2008178808073.00-0.01i 
 -1774.77 +11102.99i +9498.30 +9437.72i -5296.89 -23049.14i 
 +1401.00 -33144.16i -17005.94 -5981.87i +29042.73 +35419.18i 
 -28941.68 -31039.30i -27489.08 +25242.27i +72520.71 -5121.12i 
 Press return to continue
 Press X return to stop

Mathc complexes/a173
Application
Installer et compiler ce fichier dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c00a.c */
void fun(void)
double **A[TAB];
double **P[TAB];
double **InvP[TAB];
double **T = i_mZ(RCA,RCA);
int c;
 for(c=C0; c<TAB; c++)
 A[c] = i_mZ(RCA,RCA); 
 P[c] = r_mZ(i_mZ(RCA,RCA),99); 
 InvP[c] = inv_mZ(P[c],i_mZ(RCA,RCA)); 
 rcsymmetric_mZ(A[0],99);
 for(c=C0; c<(TAB-C1); c++)
 mul_mZ(InvP[c],A[c],T); 
 mul_mZ(T,P[c],A[c+C1]);

clrscrn();
 for(c=C0; c<TAB; c++)
 printf(" A[%d] : \t\t\t trace = ",c);
 p_Z(trace_Z(A[c]), S4,P2, S5,P2); 
 p_mZ(A[c],S10,P2,S10,P2,C6); 
 for(c=C0; c<TAB; c++)
 f_mZ(A[c]);
 f_mZ(P[c]); 
 f_mZ(InvP[c]);

f_mZ(T); 
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
 do{
 fun();
 }while(stop_w());
 return 0;
/* ------------------------------------ */
Je crée une suite de quatre Matrices semblables. 
Exemple de sortie écran :
 A[0] : trace = +57994.00+0.00i 
 +27792.00 +0.00i +14500.00 +8039.00i +5829.00 -14071.00i 
 +14500.00 -8039.00i +16373.00 +0.00i -1679.00 -14601.00i 
 +5829.00 +14071.00i -1679.00 +14601.00i +13829.00 +0.00i 
 A[1] : trace = +57994.00-0.00i 
 +6862.26 -502.49i +521.25 -6664.52i -2170.30 +4890.93i 
 +6403.62 -1510.00i +29945.57 -9630.23i -21500.89 +9798.72i 
 -4771.84 -41.84i -25833.28 -18464.47i +21186.18 +10132.73i 
 A[2] : trace = +57994.00-0.00i 
 +31030.22 +2855.18i -9408.28 +7511.29i +6449.29 -606.61i 
 -18342.41 -29458.93i +16716.79 +11867.93i -14750.10 -6004.83i 
 +30408.35 -20172.71i -12708.87 +13781.23i +10246.99 -14723.11i 
 A[3] : trace = +57994.00-0.00i 
 +28015.54 -11626.43i -436.78 -3061.76i +26359.22 -20539.27i 
 +27346.44 -18421.05i +797.77 -4534.00i +33611.17 -20597.62i 
 +16270.25 +15283.62i +2964.96 -2206.61i +29180.69 +16160.42i 
 Press return to continue
 Press X return to stop