Aller au contenu

Mathc initiation/0011

Un livre de Wikilivres.


Application


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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A   = rsymmetric_mR(      i_mR(r,r), 9);
double **AT  =  transpose_mR(A,    i_mR(r,r));
double **AAT =        mul_mR(A,AT, i_mR(r,r));
double **ATA =        mul_mR(AT,A, i_mR(r,r));

  clrscrn(); 
  printf(" A ");  
  p_mR(A, S5,P0, C6);
 
  printf(" AAT ");  
  p_mR(AAT, S6,P0, C6);
  
  printf(" ATA ");  
  p_mR(ATA, S6,P0, C6);  
   
  f_mR(A);
  f_mR(AT);
  f_mR(AAT);    
  f_mR(ATA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

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

} while(stop_w());

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


La symétrie implique la normalité (A*AT = AT*A)


Exemple de sortie écran :

 A 
   -4    +3    +9    +6    -8 
   +3    -6    +5    +7    -1 
   +9    +5    -4    +3    -2 
   +6    +7    +3    -1    +2 
   -8    -1    -2    +2    -1 

 AAT 
  +206    +65    -23     +2    +31 
   +65   +120     +0    -18    -13 
   -23     +0   +135    +70    -61 
    +2    -18    +70    +99    -65 
   +31    -13    -61    -65    +74 

 ATA 
  +206    +65    -23     +2    +31 
   +65   +120     +0    -18    -13 
   -23     +0   +135    +70    -61 
    +2    -18    +70    +99    -65 
   +31    -13    -61    -65    +74 


 Press   return to continue
 Press X return to stop