Mathc matrices/Fichiers c : mul tran
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