Mathc matrices/Fichiers h : vrm sy2
Apparence
Installer ce fichier dans votre répertoire de travail.
vrm_com3.h |
---|
/* ------------------------------------ */
/* Save as : vrm_com3.h */
/* ------------------------------------ */
/* ------------------------------------ */
double **Diag_sinh_mR(
double **A,
double **sinA)
{
int r;
int c;
m0_mR(sinA);
for (r=R1; r<A[R_SIZE][C0]; r++)
for (c=C1; c<A[C_SIZE][C0]; c++)
if(r==c) sinA[r][c] = 10./sinh(A[r][c]);
return(sinA);
}
/* ------------------------------------ */
double **Diag_cosh_mR(
double **A,
double **cosA)
{
int r;
int c;
m0_mR(cosA);
for (r=R1; r<A[R_SIZE][C0]; r++)
for (c=C1; c<A[C_SIZE][C0]; c++)
if(r==c) cosA[r][c]=10./cosh(A[r][c]);
return(cosA);
}
/* ------------------------------------ */
void r_commute3_mR(
double **A,
double **B,
double **C,
int n
)
{
double **P;
double **Pinv;
double **D;
double **T;
double **Dt;
int r=rsize_R(A);
P = i_mR(r,r);
Pinv = i_mR(r,r);
D = i_mR(r,r);
T = i_mR(r,r);
Dt = i_mR(r,r);
while(!det_R(r_mR(P,n)));
rdiag_mR(D,n);
inv_mR(P,Pinv);
mul_mR(P,Diag_sin_mR(D,Dt),T);
mul_mR(T,Pinv,A);
mul_mR(P,Diag_cos_mR(D,Dt),T);
mul_mR(T,Pinv,B);
mul_mR(P,Diag_sinh_mR(D,Dt),T);
mul_mR(T,Pinv,C);
f_mR(P);
f_mR(Pinv);
f_mR(D);
f_mR(T);
f_mR(Dt);
}
/* ------------------------------------ */
/* ------------------------------------ */
Trois matrices commutatives