Aller au contenu

Mathc complexes/08o

Un livre de Wikilivres.


Application

Installer et compiler ce fichier dans votre répertoire de travail.

c00b.c
/* ------------------------------------ */
/*  Save as :  c00b.c                   */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define  ARRAY  A7 
#define  RCA    R4  
/* ------------------------------------ */
void fun(void)
{
double **A[ARRAY];
double **P[ARRAY];
double **InvP[ARRAY];

double **T = i_mZ(RCA,RCA);
int c;

  for(c=A0; c<ARRAY; c++)
     {   
         A[c] =              i_mZ(RCA,RCA); 
         P[c] =   r_mZ(      i_mZ(RCA,RCA),9); 
      InvP[c] = inv_mZ(P[c], i_mZ(RCA,RCA));       
	   } 

  rcsymmetric_mZ(A[A0],9);
  
    for(c=A0; c<(ARRAY-A1); c++)
     {   
        mul_mZ(InvP[c],A[c],T); 
        mul_mZ(T,P[c],A[c+A1]);
	   } 
	   
  clrscrn();
  for(c=A0; c<ARRAY; c++)
     {
	  printf(" A[%d] : \t\t\t  trace =  ",c);
      p_Z(trace_Z(A[c]), S4,P2, S5,P2);        
      p_mZ(A[c],  S8,P1, S8,P1,C6); 
     } 

  for(c=A0; c<ARRAY; 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;
}
/* ------------------------------------ */
/* ------------------------------------ */
Des matrices semblable ont la même trace.

Exemple de sortie écran :

 A[0] : 			  trace =  +1191.00+0.00i 
  +418.0    +0.0i   -148.0  +172.0i    -50.0  -130.0i    +76.0  -278.0i 
  -148.0  -172.0i   +252.0    +0.0i     -9.0  +161.0i   -147.0   +62.0i 
   -50.0  +130.0i     -9.0  -161.0i   +152.0    +0.0i    +84.0   +82.0i 
   +76.0  +278.0i   -147.0   -62.0i    +84.0   -82.0i   +369.0    +0.0i 

 A[1] : 			  trace =  +1191.00-0.00i 
  +356.7   +35.9i    -68.7  -212.7i   +342.5  +182.8i    -23.9  -139.3i 
   +80.6  +101.1i   +107.0   -85.7i    +64.9  +175.9i    +55.0   -80.9i 
  +196.2  -135.7i    +20.9  -152.6i   +540.9   +71.6i   -144.4  -228.7i 
   -14.7    +6.1i   +140.6   +81.4i   -103.6  +111.1i   +186.4   -21.8i 

 A[2] : 			  trace =  +1191.00+0.00i 
 +1320.7  -201.2i   +257.7  -161.7i   +489.3  -751.7i   +422.4  -332.7i 
  +107.4  -249.0i   +252.8   +54.2i   -113.4  -329.0i   +244.3   +74.9i 
  -419.2  -112.9i    -18.1    +1.5i   -222.8  +134.0i     -5.1   +15.1i 
  -375.4    +3.4i   -145.2   -46.0i   -187.0  +286.4i   -159.6   +13.1i 

 A[3] : 			  trace =  +1191.00+0.00i 
 +1474.0  +651.5i  +1320.7  -321.6i  -1207.4  -614.3i   -134.5  -147.8i 
   +60.3 -1249.1i   -593.3  -909.7i   -130.1 +1254.5i    -54.5  +143.9i 
  -191.0  -102.3i   -167.6   +52.6i   +422.5   +58.0i     +5.8   +21.4i 
  +433.4 -1291.9i   -179.8 -1134.5i   -307.2  +741.6i   -112.2  +200.2i 

 A[4] : 			  trace =  +1191.00+0.00i 
  +611.5  -113.6i   -225.6  +642.1i   +519.4  +271.9i   +448.6  +416.3i 
 -1283.8 -1621.3i  +2892.5  +833.9i  +1326.2 -1370.0i   +438.8 -5761.0i 
 -1408.3 +1568.5i   +193.5 -2979.4i  -1660.9  -943.9i  -5486.8  +600.0i 
   -35.3  +209.3i    -31.7  -155.3i    +15.6   -50.3i   -652.0  +223.6i 

 A[5] : 			  trace =  +1191.00-0.00i 
 -6833.9 +6789.5i  -6632.8+17302.7i -13947.3 -7739.6i +10928.3 +4031.3i 
 +8395.3 -2903.8i +12871.2 -9978.5i  +6644.8+11657.9i  -7431.6 -8195.2i 
 +6171.7 +4153.4i +13291.9 +2931.0i  -3838.4+10729.3i  +1591.1 -8950.9i 
 +5826.6 +1908.0i +12387.9  -825.0i  -1043.5+10602.1i  -1008.0 -7540.3i 

 A[6] : 			  trace =  +1191.00-0.00i 
-12249.4 +3148.8i  -8802.9+10728.2i  +6622.3 +8991.0i   -365.1 -2769.5i 
 +1944.3 -2232.5i   -137.0 -2954.9i  -1234.3  -628.3i   +544.7  +222.6i 
 +7167.7 +9536.8i +13018.0 +3617.0i  +4357.9 -9445.0i  -2426.3 +1535.4i 
+36901.5-40275.0i  +4637.0-61181.2i -44310.3-10879.4i  +9219.5 +9251.1i 


 Press   return to continue
 Press X return to stop