Mathc matrices/c22b
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "v_a.h"
#include "dot_au.h"
/* ------------------------------------ */
void fun(int r)
{
double **A = r_mR( i_mR(r,r ), 9.);
double **u = r_mR( i_mR(r,C1), 9.);
double **v = r_mR( i_mR(r,C1), 9.);
clrscrn();
printf(" A :");
p_mR(A,S3,P0,C6);
printf(" u :");
p_mR(u,S3,P0,C6);
printf(" v :");
p_mR(v,S3,P0,C6);
printf(" <u,v> = v^t A^t A u \n");
printf(" <u,v> = %.0f \n", dot_Au_R(A,u,v));
printf(" <v,u> = %.0f \n", dot_Au_R(A,v,u));
f_mR(A);
f_mR(u);
f_mR(v);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R1);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Nous calculons le produit scalaire v^t*A^t*A*u avec A une matrice aléatoire.
Exemple de sortie écran :
------------------------------------
A :
+6 -7 +8 +6
-9 -5 -9 -7
+8 +8 -5 +4
+6 +8 +2 -9
u :
+2
+4
-1
+8
v :
+8
+4
+6
+2
<u,v> = v^t A^t A u
<u,v> = 19590
<v,u> = 19590
Press return to continue
Press X to stop