Aller au contenu

Mathc matrices/c05b1

Un livre de Wikilivres.


Calculer les Valeurs Singulières


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

b01.c
/* ------------------------------------ */
/*  Save as :   b01.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A         = rsymmetric_mR(i_mR(r,r),99.);
double **EigsValue =               i_mR(r,C1);

  clrscrn();
  printf(" A :");
  p_mR(A,S5,P0,C6);    

  eigs_mR(A,EigsValue);
  printf(" EigsValue :");
  p_mR(EigsValue,S13,P4,C1);
        
  f_mR(A);
  f_mR(EigsValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

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

} while(stop_w());

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


Calculons les valeurs propres d'une matrice symétrique.
Les valeurs propres sont positives et négatives.


Exemple de sortie écran :
 A :
  +37   +73   +83   -57 
  +73   -35   -94    -1 
  +83   -94   -33    +3 
  -57    -1    +3   +69 

 EigsValue :
    -186.1933 
    +133.3471 
     +61.1405 
     +29.7058 


 Press return to continue
 Press X      to stop