Mathc matrices/c23d

Un livre de Wikilivres.
Aller à la navigation Aller à la recherche


Sommaire


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


Crystal Clear mimetype source c.png c03b.c
/* ------------------------------------ */
/*  Save as :   c03b.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A  = r_mR(i_mR(r,r ),99.);
double **B  = r_mR(i_mR(r,r ),99.);
double **AmnsB =   i_mR(r,r);
double **AplB  =   i_mR(r,r);

  clrscrn();
  printf(" A :");
  p_mR(A,3,0,6);
  printf(" B :");
  p_mR(B,3,0,6);
  
  add_mR(A,B,AplB);  
  sub_mR(A,B,AmnsB);
  
  printf("       2||u||^2 +  2||v||^2 = %.0f \n\n", 
  
            2 * pow(norm_traceAtB_R(A),2.)
          + 2 * pow(norm_traceAtB_R(B),2.) );
      
  printf("  ||u + v||^2 + ||u - v||^2 = %.0f \n\n", 
  
            pow(norm_traceAtB_R(AplB),2.) 
          + pow(norm_traceAtB_R(AmnsB),2.) );

  f_mR(A);
  f_mR(B);
  f_mR(AplB);
  f_mR(AmnsB);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

do
{  
  fun(rp_I(3)+R2);
  
} while(stop_w());

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


Nous vérifions une propriétée du produit scalaire.


Exemple de sortie écran :
 ------------------------------------ 
 A :
-73 -37 -79 -85 -87 
+24 +60 +10 -85 -35 
+32 +38 -81 -35 -11 
+72 +42 +46 -81 -75 
+58  -1 -27 -59 +84 

 B :
-45 +80 +86 +32 -15 
+74  +4 +50 -53 +88 
-35 +76 +46 +44 +62 
+80 -73 -99 +62  +8 
 +8 +32 +48 -53 -11 

       2||u||^2 +  2||v||^2 = 337974 

  ||u + v||^2 + ||u - v||^2 = 337974 


 Press return to continue
 Press X      to stop