Mathc complexes/02e
Apparence
Installer et compiler ces fichiers dans votre répertoire de travail.
c00b.c |
|---|
/* ------------------------------------ */
/* Save as : c00b.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define RCA RC3
/* ------------------------------------ */
int main(void)
{
double a[RCA*(RCA*C2)] ={
+4.1622480896,+0.0000000000, -0.0235528909,-0.5265429025, +0.4140177005,-0.0158573157,
-0.0235528909,+0.5265429025, +4.2875927057,+0.0000000000, -0.6281162702,+0.0176153189,
+0.4140177005,+0.0158573157, -0.6281162702,-0.0176153189, +3.5501592046,+0.0000000000
};
double **A = ca_A_mZ(a, i_mZ(RCA,RCA));
double **EigsValue = eigs_mZ(A, i_mZ(RCA,C1));
clrscrn();
printf(" Copy/Paste into the octave windows \n\n");
p_Octave_mZ(A,"a",P12,P12);
printf(" EigenValues = eigs (a,%d) \n\n",RCA);
printf(" EigenValues:");
p_mZ(EigsValue, S10,P1, S10,P1, C4);
stop();
f_mZ(A);
f_mZ(EigsValue);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Pour éviter les problèmes d'arrondis, utiliser pour la matrice A des nombres avec 10 à 12 chiffres après la virgule.
Exemple de sortie écran :
Copy/Paste into the octave windows
a=[
+4.162248089600+0.000000000000*i,-0.023552890900-0.526542902500*i,+0.414017700500-0.015857315700*i;
-0.023552890900+0.526542902500*i,+4.287592705700+0.000000000000*i,-0.628116270200+0.017615318900*i;
+0.414017700500+0.015857315700*i,-0.628116270200-0.017615318900*i,+3.550159204600+0.000000000000*i]
EigenValues = eigs (a,3)
EigenValues:
+5.0 +0.0i
+4.0 -0.0i
+3.0 -0.0i
Press return to continue.