Aller au contenu

Mathc matrices/02x

Un livre de Wikilivres.


Application

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

c00c.c
/* ------------------------------------ */
/*  Save as :   c00c.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A      =  rdefinite_positive_mR(      i_mR(r, r), 99);
double **invA   =                 inv_mR(A,    i_mR(r, r));
double **EValue =                eigs_mR(invA, i_mR(r,C1));

  clrscrn();  
  printf(" The inverse matrix of a positive-definite matrix\n"
         " is ​​positive-definite. (The eigen values are positive)\n\n"
         " A:");
  p_mR(A, S6,P0,C6);
  
  printf(" invA:");
  pE_mR(invA, S12,P6,C6);
  
  printf(" Eigen Value: eigs_mR(InvA,EValue);");
  pE_mR(EValue, S12,P3,C1);    
  
  f_mR(A);
  f_mR(invA);
  f_mR(EValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{
  fun(RC4);

} while(stop_w());

  return 0;
}

/* ------------------------------------ */
/* ------------------------------------ */
La matrice inverse d'une matrice définie positive est définie positive.

Exemple de sortie écran :

 The inverse matrix of a positive-definite matrix
 is ​​positive-definite. (The eigen values are positive)

 A:
+10845  -9912  +7463  +7299 
 -9912 +16188 -12198 -10392 
 +7463 -12198 +17316 +11865 
 +7299 -10392 +11865 +13311 

 invA:
+2.180687e-04 +1.218193e-04 +2.208589e-05 -4.415789e-05 
+1.218193e-04 +2.151781e-04 +7.640410e-05 +3.308817e-05 
+2.208589e-05 +7.640410e-05 +1.785043e-04 -1.115744e-04 
-4.415789e-05 +3.308817e-05 -1.115744e-04 +2.246256e-04 

 Eigen Value: eigs_mR(InvA,EValue);
  +3.835e-04 
  +2.833e-04 
  +1.472e-04 
  +2.236e-05 


 Press   return to continue
 Press X return to stop