Mathc complexes/020
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 **A = rdefinite_negative_mZ( i_mZ(r,r), 99);
double **invA = inv_mZ(A, i_mZ(r,r));
double **EValue = eigs_mZ(invA, i_mZ(r,C1));
clrscrn();
printf(" A = Q D QT: ");
p_mZ(A, S8,P4, S8,P4, C4);
printf(" invA ");
p_mZ(invA, S8,P4, S8,P4, C4);
printf(" InvA : EValue are negatives");
p_mZ(EValue, S8,P4, S8,P4, C4);
f_mZ(A);
f_mZ(invA);
f_mZ(EValue);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R1);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
La matrice inverse d'une matrice définie négative est définie négative.
Exemple de sortie écran :
A = Q D QT:
-50.1052 +0.0000i +2.5095 -1.2438i -4.6907 +8.1076i -6.5076-12.7698i
+2.5095 +1.2438i -44.5957 +0.0000i +11.3780 +1.2901i +1.2702 +0.6170i
-4.6907 -8.1076i +11.3780 -1.2901i -42.9020 +0.0000i -2.0750+10.9114i
-6.5076+12.7698i +1.2702 -0.6170i -2.0750-10.9114i -34.3971 +0.0000i
invA
-0.0255 -0.0000i +0.0001 -0.0011i +0.0055 -0.0074i +0.0069 +0.0116i
+0.0001 +0.0011i -0.0243 -0.0000i -0.0074 -0.0007i +0.0002 -0.0030i
+0.0055 +0.0074i -0.0074 +0.0007i -0.0309 -0.0000i +0.0033 -0.0133i
+0.0069 -0.0116i +0.0002 +0.0030i +0.0033 +0.0133i -0.0392 -0.0000i
InvA : EValue are negatives
-0.0588 +0.0000i
-0.0270 +0.0000i
-0.0179 -0.0000i
-0.0161 -0.0000i
Press return to continue
Press X return to stop