Aller au contenu

Mathc complexes/a135

Un livre de Wikilivres.


Application

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
void xr_commute2_mZ(
double **A,
double **B,
int      n
)
{
double **P; 
double **Pinv; 
double **D;
double **T;
double **Dt;

int r=rsize_Z(A);

 P    = i_mZ(r,r);
 Pinv = i_mZ(r,r);
 D    = i_mZ(r,r);
 T    = i_mZ(r,r);
 Dt   = i_mZ(r,r);
 
     r_mZ(P,n);  
 rdiag_mZ(D,n);
 
 inv_mZ(P,Pinv);
 mul_mZ(P,Diag_sin_mZ(D,Dt),T);
 mul_mZ(T,Pinv,A);

 mul_mZ(P,Diag_cos_mZ(D,Dt),T);
 mul_mZ(T,Pinv,B);
 
 f_mZ(P);
 f_mZ(Pinv);
 f_mZ(D);
 f_mZ(T);
 f_mZ(Dt);
}
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r)
{
double **A  = i_mZ(r,r);
double **B  = i_mZ(r,r);
double **T  = i_mZ(r,r);

  r_commute2_mZ(A,B,9);

  clrscrn();
  printf(" A : ");
  p_mZ(A,S5,P3,S5,P3,C6);                                
  printf(" B : ");
  p_mZ(B,S5,P3,S5,P3,C6);       

  printf(" AB : ");
  p_mZ(mul_mZ(A,B,T),S5,P9,S5,P9,C6);
  printf(" BA : ");
  p_mZ(mul_mZ(B,A,T),S5,P9,S5,P9,C6);
    
  f_mZ(A);
  f_mZ(B);
  f_mZ(T);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
do
{
  fun(RC3);

} while(stop_w());

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

Exemple de sortie écran :

 A : 
-3.763+0.057i -1.230+2.116i +0.492-1.656i 
-0.122+4.716i +2.925+1.445i -1.735-0.646i 
-4.178-0.767i -1.551+1.872i +1.495-1.503i 

 B : 
-0.926-0.147i -0.558+0.393i +0.023-0.497i 
+0.684+0.308i +0.444-0.438i -0.131+0.691i 
+0.810-0.704i -0.054-1.381i +0.404+0.585i 

 AB : 
+1.231167760-0.120443220i +0.145471439-0.622551969i -0.189999240+0.362760492i 
+0.499950406-1.760261351i -0.652251892-0.889354324i +0.635886630+0.723048262i 
+2.270908997-0.143466735i +0.609902338-1.685986769i -0.083612191+1.009797544i 

 BA : 
+1.231167760-0.120443220i +0.145471439-0.622551969i -0.189999240+0.362760492i 
+0.499950406-1.760261351i -0.652251892-0.889354324i +0.635886630+0.723048262i 
+2.270908997-0.143466735i +0.609902338-1.685986769i -0.083612191+1.009797544i 


 Press   return to continue
 Press X return to stop