Mathc gnuplot/Conclusion
Installer ce fichier dans votre répertoire de travail.
vdeignv.h |
---|
/* ------------------------------------ */
/* Save as : vdeignv.h */
/* ------------------------------------ */
void GJ_PP_FreeV_mR(
double **Ab,
double **eignV
)
{
double **new_Ab;
int rsize_Ab = rsize_R(Ab);
int r;
new_Ab = i_Abr_Ac_bc_mR(csize_A_R(Ab),
csize_A_R(Ab),
C2);
c_nr_mR(Ab,rsize_Ab,new_Ab);
zero4_under_all_pivot_mR(new_Ab);
put_freeV_TP_mR(new_Ab,rsize_Ab);
r=Ab[C_SIZE_A][C0]-C1;
while( r>R1 )
zero_below_pivot_gj1Ab_mR(new_Ab,r--);
sort_c_mR(new_Ab);
sort_r_mR(new_Ab);
c_Ab_b_mR(new_Ab,eignV);
f_mR(new_Ab);
}
/* ------------------------------------ */
/* ------------------------------------ */
double **eigs_V_mR(
double **A,
double **V
)
{
int i;
int r = rsize_R(A);
double **EigsValue = i_mR(r,C1);
double **eignV = i_mR(r,r);
double **Ab;
double **b = m0_mR(i_mR(r,C1));
double **Ide = eye_mR(i_mR(r,r));
double **sIde = i_mR(r,r);
double **AmnssIde = i_mR(r,r);
eigs_mR(A,EigsValue);
for(i = R1; i <= rsize_R(EigsValue); i++)
{
smul_mR(EigsValue[i][C1],Ide,sIde);
MmnsD_mR(A,sIde,AmnssIde);
Ab = c_A_b_Ab_mR(AmnssIde,b,i_Abr_Ac_bc_mR(r,r,C1));
GJ_PP_FreeV_mR(Ab,eignV);
c_c_mR(eignV,C2,V,i);
}
Normalize_mR(V);
f_mR(EigsValue);
f_mR(eignV);
f_mR(Ab);
f_mR(b);
f_mR(Ide);
f_mR(sIde);
f_mR(AmnssIde);
return(V);
}
/* ------------------------------------ */
/* ------------------------------------ */
Déclaration des fichiers h.