Mathc complexes/a95
trace_mR(); ... ... det_Z();
Installer et compiler ces fichiers dans votre répertoire de travail.
c00b.c |
---|
/* ------------------------------------ */
/* Save as : c00b.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define FACTOR_E +1.E-2
#define RA R3
/* ------------------------------------ */
void fun(void)
{
double **A = r_hermitian_mZ( i_mZ(RA,RA),99);
double **V = eigs_V_mZ(A, i_mZ(RA,RA),FACTOR_E);
double **cV_T = ctranspose_mZ(V, i_mZ(RA,RA));
double **cV_TA = mul_mZ(cV_T,A, i_mZ(RA,RA));
double **EigsValue = mul_mZ(cV_TA,V, i_mZ(RA,RA));
clrscrn();
printf(" A :");
p_mZ(A, S10,P2, S9,P2, C3);
printf(" EigsValue = cV_T * A * V");
p_mZ(EigsValue, S10,P2, S9,P2, C3);
printf("\n det_Z(A) \t\t= ");
p_Z( det_Z(A), S5,P2, S6,P2);
printf("\n det_Z(EigsValue) \t= ");
p_Z( det_Z(EigsValue), S5,P2, S6,P2);
printf("\n");
f_mZ(A);
f_mZ(V);
f_mZ(cV_T);
f_mZ(EigsValue);
f_mZ(cV_TA);
}
/* ------------------------------------ */
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 :
+19950.00 +0.00i +2891.00 +5426.00i -25.00 -7474.00i
+2891.00 -5426.00i +14628.00 +0.00i -1519.00 -9193.00i
-25.00 +7474.00i -1519.00 +9193.00i +23930.00 +0.00i
EigsValue = cV_T * A * V
+34975.28 -0.00i -0.00 -0.00i -0.00 -0.00i
-0.00 +0.00i +16531.83 +0.00i +0.00 +0.00i
-0.00 +0.00i +0.00 -0.00i +7000.89 -0.00i
det_Z(A) = +4047950179048.00 +0.00i
det_Z(EigsValue) = +4047950179048.00 -0.00i
Press return to continue
Press X to stop