Bibliothèque

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);  
    MmnsD_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);
}
/* ------------------------------------ */
/* ------------------------------------ */