Aller au contenu

Mathc matrices/04x

Un livre de Wikilivres.


Application

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */     
#define RCA          RC2  
/* ------------------------------------ */       
/* ------------------------------------ */
int main(void)
{                          
double a[RCA*RCA] ={   
+0.640000000000, -0.480000000000, 
-0.480000000000, +0.360000000000                
};

double v[RCA*RCA] ={   
-0.800000000000,+0.600000000000,
+0.600000000000,+0.800000000000        
};     
       
double **A      =  ca_A_mR(a, i_mR(RCA,RCA));
double **V      =  ca_A_mR(v, i_mR(RCA,RCA));
double **invV   = invgj_mR(V, i_mR(RCA,RCA));
double **EValue =              i_mR(RCA,RCA);

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

  clrscrn(); 
  printf(" A :");
  p_mR(A, S8,P6, C3);     

  printf(" V :");
  p_mR(V, S9,P6, C4); 
 
  printf(" EValue = invV * A * V");
  mul_mR(invV,A,T);
  mul_mR(T,V,EValue);
  p_mR(EValue, S9,P6, C4); 
          
  printf(" A = V * EValue * invV");
  mul_mR(V,EValue,T);
  mul_mR(T,invV,A); 
  p_mR(A, S8,P6, C3);
  stop();
  
  clrscrn();          
  printf(" The matrix A projects the plane in the direction\n"
         " of the  eigenvector V2  on a line  determined by\n"
         " the eigenvector V1 if :\n\n"
         " The eigenvector V1 has its eigenvalue equal to  one and\n"
         " The eigenvector V2 has its eigenvalue equal to zero and\n\n"
         " If The vectors V1 and V2 are linearly independent\n\n"
         " det(V) = %.2f\n\n",det_R(V));          
  stop();  
  
  f_mR(A);
  f_mR(V);  
  f_mR(invV);  
  f_mR(T);  
  f_mR(EValue);

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Vérifier les calculs. 


Exemple de sortie écran :

 A :
+0.640000 -0.480000 
-0.480000 +0.360000 

 V :
-0.800000 +0.600000 
+0.600000 +0.800000 

 EValue = invV * A * V
+1.000000 +0.000000 
-0.000000 -0.000000 

 A = V * EValue * invV
+0.640000 -0.480000 
-0.480000 +0.360000 

 Press return to continue. 


 The matrix A projects the plane in the direction
 of the  eigenvector V2  on a line  determined by
 the eigenvector V1 if :

 The eigenvector V1 has its eigenvalue equal to  one and
 The eigenvector V2 has its eigenvalue equal to zero and

 If The vectors V1 and V2 are linearly independent

 det(V) = -1.00

 Press return to continue.