Mathc matrices/Fichiers c : mul tran


Application


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

mul_tran.c
/* ------------------------------------ */
/*  Save as :   mul_tran.c              */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r,int rc)
{
double **A    = r_mR(i_mR(r,rc),99);
double **A_t  =      i_mR(rc,r);
double **AA_t =      i_mR(r, r);

  clrscrn();

  printf(" A[R%d,C%d] : \n",rsize_R(A),csize_R(A));
  p_mR(A,S4,P0,C6);

  printf(" A_t[R%d,C%d] : \n",rsize_R(A_t),csize_R(A_t));
  p_mR(transpose_mR(A,A_t),S4,P0,C6);

  printf(" AA_t[R%d,C%d] : \n",rsize_R(AA_t),csize_R(AA_t));
  p_mR(mul_mR(A,A_t,AA_t),S6,P0,C6);
  
  f_mR(A);
  f_mR(A_t);
  f_mR(AA_t);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
   do 
         fun(rp_I(R6),rp_I(RC6));
        
    while(stop_w());
        
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */



Si nous multiplions une matrice par sa transposé, l'opération est toujours possible et cela donne une matrice symétrique.


Exemple de sortie écran :

 A[R3,C4] : 

  -7  +30  -29   -7 
 -35  -77  +42  +26 
 -47  -37  -41  +16 

 A_t[R4,C3] : 

  -7  -35  -47 
 +30  -77  -37 
 -29  +42  -41 
  -7  +26  +16 

 AA_t[R3,C3] : 

 +1839  -3465   +296 
 -3465  +9594  +3188 
  +296  +3188  +5515 


 Press return to continue
 Press X      to stop