Mathc complexes/01y
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
c00a.c |
|---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r)
{
double s = rp_I(9);
double **A = rdefinite_positive_mZ( i_mZ(r,r), 9);
double **sA = smul_mZ(s,A, i_mZ(r,r));
double **EValue = eigs_mZ(sA, i_mZ(r,C1));
clrscrn();
printf(" A: ");
p_mZ(A, S6,P0, S4,P0, C4);
printf(" %+.0f*A s > 0 ",s);
p_mZ(sA, S6,P0, S4,P0, C4);
printf(" %+.0f*A : EValue are positives",s);
p_mZ(EValue, S11,P3, S8,P3, C4);
f_mZ(A);
f_mZ(sA);
f_mZ(EValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R1);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Si A est une matrice hermitienne définie positive et si s est un réel strictement positif, alors s*A est est une matrice hermitienne définie positive. Les valeurs propres sont positives.
Exemple de sortie écran :
A:
+44 +0i +27 -13i -34 +3i
+27 +13i +41 +0i -35 -7i
-34 -3i -35 +7i +199 +0i
+3*A s > 0
+132 +0i +81 -39i -102 +9i
+81 +39i +123 +0i -105 -21i
-102 -9i -105 +21i +597 +0i
+3*A : EValue are positives
+647.873 +0.000i
+167.084 +0.000i
+37.044 -0.000i
Press return to continue
Press X return to stop