Aller au contenu

Mathc matrices/a88

Un livre de Wikilivres.


Installer et compiler ces fichiers dans votre répertoire de travail.

c00a.c
/* ------------------------------------ */
/*  Save as :  c00a.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define  ARRAY  A3 
#define    RCA  R3  
/* ------------------------------------ */
void fun(void)
{
double **A[ARRAY];
double **P[ARRAY];
double **InvP[ARRAY];

double **T = i_mR(RCA,RCA);
int i;

  for(i=A0; i<ARRAY; i++)
     {   
         A[i] =              i_mR(RCA,RCA); 
         P[i] =   r_mR(      i_mR(RCA,RCA),99); 
      InvP[i] = inv_mR(P[i], i_mR(RCA,RCA));       
	   } 

  rsymmetric_mR(A[0],99);
  
    for(i=A0; i<(ARRAY-C1); i++)
     {   
        mul_mR(InvP[i],A[i],T); 
        mul_mR(T,P[i],A[i+C1]);
	   } 

  clrscrn();
  printf(" Similar matrices have the same determinant.\n\n");
  
  for(i=A0; i<ARRAY; i++)
     {
      printf(" A[%d] : \t\t\t det = %+.4f ",i,det_R(A[i]));      
      p_mR(A[i], S9,P2,C6); 
     } 

  for(i=A0; i<ARRAY; i++)
     { 
	   f_mR(A[i]);
	   f_mR(P[i]);		 
	   f_mR(InvP[i]); 
	   }
	   
  f_mR(T);       
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do{
        fun();
        
  }while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
 Similar matrices have the same determinant.

 A[0] : 			 det = +67474.0000 
   -27.00     -7.00    +21.00 
    -7.00     +4.00    +57.00 
   +21.00    +57.00    +11.00 

 A[1] : 			 det = +67474.0000 
   -12.15    +19.13    +52.09 
   +41.99     +0.03    -11.54 
   +72.31    +40.86     +0.12 

 A[2] : 			 det = +67474.0000 
   +25.85    +65.01    -72.06 
   +49.30    +48.72    -25.47 
   +38.61    +59.64    -86.57 


 Press   return to continue
 Press X return to stop