Mathc complexes/a143

Un livre de Wikilivres.

Application

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

c00c.c
/* ------------------------------------ */
/*  Save as :   c00c.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A   = r_mZ(i_mZ(r,r),9);
double **A_2 = i_mZ(r,r);
double **B   = r_mZ(i_mZ(r,r),9);
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 **AB2  = i_mZ(r,r);
double **T1   = i_mZ(r,r);
double **T2   = i_mZ(r,r);

  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 + 2*AB + B**2   :\n");
  pow_mZ(2,A,A_2);  
  mul_mZ(A,B,AB);
 smul_mZ(2,AB,AB2);
  pow_mZ(2,B,B_2);
  add_mZ(A_2,AB2,T1);
  add_mZ(T1,B_2,T2);
  p_mZ(T2,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(AB2);
  f_mZ(T1);
  f_mZ(T2);
}
/* ------------------------------------ */
void hello(void)
{
  printf("\n                                                  ");
  printf("\n       None commutative matrices                  ");
  printf("\n                                                  ");
  printf("\n     (A+B)**2 != A**2 + 2*AB + 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 : 
+9.000+7.000i -3.000-9.000i -7.000-2.000i -8.000-4.000i 
+2.000-9.000i -4.000+1.000i +5.000-1.000i +5.000-7.000i 
-8.000+9.000i -8.000-1.000i +5.000-7.000i +4.000+5.000i 
-5.000+1.000i +7.000-6.000i +5.000-2.000i -6.000-9.000i 

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

 Press return to continue. 


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

+463.000+376.000i  -86.000  +2.000i -629.000-129.000i -374.000-190.000i 
 -62.000 +56.000i -102.000 -76.000i -141.000 -63.000i  +82.000 +56.000i 
-122.000 +16.000i +276.000+118.000i -223.000 +82.000i +213.000-187.000i 
-224.000 -45.000i -264.000+148.000i +182.000-306.000i  +52.000+188.000i 

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

+346.000+467.000i  -81.000 +32.000i -550.000-270.000i -361.000-286.000i 
 -89.000-289.000i -129.000-193.000i -217.000 +60.000i -103.000 +59.000i 
-347.000 -71.000i +390.000 +30.000i -149.000 +87.000i +402.000-242.000i 
-178.000+191.000i -264.000+163.000i +123.000-456.000i +122.000+209.000i 


 Press return to continue
 Press X      to stop