Application


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


c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
#define   RCA RC3
#define   CX  C1
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double a[RCA*(RCA*C2)]={
    +3,1, -4,1, -2,1, 
    +5,2, -3,2, -0,2,      
    +6,3, -0,3, -3,3  
};

double x_B[RCA*(CX*C2)]={
   +1,+1,
   +2,+2, 
   +3,+3
};

double b[RCA*(RCA*C2)]={
    +1,+2, +2,+5, +6,+2, 
    +3,+3, +2,+4, +1,+3, 
    +5,+4, +5,+3, +3,+4,
};

double **A   = ca_A_mZ(a, i_mZ(RCA,RCA));
double **B   = ca_A_mZ(b, i_mZ(RCA,RCA));

double **X_B = ca_A_mZ(x_B,  i_mZ(RCA,CX));

double **invB  =  inv_mZ(B, i_mZ(RCA,RCA));
double **invBA =            i_mZ(RCA,RCA);
double **D     =            i_mZ(RCA,RCA);
double **DX_B  =            i_mZ(RCA,CX);

  clrscrn();
  printf(" In the B basis\n\n"
         " Find the linear application [T(x_B)]_B = D*x_B \n\n"
         " D =  InvB A B   ");
  mul_mZ(invB,A,invBA);       
  mul_mZ(invBA,B,D);
  p_mZ(D, S10,P2, S8,P2, C4);
  printf(" x_B : ");
  p_mZ(X_B, S10,P2, S8,P2, C4);
  printf(" [T(x_B)]_B = D x_B");
  p_mZ(mul_mZ(D,X_B,DX_B), S10,P2, S8,P2, C4);
  stop();   

  f_mZ(A);
  f_mZ(X_B);
  
  f_mZ(B);
  f_mZ(invB);  
  f_mZ(invBA);  
  f_mZ(D);
  f_mZ(DX_B);
    
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
  Calculons  [T(x)]_B = D* [x]_B en base B.
Exemple de sortie écran :
 In the B basis

 Find the linear application [T(x_B)]_B = D*x_B 

 D =  InvB A B   
     -0.35  +10.10i      +3.36  +13.60i      +6.74   +8.11i 
     +1.03   -1.38i      -0.87   -3.77i      -2.19   -4.57i 
     -3.30   -1.70i      -2.91   -0.10i      -1.78   -0.33i 

 x_B : 
     +1.00   +1.00i 
     +2.00   +2.00i 
     +3.00   +3.00i 

 [T(x_B)]_B = D x_B
    -35.06  +88.21i 
    +15.37  -29.92i 
    -11.59  -17.32i 

 Press return to continue.