Mathc complexes/a142

Un livre de Wikilivres.

Application

Installer et compiler ce fichier dans votre répertoire de travail.

c00b.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A   = i_mZ(r,r);
double **A_2 = i_mZ(r,r);
double **B   = i_mZ(r,r);
double **B_2 = i_mZ(r,r);
double **AplsB   = i_mZ(r,r);
double **AplsB_2 = i_mZ(r,r);
double **AB   = i_mZ(r,r);
double **BA   = i_mZ(r,r);
double **T1   = i_mZ(r,r);
double **T2   = i_mZ(r,r);

   r_mZ(A,9);
   r_mZ(B,9);

  clrscrn();
  printf(" A : ");
  p_mZ(A,S5,P3,S5,P3,C6);                                
  printf(" B : ");
  p_mZ(B,S5,P3,S5,P3,C6);    
  stop();
  
  clrscrn();   
  printf(" (A+B)**2 :\n");
  add_mZ(A,B,AplsB);
  pow_mZ(2,AplsB,AplsB_2);
  p_mZ(AplsB_2,S8,P3,S8,P3,C6);  
      
  printf(" (A+B)**2 = A**2 + AB + BA + B**2  :\n");
  pow_mZ(2,A,A_2);  
  mul_mZ(A,B,AB);
  mul_mZ(B,A,BA);  
  pow_mZ(2,B,B_2);
  add_mZ(A_2,AB,T1);
  add_mZ(T1,BA,T2);
  add_mZ(T2,B_2,T1);
  p_mZ(T1,S8,P3,S8,P3,C6);
    
  f_mZ(A);
  f_mZ(A_2);
  f_mZ(B);
  f_mZ(B_2);
  f_mZ(AplsB);
  f_mZ(AplsB_2);
  f_mZ(AB);
  f_mZ(BA);
  f_mZ(T1);
  f_mZ(T2);
}
/* ------------------------------------ */
void hello(void)
{
 
  printf("\n                                                  ");
  printf("\n     (A+B)**2 = A**2 + AB + BA + B**2             ");
  printf("\n          **************************            \n");
  printf("\n\n                                                ");
  printf("\n                                                \n");
  stop();
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  hello();
do
{
  fun(RC4);

} while(stop_w());

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


Propriétés des matrices commutatives :


Exemple de sortie écran :

 -------------------------------------------
 A : 
-2.000+5.000i +7.000-8.000i +2.000-3.000i +3.000-8.000i 
+8.000+9.000i -6.000+6.000i +8.000-6.000i +8.000+2.000i 
-1.000-2.000i +9.000+8.000i +4.000+8.000i -3.000+2.000i 
+3.000+8.000i -8.000-7.000i -3.000+7.000i +9.000-6.000i 

 B : 
+1.000+2.000i +3.000-5.000i +8.000+3.000i +4.000+8.000i 
-8.000+5.000i -6.000-8.000i -1.000+4.000i +8.000-7.000i 
+3.000-3.000i +6.000-9.000i +7.000-9.000i +2.000+4.000i 
+9.000+1.000i +8.000+8.000i -1.000-8.000i +1.000-5.000i 

 Press return to continue. 


 -------------------------------------------
 (A+B)**2 :

+238.000+139.000i  +85.000+216.000i +116.000 -58.000i +148.000-226.000i 
+171.000-137.000i +430.000+167.000i  -82.000+125.000i  -92.000 -56.000i 
  -2.000+235.000i  -69.000-121.000i +253.000-132.000i +300.000 +12.000i 
+117.000 +51.000i +189.000 -79.000i  +26.000+124.000i  +78.000-164.000i 

 (A+B)**2 = A**2 + AB + BA + B**2  :

+238.000+139.000i  +85.000+216.000i +116.000 -58.000i +148.000-226.000i 
+171.000-137.000i +430.000+167.000i  -82.000+125.000i  -92.000 -56.000i 
  -2.000+235.000i  -69.000-121.000i +253.000-132.000i +300.000 +12.000i 
+117.000 +51.000i +189.000 -79.000i  +26.000+124.000i  +78.000-164.000i 


 Press return to continue
 Press X      to stop