Mathc initiation/0011
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