Mathc complexes/Fichiers c : mul rot
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r,int rc)
{
double **A = r_mZ( i_mZ(r,rc),99);
double **A_T = transpose_mZ(A, i_mZ(rc,r));
double **AA_T = mul_mZ(A,A_T, i_mZ(r, r));
clrscrn();
printf(" A[R%d,C%d] : \n",rsize_Z(A),csize_Z(A));
p_mZ(A, S4,P0, S4,P0, C4);
printf(" A_T[R%d,C%d] : Transpose\n",
rsize_Z(A_T),csize_Z(A_T));
p_mZ(A_T, S4,P0, S4,P0, C4);
printf(" AA_T[R%d,C%d] : \n",rsize_Z(AA_T),csize_Z(AA_T));
p_mZ(AA_T, S7,P0, S7,P0, C4);
f_mZ(A);
f_mZ(A_T);
f_mZ(AA_T);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(RC4));
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[R4,C1] :
-59 -40i
-85 +37i
-73 -67i
-5 -68i
A_T[R1,C4] : Transpose
-59 -40i -85 +37i -73 -67i -5 -68i
AA_T[R4,C4] :
+1881 +4720i +6495 +1217i +1627 +6873i -2425 +4212i
+6495 +1217i +5856 -6290i +8684 +2994i +2941 +5595i
+1627 +6873i +8684 +2994i +840 +9782i -4191 +5299i
-2425 +4212i +2941 +5595i -4191 +5299i -4599 +680i
Press return to continue
Press X return to stop