Aller au contenu

Mathc matrices/a141

Un livre de Wikilivres.


Quelques propriétés des valeurs propres.


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

c04a.c
/* ------------------------------------ */
/*  Save as :  c04a.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double s = rp_I(9);

double **A           = rsymmetric_mR(  i_mR(r, r),99.);
double **EigsValueA  =       eigs_mR(A,i_mR(r,C1)    );

double **sA          = smul_mR(s,    A,i_mR(r, r));
double **EigsValuesA = eigs_mR(sA,     i_mR(r,C1));

int i = 0;

  clrscrn();

  printf(" A :");
  p_mR(A,S3,P0,C6);
       
  printf(" EigsValue A :");
  p_mR(EigsValueA,S13,P6,C1);   

  stop(); 
  
  clrscrn();
  
  printf(" %.0f * A :",s);
  p_mR(sA,S4,P0,C6);
         
  printf(" EigsValue %.0f * A :",s);
  p_mR(EigsValuesA,S13,P6,C1);
  
  stop(); 
  
  clrscrn();
    
    printf(" EigsValue %.0f * A :",s);
  p_mR(EigsValuesA,S13,P6,C1);    

  printf(" %.2f * EigsValues of A :\n",s);    
  for(i=R1;i<=r;i++)
        
     printf(" %+12.6f  \n", s*EigsValueA[i][C1]); 

    
  f_mR(A);
  f_mR(EigsValueA);

  f_mR(sA);
  f_mR(EigsValuesA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
 fun(rp_I(R4)+R2);

} while(stop_w());

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


Les valeurs propres de sA correspondent aux valeurs propres de A multiplié par s :


Exemple de sortie écran :
 A :
 +5  -5 -97 -18 -95 
 -5  +3 -56 +79  -4 
-97 -56 +82  +4 -36 
-18 +79  +4 +19 -54 
-95  -4 -36 -54 +80 

 EigsValue A :
  +174.975089 
  +132.957767 
  -123.384229 
   +88.247123 
   -83.795750 

 Press return to continue. 


 7 * A :
 +35  -35 -679 -126 -665 
 -35  +21 -392 +553  -28 
-679 -392 +574  +28 -252 
-126 +553  +28 +133 -378 
-665  -28 -252 -378 +560 

 EigsValue 7 * A :
 +1224.825625 
  +930.704367 
  -863.689603 
  +617.729861 
  -586.570250 

 Press return to continue. 


 EigsValue 7 * A :
 +1224.825625 
  +930.704367 
  -863.689603 
  +617.729861 
  -586.570250 

 7.00 * EigsValues of A :
 +1224.825625  
  +930.704367  
  -863.689603  
  +617.729861  
  -586.570250  

 Press   return to continue
 Press X return to stop