# Problème aux valeurs propres généralisé

En algèbre linéaire, un problème aux valeurs propres généralisé est une extension du problème de recherche de vecteurs et valeurs propres d'une matrice.
Soient A et B deux matrices carrées de dimension n×n. Le problème aux valeurs propres généralisé consiste à trouver un vecteur v (de dimension n) vérifiant
    $\mathrm {A} \mathbf {v} =\lambda \mathrm {B} \mathbf {v}$
où λ est un scalaire. Un tel vecteur v est appelé « vecteur propre généralisé de A et de B », et le scalaire λ associé est appelé « valeur propre généralisée de A et de B ».
Notons $(\cdot ,\cdot )_{\mathbb {C} ^{n}}$ le produit scalaire canonique hermitien de $\mathbb {C} ^{n}$ :
    $(\mathbf {v} ,\mathbf {u} )_{\mathbb {C} ^{n}}=\mathbf {v} ^{*}\mathbf {u}$
où l'opération u$^*$ désigne la transconjuguée de u. Alors, le problème aux valeurs propres généralisées peut aussi s'écrire :
    $\forall \mathbf {u} \in \mathbb {C} ^{n},(\mathrm {A} \mathbf {v} ,\mathbf {u} )_{\mathbb {C} ^{n}}=\lambda (\mathrm {B} \mathbf {v} ,\mathbf {u} )_{\mathbb {C} ^{n}}$
Notons que ce problème peut avoir des valeurs propres généralisées nulles ou bien infinies.

## Exemples d'applications

La résolution de certains problèmes aboutit à un problème aux valeurs propres généralisé. Par exemple :
* la régression elliptique : une ellipse peut se représenter par une équation matricielle, et la recherche de la « meilleure ellipse » passant par un nuage de points peut se faire en résolvant un problème aux valeurs propres généralisé (Fitzgibbon et coll.) ;
* lorsque l'on cherche à résoudre l'équation de Schrödinger pour des molécules dans le cas de couches électroniques ouvertes (c'est-à-dire dont la couche de valence n'est pas complète), on aboutit aux équations de Roothaan, qui peuvent être écrites sous la forme d'un problème aux valeurs propres généralisé ; voir Méthode de Hartree-Fock restreinte pour couche ouverte ;
* la résolution d'un système d'équations différentielles pouvant s'écrire sous forme matricielle : $\left\{{\begin{aligned}\mathrm {A} \cdot {\frac {\mathrm {d} {\boldsymbol {\alpha }}}{\mathrm {d} t}}(t)+\mathrm {B} {\boldsymbol {\alpha }}(t)\ &=\mathbf {f} (t)\\{\boldsymbol {\alpha }}(0)\ &={\boldsymbol {\alpha }}_{0}\end{aligned}}\right.$ où A et B sont à symétriques à coefficients réels, A est définie positive, f est une fonction continue de R dans R$^n$ et α$_0$ est un vecteur (condition initiale).
* en mécanique, les problèmes de dynamique vibratoire conduisent à la résolution du problème aux valeurs propres généralisés suivant : $\mathbb {K} u=\omega ^{2}\mathbb {M} u$ avec :
** $\mathbb {K} ,\mathbb {M}$ respectivement les matrices de raideur et de masse issues d'une discrétisation par éléments finis
** $\omega$ les pulsations propres de la structure discrétisée
** u les modes de déformation associés

## Propriétés

Le scalaire λ doit vérifier l'équation :
    $\operatorname {det} (\mathrm {A} -\lambda \mathrm {B} )=0$
Notons que l'ensemble des matrices de la forme A - λB est un faisceau de matrices linéaire (linear matrix pencil).
Supposons que le problème ait n solutions, c'est-à-dire que l'on ait n couples de valeurs propres-vecteurs propres (λ$_i$, v$_i$)$_{1≤i≤n}$, c'est-à-dire n vecteurs (v$_i$)$_{1≤i≤n}$ et n scalaires (λ$_i$)$_{1≤i≤n}$ vérifiant
    $\forall 1\leqslant i\leqslant n,\ \mathrm {A} \mathbf {v} _{i}=\lambda _{i}\mathrm {B} \mathbf {v} _{i}$
notons les composantes
    $\mathbf {v} _{i}{\begin{pmatrix}v_{i1}\\\vdots \\v_{im}\end{pmatrix}}$
et définissons les matrices P et D :
    $\mathrm {P} =[\mathbf {v} _{1},\mathbf {v} _{2},\cdots ,\mathbf {v} _{n}]={\begin{pmatrix}v_{11}&v_{21}&\cdots &v_{n1}\\\vdots &\vdots &&\vdots \\v_{1n}&v_{2n}&\cdots &v_{nn}\end{pmatrix}}$
    $\mathrm {D} _{ij}=\left\{{\begin{aligned}\lambda _{i}&{\text{ si }}i=j\\0&{\text{ sinon}}\end{aligned}}\right.$ ; $\mathrm {D} ={\begin{pmatrix}\lambda _{1}&0&0&\cdots &0\\0&\lambda _{2}&0&\cdots &0\\\vdots &\vdots &\vdots &&\vdots \\0&0&0&\cdots &\lambda _{n}\end{pmatrix}}=\mathrm {diag} (\lambda _{1},\lambda _{2},\ldots ,\lambda _{n})$
On a alors :
    $\mathrm {A} =(\mathrm {BP} )\mathrm {DP} ^{-1}$
On a
    $\mathrm {A} \mathrm {P} =\mathrm {A} [\mathbf {v} _{1},\cdots ,\mathbf {v} _{n}]=[\mathrm {A} \mathbf {v} _{1},\cdots ,\mathrm {A} \mathbf {v} _{n}]=[\lambda _{1}\mathrm {B} \mathbf {v} _{1},\cdots ,\lambda _{n}\mathrm {B} \mathbf {v} _{n}]=[\mathrm {B} \mathbf {v} _{1},\cdots ,\mathrm {B} \mathbf {v} _{n}]\mathrm {D}$
soit
    $\mathrm {A} \mathrm {P} =\mathrm {B} \mathrm {P} \mathrm {D}$.
Par ailleurs, la matrice P est régulière, on peut donc multiplier à droite chaque membre par P$^{-1}$, cqfd.

## Cas particuliers
### Si B est inversible

Si la matrice B est régulière, alors on peut réécrire le problème sous la forme d'un problème aux valeurs propres « classique » :
    B$^{-1}$Av = λv
mais il est en général préférable de résoudre directement le problème initial. En particulier, si A et B sont hermitiennes, alors la matrice B$^{-1}$A n'est en général elle-même pas hermitienne ; la reformulation masque alors des propriétés importantes de la solution.
Notons que puisque B et P sont régulières, alors BP l'est aussi.

### Si A et B sont hermitiennes et que B est définie positive

Théorème — Si A et B sont hermitiennes (et a fortiori si elles sont symétriques à coefficients réels), et que de plus B est définie positive, alors le problème aux valeurs propres généralisé admet n valeurs propres généralisées réelles (λ$_i$)$_{1≤i≤n}$, associés à n vecteurs propres généralisés (v$_i$)$_{1≤i≤n}$ formant une base B-orthogonale.
La matrice B étant définie positive, on peut définir le produit scalaire $(\cdot ,\cdot )_{\mathrm {B} }$ par :
    $(\mathbf {v} ,\mathbf {u} )_{\mathrm {B} }=(\mathrm {B} \mathbf {v} ,\mathbf {u} )_{\mathbb {C} ^{n}}=(\mathrm {B} \mathbf {v} )^{*}\mathbf {u}$
le problème aux valeurs propres généralisé peut donc s'écrire :
    $\forall \mathbf {u} \in \mathbb {C} ^{n},(\mathrm {A} \mathbf {v} ,\mathbf {u} )_{\mathbb {C} ^{n}}=\lambda (\mathbf {v} ,\mathbf {u} )_{\mathrm {B} }$
Ce cas implique donc l'existence de n couples de valeurs propres-vecteurs propres (λ$_i$, v$_i$)$_{1≤i≤n}$, et :
* les valeurs propres généralisées λ$_i$ sont réelles ;
* si deux vecteurs propres généralisés v$_i$ et v$_j$ (i ≠ j) ont des valeurs propres généralisées distinctes, alors v$_i$ et v$_j$ sont B-orthogonaux : $\forall \{i,j\}\in [1;n]^{2},(\mathbf {v} _{i},\mathbf {v} _{j})_{\mathrm {B} }=0$, ce qui s'écrit également $^{\mathrm {t} }{\bar {\mathbf {v} _{i}}}\mathrm {B} \mathbf {v} _{j}=0$ $^t$v$_i$ désignant la matrice transposée et v$_i$, soit encore $^t$PBP = I$_n$,
Donc (v$_i$)$_{1≤i≤n}$ est une base de vecteurs propres généralisés (ce n'est pas un problème défectif).
L'égalité
    A = (BP)DP$^{-1}$
est donc la décomposition spectrale généralisée de A, analogue à la décomposition spectrale d'une matrice hermitienne :
* D est une matrice diagonale ;
* (BP)$^{-1}$ = $^t$P (puisque $^t$PBP = I$_n$), ce qui « joue le rôle » de la matrice unitaire.

## Mise en œuvre

De nombreux logiciels de calcul numérique ont développé des fonctions de résolution de problèmes valeurs propres généralisés. Citons par exemple :
Scilab
Cette fonction permet de traiter les cas dégénérés (valeurs propres nulles, s'il y a des zéros dans alpha, ou bien infinies, s'il y a des zéros dans beta). Si le cas n'est pas dégénéré, on a alors :
À partir de la version 5.4, on peut utiliser pour les cas non dégénérés :
Matlab Pour les cas dégénérés, on peut utiliser
Les colonnes des matrices V et W contiennent les vecteurs propres généralisés.
Si le cas n'est pas dégénéré, on a alors :
Et pour les cas non dégénérés :