Mathc matrices/a141
Quelques propriétés des valeurs propres.
Installer et compiler ces fichiers dans votre répertoire de travail.
c04a.c |
---|
/* ------------------------------------ */
/* Save as : c04a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double s = rp_I(9);
double **A = rsymmetric_mR( i_mR(r, r),99.);
double **EigsValueA = eigs_mR(A,i_mR(r,C1) );
double **sA = smul_mR(s, A,i_mR(r, r));
double **EigsValuesA = eigs_mR(sA, i_mR(r,C1));
int i = 0;
clrscrn();
printf(" A :");
p_mR(A,S3,P0,C6);
printf(" EigsValue A :");
p_mR(EigsValueA,S13,P6,C1);
stop();
clrscrn();
printf(" %.0f * A :",s);
p_mR(sA,S4,P0,C6);
printf(" EigsValue %.0f * A :",s);
p_mR(EigsValuesA,S13,P6,C1);
stop();
clrscrn();
printf(" EigsValue %.0f * A :",s);
p_mR(EigsValuesA,S13,P6,C1);
printf(" %.2f * EigsValues of A :\n",s);
for(i=R1;i<=r;i++)
printf(" %+12.6f \n", s*EigsValueA[i][C1]);
f_mR(A);
f_mR(EigsValueA);
f_mR(sA);
f_mR(EigsValuesA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R4)+R2);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Les valeurs propres de sA correspondent aux valeurs propres de A multiplié par s :
Exemple de sortie écran :
A :
+5 -5 -97 -18 -95
-5 +3 -56 +79 -4
-97 -56 +82 +4 -36
-18 +79 +4 +19 -54
-95 -4 -36 -54 +80
EigsValue A :
+174.975089
+132.957767
-123.384229
+88.247123
-83.795750
Press return to continue.
7 * A :
+35 -35 -679 -126 -665
-35 +21 -392 +553 -28
-679 -392 +574 +28 -252
-126 +553 +28 +133 -378
-665 -28 -252 -378 +560
EigsValue 7 * A :
+1224.825625
+930.704367
-863.689603
+617.729861
-586.570250
Press return to continue.
EigsValue 7 * A :
+1224.825625
+930.704367
-863.689603
+617.729861
-586.570250
7.00 * EigsValues of A :
+1224.825625
+930.704367
-863.689603
+617.729861
-586.570250
Press return to continue
Press X return to stop