Bibliothèque



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


Déclaration des fichiers h.