Application


Installer et compiler ces fichiers dans votre répertoire de travail.


inv_z.c
/* ------------------------------------ */
/*  Save as :   inv_z.c                 */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
#define RCA              RC4
/* ------------------------------------ */       
/* ------------------------------------ */
void fun(void)
{
int r = RCA;  

double a[RCA*(RCA*C2)] ={  +81, +82,   -14, -66,   -71,  +1, 
                           +69, +85,   +11, +72,    +9, -93, 
                           -54, -93,   -30, +10,   -78,  -7   };
                       
double **A   = ca_A_mZ(a, i_mZ(r,r));
double **Inv =            i_mZ(r,r);

  clrscrn();
  printf(" A\n");
  p_mZ(r_mZ(A,99.), S5,P0, S4,P0, C6);
  stop();

  clrscrn();
  printf(" invgj_mZ(A,invA);");
  pE_mZ(invgj_mZ(A,Inv), S1,P4, S1,P4, C3);
  printf(" inv_mZ(A,Inv); :");
  pE_mZ(inv_mZ(A,Inv), S1,P4, S1,P4, C3);
  stop();

  clrscrn();
  printf(" Copy/Past into the octave window.\n\n");
  p_Octave_mZ(A,"A",P0, P0);
  printf(" inv(A)\n");
  pE_mZ(Inv, S1,P4, S1,P4, C3);
  stop();

  f_mZ(Inv);
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
   fun();
   
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Vérifier le résultat avec octave.



Exemple de sortie écran :
 ------------------------------------
 A

  +29 -73i   -24 +56i   -70 -42i    -6 +96i 
  +43 +80i   +99 -61i   +27 -45i   -92 +33i 
  +55 -96i   +74 +14i   -52 -82i   -78 +60i 
  +30 +75i   +47 -63i   +51 -50i   -16 -60i 

 Press return to continue. 


 ------------------------------------
 invgj_mZ(A,invA);
-4.5863e-03-9.6864e-03i +3.6497e-03-6.4634e-03i +7.5825e-04+9.9764e-03i 
-2.4895e-03-6.2054e-03i +2.9282e-03-7.6250e-04i +3.9238e-03+2.0891e-03i 
-7.2152e-03+1.2709e-02i -3.6368e-03-6.3375e-03i +5.6012e-03-1.1533e-05i 
+5.1732e-03-4.4277e-03i -3.6327e-03-3.9934e-03i -1.6597e-03+1.6302e-03i 

-5.4849e-03-4.4161e-03i 
+3.1390e-04+1.1668e-03i 
-3.9529e-03+1.6767e-02i 
+8.0146e-03+3.9429e-03i 

 inv_mZ(A,Inv); :
-4.5863e-03-9.6864e-03i +3.6497e-03-6.4634e-03i +7.5825e-04+9.9764e-03i 
-2.4895e-03-6.2054e-03i +2.9282e-03-7.6250e-04i +3.9238e-03+2.0891e-03i 
-7.2152e-03+1.2709e-02i -3.6368e-03-6.3375e-03i +5.6012e-03-1.1533e-05i 
+5.1732e-03-4.4277e-03i -3.6327e-03-3.9934e-03i -1.6597e-03+1.6302e-03i 

-5.4849e-03-4.4161e-03i 
+3.1390e-04+1.1668e-03i 
-3.9529e-03+1.6767e-02i 
+8.0146e-03+3.9429e-03i 

 Press return to continue. 


 ------------------------------------
 Copy/Past into the octave window.

 A=[
+29-73*i,-24+56*i,-70-42*i,-6+96*i;
+43+80*i,+99-61*i,+27-45*i,-92+33*i;
+55-96*i,+74+14*i,-52-82*i,-78+60*i;
+30+75*i,+47-63*i,+51-50*i,-16-60*i]

 inv(A)

-4.5863e-03-9.6864e-03i +3.6497e-03-6.4634e-03i +7.5825e-04+9.9764e-03i 
-2.4895e-03-6.2054e-03i +2.9282e-03-7.6250e-04i +3.9238e-03+2.0891e-03i 
-7.2152e-03+1.2709e-02i -3.6368e-03-6.3375e-03i +5.6012e-03-1.1533e-05i 
+5.1732e-03-4.4277e-03i -3.6327e-03-3.9934e-03i -1.6597e-03+1.6302e-03i 

-5.4849e-03-4.4161e-03i 
+3.1390e-04+1.1668e-03i 
-3.9529e-03+1.6767e-02i 
+8.0146e-03+3.9429e-03i 

 Press return to continue.