Mathc complexes/a45
Installer ce fichier dans votre répertoire de travail.
wdeignv.h |
---|
/* ------------------------------------ */
/* Save as : wdeignv.h */
/* ------------------------------------ */
double **eigs_V_mZ(
double **A,
double **V,
double factor
)
{
int r = rsize_Z(A);
int i;
double **sA = smul_mZ(factor, A,i_mZ(r,r));
double **EigsValue = i_mZ(r,C1);
double **Ide = eye_mZ(i_mZ(r,r));
double **zIde = i_mZ(r,r);
double **AmnszIde = i_mZ(r,r);
double **Ab = i_Abr_Ac_bc_mZ(r,r,C1);
double **b = i_mZ(r, C1 );
double **Ab_free = i_Abr_Ac_bc_mZ(r,r,C2);
double **b_free = i_mZ( r, C2);
eigs_mZ(sA,EigsValue);
for(i = R1; i <= rsize_Z(EigsValue); i++)
{
zmul_mZ(i_Z(EigsValue[i][C1],EigsValue[i][C2]),Ide,zIde);
sub_mZ(sA,zIde,AmnszIde);
c_A_b_Ab_mZ(AmnszIde,b,Ab);
GJ_PP_FreeV_mZ(Ab,Ab_free,b_free);
c_c_mZ(b_free,C2,V,i);
}
Normalize_mZ(V);
f_mZ(sA);
f_mZ(EigsValue);
f_mZ(Ide);
f_mZ(zIde);
f_mZ(AmnszIde);
f_mZ(Ab);
f_mZ(b);
f_mZ(Ab_free);
f_mZ(b_free);
return(V);
}
/* ------------------------------------ */
/* ------------------------------------ */