Mathc complexes/a191

Un livre de Wikilivres.


Application


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


c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define   RA R3
#define   CA C3
#define   Cb C1
/* ------------------------------------ */
int main(void)
{
double a[RA*(CA*C2)] =     { 1,2,  3,4,  5,6,
                             5,4,  1,3,  6,8,
                             7,2,  5,1,  1,1};

double b0[RA*(Cb*C2)] ={ 1,4, 
                         2,5, 
                         3,6}; 

double **A = ca_A_mZ(a, i_mZ(RA,CA));                        
double **B = ca_A_mZ(b0,i_mZ(RA,Cb));  
                         
double **Inv =      i_mZ(RA,CA);
double **X   =      i_mZ(RA,Cb);
double **T   =      i_mZ(RA,Cb);

  clrscrn();
  printf(" We want to find X such as,   \n\n");
  printf("         AX = B               \n\n");
  printf(" If A is a square matrix and, \n\n");
  printf(" If A has an inverse matrix,  \n\n");
  printf(" you can find X by this method\n\n");
  printf("         X = inv(A) B       \n\n\n");
  printf(" To verify the result you can \n\n");
  printf(" multiply the matrix A by X.  \n\n");
  printf(" You must refind B.  \n\n");
  stop();

  clrscrn();
  printf(" A :");
  p_mZ(A, S5,P0, S4,P0, C6);
  printf(" B :");
  p_mZ(B, S5,P0, S4,P0, C6);
  stop();

  clrscrn();
  printf(" invgj_mZ(A,Inv) :");
  pE_mZ(invgj_mZ(A,Inv), S12,P4, S8,P4, C3);
  printf(" X = invgj_mZ(A,Inv) * B :");
  p_mZ(mul_mZ(Inv,B,X), S12,P4, S2, P4, C6);
  stop();

  clrscrn();
  printf(" B :");
  p_mZ(B, S5,P0, S4,P0, C6);
  printf("  AX :");
  p_mZ(mul_mZ(A,X,T), S5,P0, S4,P0, C6);

  f_mZ(T);
  f_mZ(X);
  f_mZ(B);
  f_mZ(Inv);
  f_mZ(A);

  stop();

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
--------------------- */




Exemple de sortie écran :
 ------------------------------------ 
 We want to find X such as,   

         AX = B               

 If A is a square matrix and, 

 If A has an inverse matrix,  

 you can find X by this method

         X = inv(A) B       


 To verify the result you can 

 multiply the matrix A by X.  

 You must refind B.  

 Press return to continue. 


 ------------------------------------ 
 A :
   +1  +2i    +3  +4i    +5  +6i 
   +5  +4i    +1  +3i    +6  +8i 
   +7  +2i    +5  +1i    +1  +1i 

 B :
   +1  +4i 
   +2  +5i 
   +3  +6i 

 Press return to continue. 

 ------------------------------------ 
 invgj_mZ(A,Inv) :
 -1.2917e-01+8.1007e-02i  +8.5597e-02-6.6602e-02i  +8.5160e-02-3.3778e-04i 
 +1.8258e-01-8.6352e-02i  -1.5122e-01+8.1911e-02i  +9.3058e-02-3.8517e-02i 
 +3.7156e-03-6.3244e-02i  +7.1142e-02-3.4463e-02i  -8.4514e-02+1.6084e-02i 

 X = invgj_mZ(A,Inv) * B :
     +0.3085+0.3691i 
     +0.3263+0.4945i 
     +0.2212-0.2204i 

 Press return to continue. 


 ------------------------------------ 
 B :
   +1  +4i 
   +2  +5i 
   +3  +6i 

  AX :
   +1  +4i 
   +2  +5i 
   +3  +6i 

 Press return to continue.