Mathc matrices/c05b3

Un livre de Wikilivres.


Fonctions de bases


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

b03.c
/* ------------------------------------ */
/*  Save as :   b03.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r,int rn)
{
double **A      = r_mR(i_mR(r+rn,r),9.);
double **A_T    =      i_mR(r,r+rn);
double **A_TA   =      i_mR(r,r);

double **EigsValue =  i_mR(r,C1);


  clrscrn();
  transpose_mR(A,A_T);
  mul_mR(A_T,A, A_TA);
  
  printf(" A_TA :");
  p_mR(A_TA,S5,P0,C6);   
  
  eigs_mR(A_TA,EigsValue);
  printf(" EigenValues A_TA:");
  p_mR(EigsValue,S13,P4,C1);
         
  f_mR(A);
  f_mR(A_T);
  f_mR(A_TA);
  f_mR(EigsValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun(rp_I(R6),rp0_I(R6));

} while(stop_w());

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


Calculons les valeurs propres d'une matrice A_TA.
Les valeurs sur la diagonale sont positives. 
Les valeurs propres sont positives. 


Exemple de sortie écran :
 A_TA :
 +155  -117  +107   -73 
 -117  +146   -23   +86 
 +107   -23  +135   -23 
  -73   +86   -23   +77 

 EigenValues A_TA:
    +360.2511 
    +130.7699 
     +21.3292 
      +0.6497 


 Press return to continue
 Press X      to stop