Mathc matrices/c05b3
Calculer les Valeurs Singulières
Installer et compiler ces fichiers dans votre répertoire de travail.
b03.c |
---|
/* ------------------------------------ */
/* Save as : b03.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r,int rn)
{
double **A = r_mR(i_mR(r+rn,r),9.);
double **A_T = i_mR(r,r+rn);
double **A_TA = i_mR(r,r);
double **EigsValue = i_mR(r,C1);
clrscrn();
printf(" A :");
p_mR(A,S5,P0,C12);
printf(" A_T :");
transpose_mR(A,A_T);
p_mR(A_T,S5,P0,C12);
stop();
clrscrn();
printf(" A_TA :");
mul_mR(A_T,A, A_TA);
p_mR(A_TA,S5,P0,C12);
printf(" EigenValues A_TA:");
eigs_mR(A_TA,EigsValue);
p_mR(EigsValue,S13,P4,C1);
f_mR(A);
f_mR(A_T);
f_mR(A_TA);
f_mR(EigsValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R6),rp_I(R6));
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Calculons les valeurs propres d'une matrice A_TA. Les valeurs sur la diagonale de la matrice A_TA sont positives. Les valeurs propres de cette matrice A_TA sont positives. Exemple de sortie écran :
A :
+3 +5 -6
-1 -5 +2
+1 +1 +9
+4 -5 -4
+4 +6 +6
+7 +6 +8
A_T :
+3 -1 +1 +4 +4 +7
+5 -5 +1 -5 +6 +6
-6 +2 +9 -4 +6 +8
Press return to continue.
A_TA :
+92 +67 +53
+67 +148 +73
+53 +73 +237
EigenValues A_TA:
+307.6681
+122.0471
+47.2848
Press return to continue
Press X return to stop