Application

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int rc)
{
double **A  = r_hermitian_mZ(i_mZ(rc,rc),9);
double **B  = r_hermitian_mZ(i_mZ(rc,rc),9);
double **AB =                i_mZ(rc,rc);

  clrscrn();
  
  printf(" A : ");
  p_mZ(A, S8,P0, S6,P0, C5); 

  printf(" B : ");
  p_mZ(B, S8,P0, S6,P0, C5); 

  printf(" AB : ");
  p_mZ(mul_mZ(A,B,AB), S8,P0, S6,P0, C5); 
  
  f_mZ(A);
  f_mZ(B);
  f_mZ(AB);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
   do 
         fun(rp_I(RC3)+RC1);
        
    while(stop_w());
        
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Le produit de deux matrices hermitiennes est hermitienne si et seulement si les matrices commutent.


Exemple de sortie écran :

 A : 
    +237    +0i     -169   +14i     -144   +58i     -115   +27i 
    -169   -14i     +262    +0i     +187  -121i     +106   -58i 
    -144   -58i     +187  +121i     +346    +0i     +252   -68i 
    -115   -27i     +106   +58i     +252   +68i     +330    +0i 

 B : 
    +287    +0i      +36    -9i      -26   -82i       -9  +102i 
     +36    +9i     +217    +0i      +70   +97i      +25   -68i 
     -26   +82i      +70   -97i     +315    +0i     -242   -88i 
      -9  -102i      +25   +68i     -242   +88i     +305    +0i 

 AB : 
  +64586 -2846i   -37306+11788i   -39256-33231i     -529+42887i 
  -40881 +6530i   +58591-19834i   +59943+24885i   -14073-39792i 
  -53885 -7327i   +70017 +7339i   +54331+78557i   +13243-75045i 
  -44809-19471i   +51105+15405i    +2090+74934i   +56033-55877i 


 Press   return to continue
 Press X return to stop