Aller au contenu

Mathc matrices/c33 2c

Un livre de Wikilivres.


Application

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

c02c.c
/* ------------------------------------ */
/*  Save as :   c02c.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A   = r_mR(i_mR(r,r),9);
double **A_2 = i_mR(r,r);
double **B   = r_mR(i_mR(r,r),9);
double **B_2 = i_mR(r,r);
double **AplsB   = i_mR(r,r);
double **AplsB_2 = i_mR(r,r);
double **AB   = i_mR(r,r);
double **AB2  = i_mR(r,r);
double **T1   = i_mR(r,r);
double **T2   = i_mR(r,r);

  clrscrn();
  printf(" A : ");
  p_mR(A,S5,P3,C6);                                
  printf(" B : ");
  p_mR(B,S5,P3,C6);    
  stop();
  
  clrscrn();   
  printf("(A+B)**2 :\n");
  add_mR(A,B,AplsB);
  pow_mR(2,AplsB,AplsB_2);
  p_mR(AplsB_2,S8,P3,C6);  
      
  printf(" (A+B)**2 != A**2 + 2*AB + B**2   :\n");
  pow_mR(2,A,A_2);  
  mul_mR(A,B,AB);
 smul_mR(2,AB,AB2);
  pow_mR(2,B,B_2);
  add_mR(A_2,AB2,T1);
  add_mR(T1,B_2,T2);
  p_mR(T2,S8,P3,C6);
    
  f_mR(A);
  f_mR(A_2);
  f_mR(B);
  f_mR(B_2);
  f_mR(AplsB);
  f_mR(AplsB_2);
  f_mR(AB);
  f_mR(AB2);
  f_mR(T1);
  f_mR(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(RC5);

} while(stop_w());

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


Exemple de sortie écran :

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

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

 Press return to continue. 

 
(A+B)**2 :

-329.000  +48.000  +28.000  +42.000  -24.000 
 -10.000 +199.000   -8.000 +242.000  +41.000 
 +78.000  -35.000 -112.000  +50.000 -285.000 
-314.000  +34.000  +84.000 +347.000 +173.000 
 -91.000  -45.000 -205.000  -57.000  -56.000 

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

-303.000  -54.000 -180.000  +63.000  +83.000 
 +25.000 +279.000  -67.000   +8.000 +155.000 
 -69.000   +8.000 -141.000 +158.000 -262.000 
-319.000  -26.000 -150.000 +448.000 +191.000 
-150.000 -117.000 -262.000  -68.000 -234.000 


 Press return to continue
 Press X      to stop