Aller au contenu

Mathc matrices/01m

Un livre de Wikilivres.


Valeurs propres. Vecteurs propres

Étude du code : GJ_PP_FreeV_mR();

[modifier | modifier le wikicode]
  • Vous devez utiliser l'algorithme des variables libres.
  • GJ_PP_FreeV_mR(); La fonction introduit une ligne de zéro, une variable libre, résout le système et retourne un vecteur libre (un vecteur propre)
/* ------------------------------------ */
/* ------------------------------------ */
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);                    // Copy Ab into new_Ab
      zero4_under_all_pivot_mR(new_Ab);               // Displays a null row
      put_freeV_TP_mR(new_Ab,rsize_Ab);               // Introduces the free variable
      

      r=Ab[C_SIZE_A][C0]-C1;
      while( r>R1 )                                   // Solves the system
        zero_above_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);                                   // Returns a free vector
}
/* ------------------------------------ */
/* ------------------------------------ */