Mathc matrices/c11bn
Valeurs propres. Vecteurs propres
Installer et compiler ces fichiers dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
#define RCA RC5
/* ------------------------------------ */
/* ------------------------------------ */
void fun(void)
{
double **A = rsymmetric_mR(i_mR(RCA,RCA),999.);
double **EigsVector= i_mR(RCA,RCA);
double **T_EigsVector= i_mR(RCA,RCA);
double **EigsValue = i_mR(RCA,C1);
double **eigs_values= i_mR(RCA,RCA);
double **T1= i_mR(RCA,RCA);
clrscrn();
printf(" Copy/Past into the octave windows \n\n");
p_Octave_mR(A,"a",P0);
printf(" [V, E] = eigs (a,%d) \n\n",RCA);
stop();
clrscrn();
eigs_V_mR(A,EigsVector);
transpose_mR(EigsVector,T_EigsVector);
printf(" EigsVector:");
p_mR(EigsVector,S10,P4,C6);
mul_mR(T_EigsVector,A,T1);
mul_mR(T1,EigsVector,eigs_values);
printf(" EigsValue : T_EigsVector * A * EigsVector");
p_mR(eigs_values,S10,P4,C6);
eigs_mR(A,EigsValue);
printf(" EigsValue :");
p_mR(EigsValue,S10,P4,C1);
f_mR(A);
f_mR(EigsVector);
f_mR(T_EigsVector);
f_mR(EigsValue);
f_mR(eigs_values);
f_mR(T1);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun();
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
EValue = T_V * A * V
Exemple de sortie écran :
/* ------------------------------------ */
Copy/Past into the octave windows
a=[
-833,-347,-373,-301;
-347,+294,-87,+462;
-373,-87,-749,-41;
-301,+462,-41,-197]
[V, E] = eigs (a,4)
Press return to continue.
EigsVector:
+0.7671 -0.2853 +0.3425 -0.4614
+0.1531 +0.8114 -0.3057 -0.4742
+0.5984 +0.0103 -0.5607 +0.5722
+0.1735 +0.5101 +0.6891 +0.4846
EigsValue : T_EigsVector * A * EigsVector
-1261.3064 +0.0000 -0.0000 +0.0000
+0.0000 +705.3783 +0.0000 +0.0000
-0.0000 +0.0000 -518.2077 -0.0000
+0.0000 -0.0000 -0.0000 -410.8641
EigsValue :
-1261.3064
+705.3783
-518.2077
-410.8641
Press return to continue
Press X to stop