Quelques propriétés des valeurs propres. Matrices symétriques conjugués


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


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

  eigs_mZ(A,EigsValue);
  ctranspose_mZ(A,ACT);
  eigs_mZ(ACT,EigsValueACT);
 
  clrscrn();

  printf(" A :");
  p_mZ(A,S5,P0,S4,P0,C6);
  
  printf(" EigsValue of A :");
  p_mZ(EigsValue,S9,P3,S8,P3,C6);
      
  printf(" Conjugate transpose of A ;");
  p_mZ(ACT,S5,P0,S4,P0,C6);
  
  printf(" EigsValue of Conjugate transpose of A :");
  p_mZ(EigsValueACT,S9,P3,S8,P3,C6);   
      
  f_mZ(EigsValueACT); 
  f_mZ(EigsValue);  
  f_mZ(ACT);
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
do
{
  fun(rp_I(RC2)+RC2);

} while(stop_w());


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


La matrice A et sa transposé conjugué ont les mêmes valeurs propres .


Exemple de sortie écran :
 A :
 +183  +0i   -99 -37i    -6 +10i 
  -99 +37i  +162  +0i   +21+105i 
   -6 -10i   +21-105i  +248  +0i 

 EigsValue of A :
 +340.985  +0.000i 
 +222.844  -0.000i 
  +29.171  -0.000i 

 Conjugate transpose of A ;
 +183  -0i   -99 -37i    -6 +10i 
  -99 +37i  +162  -0i   +21+105i 
   -6 -10i   +21-105i  +248  -0i 

 EigsValue of Conjugate transpose of A :
 +340.985  +0.000i 
 +222.844  -0.000i 
  +29.171  -0.000i 


 Press   return to continue
 Press X return to stop