SommaireUtilise la commande "Retour en Arrière" de ton navigateur.

Théorie : Vecteurs propres pour programmeurs.


 En Mathématique :
 Soit A une matrice. 
 Soit T une transformation qui à tous vecteurs v fait correspondre le vecteur Av.

             T(v) = Av 
             
 Cette transformation peut faire subir aux vecteurs v, des rotations, des translations, des expansions...

 Une transformation particulière est celle qui se contente de modifier uniquement la longueur et le sens du vecteur.

             T(v) = Av 
             T(v) = λv 
             
 Dans ce cas particulier, on dit que λ est une valeur propre, et v est un vecteur propre de cette transformation.  

 Nous avons :

             T(v) = Av 
             T(v) = λv  

 Nous avons obtenue les valeurs propres en calculant le déterminant : 
 
              det(A - λ Id) = 0 
             
 Soit le système :
               
                   A - λ Id = 0
                 
                 a-λ  + b   | 0 
                 c    + d-λ | 0
                 
  * Si toutes les valeurs propres sont distinctes, en résolvant ce système, nous obtiendrons une ligne nulle.

  Cette ligne nous permettra d'introduire une variable libre. En résolvant le système avec la variable libre, cela nous donnera un vecteur libre. Ce vecteur libre normalisé deviendra le vecteur propre de la valeur propre  λ.
  
  * Si certaines des valeurs propres sont identiques, en résolvant ce système, nous obtiendrons plusieurs lignes nulles.
 
  Ces lignes nous permettront d'introduire des variables libres. En résolvant le système avec les variables libres, cela nous donnera des vecteurs libres. Ces vecteurs libres normalisés deviendront les vecteur propres des valeurs propre  λ identiques.


En programmation :
Nous allons utiliser le même algorithme qu'en mathématiques pour les matrices réelles symétriques : eigs_V_mR(); et pour les matrices  complexes : eigs_V_mZ(); lorsque les valeurs propres sont distinctes. 

Les fonction GJ_PP_FreeV_mR(); et  GJ_PP_FreeV_mZ(); font apparaître la ligne nulle, introduisent la variable libre, résolvent le système, et retournent le vecteur libre.

Pour les  matrices réelles non symétriques, les valeurs propres devrons être calculés manuellement. Nous devrons faire de même pour les vecteurs propres, mais toujours avec le même algorithme.

Pour les  Valeurs propres multiples des  matrices réelles symétriques  et des  matrices complexes nous devrons donner manuellement la multiplicité de chaque valeur propre avant de calculer les vecteurs propres.