Mathc matrices/c11a2
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define RA R3
/* ------------------------------------ */
void fun(void)
{
double **A = rsymmetric_mR(i_mR(RA,RA),999.);
double **EigsVector = i_mR(RA,RA);
double **T_EigsVector = i_mR(RA,RA);
double **EigsValues = i_mR(RA,RA);
double **T_EigsVectorA = i_mR(RA,RA);
clrscrn();
printf(" A :");
p_mR(A,S10,P4,C6);
printf(" EigsValues = T_EigsVector * A * EigsVector");
eigs_V_mR(A,EigsVector);
transpose_mR(EigsVector,T_EigsVector);
mul_mR(T_EigsVector,A,T_EigsVectorA);
mul_mR(T_EigsVectorA,EigsVector,EigsValues);
p_mR(EigsValues,S10,P4,C6);
printf(" det_R(A) \t\t= %10.1f\n", det_R(A));
printf(" det_R(EigsValues) \t= %10.1f\n",det_R(EigsValues));
f_mR(A);
f_mR(EigsVector);
f_mR(T_EigsVector);
f_mR(EigsValues);
f_mR(T_EigsVectorA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun();
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Attention la valeur des déterminants peux croître très rapidement, par exemple ici le déterminant à neuf chiffres !
Exemple de sortie écran :
--------------------------------
A :
-946.0000 +738.0000 +46.0000
+738.0000 +421.0000 -815.0000
+46.0000 -815.0000 +512.0000
EigsValues = T_EigsVector * A * EigsVector
+1387.2394 +0.0000 -0.0000
+0.0000 -1352.6159 -0.0000
-0.0000 -0.0000 -47.6235
det_R(A) = 89360854.0
det_R(EigsValues) = 89360854.0
Press return to continue
Press X to stop