Aller au contenu

Mathc complexes/a134

Un livre de Wikilivres.


Bibliothèque


Installer ce fichier dans votre répertoire de travail.

wrm_com4.h
/* ------------------------------------ */
/* ------------------------------------ */
/*  Save as :   wrm_com4.h              */
/* ------------------------------------ */

/* ------------------------------------ */
void r_commute4_mZ(
double **A,
double **B,
double **C,
double **E,
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);
 
 mul_mZ(P,Diag_sinh_mZ(D,Dt),T);
 mul_mZ(T,Pinv,C);

 mul_mZ(P,Diag_cosh_mZ(D,Dt),T);
 mul_mZ(T,Pinv,E);
 
 
 f_mZ(P);
 f_mZ(Pinv);
 f_mZ(D);
 f_mZ(T);
 f_mZ(Dt);
}
/* ------------------------------------ */
/* ------------------------------------ */
void rE_commute4_mZ(
double **A,
double **B,
double **C,
double **E,
int      n,
double   F                               /*  1E-1  1E-0  1E+1 */
)
{
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);
 
    rE_mZ(P,n,F);
 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);
 
  mul_mZ(P,Diag_sinh_mZ(D,Dt),T);
  mul_mZ(T,Pinv,C);
 smul_mZ(1./(C[R1][C1]),C,T);
    c_mZ(T,C);
    
  mul_mZ(P,Diag_cosh_mZ(D,Dt),T);
  mul_mZ(T,Pinv,E);
 smul_mZ(1./(E[R2][C1]),E,T);
    c_mZ(T,E);
     
 f_mZ(P);
 f_mZ(Pinv);
 f_mZ(D);
 f_mZ(T);
 f_mZ(Dt);
}
/* ------------------------------------ */
/* ------------------------------------ */


Déclaration des fichiers h.