Quelques propriétés des valeurs propres. Matrices non symétrique conjuguée


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


c01a.c
/* ------------------------------------ */
/*  Save as :  c01a.c                   */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A         = r_mZ(i_mZ(r,r),9.);
double **EigsValue =      i_mZ(r,C1);

nb_Z a =i_Z(0,0);
nb_Z b =i_Z(0,0);

int  i = 0;

  clrscrn();

  printf(" A :");
  p_mZ(A,S5,P0,S4,P0,C6);
       
  printf(" EigsValue :");
  p_mZ(eigs_mZ(A,EigsValue),S10,P3,S10,P3,C6);   
  
   for(i=R1;i<=r;i++)
     {
      a = i_Z(EigsValue[i][C1],EigsValue[i][C2]);
      b = add_Z(a,b);
      }

  printf(" Sum of the eigenvalues of A : "); 
  p_Z(b,S10,P3,S10,P3); printf("\n\n");
  printf(" Trace of A                  : "); 
  p_Z(trace_Z(A),S10,P3,S10,P3); printf("\n\n");
   
  f_mZ(A);
  f_mZ(EigsValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
 fun(rp_I(R3)+R1);

} while(stop_w());

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


La somme des valeurs propres de A est égale à la trace de A :

Exemple de sortie écran :
 A :
   +2  +6i    -7  -7i    -5  +2i    -6  +6i 
   -1  -2i    +1  -4i    -4  -1i    +7  +7i 
   +7  -3i    -1  -1i    -5  -9i    -9  -2i 
   +2  -6i    +8  -3i    +7  -7i    +6  -7i 

 EigsValue :
    -8.597   -18.334i 
    +9.852    +7.625i 
    +8.446    -3.781i 
    -5.701    +0.490i 

 Sum of the eigenvalues of A :     +4.000   -14.000i 

 Trace of A                  :     +4.000   -14.000i 


 Press   return to continue
 Press X return to stop