Aller au contenu

Mathc matrices/h11b

Un livre de Wikilivres.


Bibliothèque



Installer ce fichier dans votre répertoire de travail.

vdeignv.h
/* ------------------------------------ */
/*  Save as :   vdeignv.h               */
/* ------------------------------------ */
double **GJ_PP_FreeV_mR(
double **Ab,
double **b_free
)
{
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,b_free);
            
      f_mR(new_Ab);
      
      return(b_free);  
}
/* ------------------------------------ */
/* ------------------------------------ */
double **eigs_V_mR(
double **A,
double **V
)
{
int i;	
int r = rsize_R(A);
	
double **EigsValue =         i_mR(r,C1);

double **Ab        = i_Abr_Ac_bc_mR(r,r,C1);
double **b         =         i_mR(r,C1);
double **b_free    =         i_mR(r,r);

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);
           sub_mR(A,sIde,AmnssIde);
   
      c_A_b_Ab_mR(AmnssIde,b,Ab);
   
   GJ_PP_FreeV_mR(Ab,b_free);
   
           c_c_mR(b_free,C2,V,i);   
  }    
   
  Normalize_mR(V);  

  f_mR(EigsValue);

  f_mR(Ab);
  f_mR(b);
  f_mR(b_free); 
   
  f_mR(Ide);
  f_mR(sIde);
  f_mR(AmnssIde);
  
  return(V);
}
/* ------------------------------------ */
/* ------------------------------------ */


Déclaration des fichiers h.