< Mathc matrices


Sommaire


Installer ce fichier dans votre répertoire de travail.

vgjeignv.h
'
/* ------------------------------------ */
/*  Save as :   vgjeignv.h             */
/* ------------------------------------ */
void gj_freevariable_eignvector_mR(
double **Ab,
double **eignV
)
{
double **new_Ab;
int    rsize_Ab = rsize_mR(Ab);
int r;
  
      new_Ab = i_duplicateAbR0_Ab_c_A_c_mR(
                             Ab[C_SIZE_A][C0],
                             Ab[C_SIZE][C0]+C1,
                             Ab[C_SIZE_A][C0]);
                             
      c_n_r_mR(Ab,rsize_Ab,new_Ab);        
      zero4_under_all_pivot_mR(new_Ab);   
      put_freevariable_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 eignVectoruv_mR(
double **A,
double **EignVector
)
{
int i;	
int r = rsize_mR(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 **sIde_A    =         i_mR(r,r);

  eigsuv_mR(A,EigsValue);  
  
  for(i = R1; i <= rsize_mR(EigsValue); i++)
  {  
   smul_mR(c_coef_R(EigsValue,i,C1),Ide,sIde);
   sub_mR(sIde,A,sIde_A);
   Ab = c_A_b_Ab_mR(sIde_A,b,i_AbR0_mR(r,r,C1));
   
   gj_freevariable_eignvector_mR(Ab,eignV);
   
   c_c_mR(eignV,C2,EignVector,i);  
     
  }    
   
  Normalizeuv_mR(EignVector);  

  f_mR(EigsValue);
  f_mR(eignV);
  
  f_mR(Ab);
  f_mR(b);
  
  f_mR(Ide);
  f_mR(sIde);
  f_mR(sIde_A);
}
/* ------------------------------------ */
/* ------------------------------------ */


Déclaration des fichiers h.


Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.