Quelques propriétés des valeurs propres.


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

c03b.c
/* ------------------------------------ */
/*  Save as :   c03b.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define   RCA R3
/* ------------------------------------ */
int main(void)
{
double a[R3*C3] ={ 1,2,3,
                   5,4,1,
                   7,2,5};
                        
double **A            = ca_A_mR(a,  i_mR(RCA,RCA));
double **EigsValue    = eigs_mR(A,  i_mR(RCA,C1 ));
double **Inv          =  inv_mR(A,  i_mR(RCA,RCA));
double **EigsValueInv = eigs_mR(Inv,i_mR(RCA,C1 ));

int    i = 0;
int    j = 0;

  clrscrn();

  printf(" A :");
  p_mR(A,S2,P0,C6);
  
  printf(" EigsValue of A :");
  p_mR(EigsValue,S13,P6,C1);
      
  printf(" inv(A)");
  pE_mR(Inv,S12,P4,C5);
  
  printf(" EigsValue of invA :");
  p_mR(EigsValueInv,S13,P6,C1);
  
  stop();

  clrscrn();
  
  for(i=1,j=RCA; i<=RCA; i++,j--)
       
       printf(" EigsValue*EigsValueInv: %.3f    \n",
           EigsValue[i][C1]*EigsValueInv[j][C1]);      
           
  f_mR(EigsValueInv);  
  f_mR(EigsValue);  
  f_mR(Inv);
  f_mR(A);
  
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Les valeurs propres de l'inverse de A correspondent aux inverses des valeurs propres de A :

Attention : L'ordre des valeurs propres est inversés. Ici Aλ1*inv(A)λ3 = 1, Aλ2*inv(A)λ2 = 1, Aλ3*inv(A)λ1 = 1 
 

Exemple de sortie écran :
 A :
+1 +2 +3 
+5 +4 +1 
+7 +2 +5 

 EigsValue of A :
    +9.640179 
    +2.918726 
    -2.558905 

 inv(A)
 -2.5000e-01  +5.5556e-02  +1.3889e-01 
 +2.5000e-01  +2.2222e-01  -1.9444e-01 
 +2.5000e-01  -1.6667e-01  +8.3333e-02 

 EigsValue of invA :
    -0.390792 
    +0.342615 
    +0.103733 

 Press return to continue. 

 EigsValue*EigsValueInv: 1.000    
 EigsValue*EigsValueInv: 1.000    
 EigsValue*EigsValueInv: 1.000