Matrices creuses
Complément de calcul formel pour l’agrégation, ENS Rennes Salim Rostam
Soit K un corps et n ∈ N
∗. On note M
n(K) l’algèbre des matrices de taille n × n à coefficients dans K.
1 Premiers contacts
1. Rappeler la complexité de l’opération M
n(K) × K
n3 (M, v) 7→ M v et celle du produit matriciel dans M
n(K). Implanter ces opérations.
Soit φ : N → N telle que φ(n) = o(n). On dit qu’une matrice A = (a
ij) ∈ M
n(K) est φ-creuse si
#{j ∈ {1, . . . , n} : a
ij6= 0} ≤ φ(n), pour tout i ∈ {1, . . . , m}.
2. Donner des exemples de matrices creuses.
3. Soit M ∈ M
n(K) une matrice creuse. Donner la complexité des opérations K
n3 v 7→ M v et M
n(K) 3 N 7→ M N.
4. Proposer une implantation des matrices creuses (incluant les opérations précédentes).
5. Soit M une matrice creuse. Comparer les vitesses d’exécutions des opérations précédentes pour les deux implantations et avec celles de Sage.
6. Comment calculer les puissances d’une matrice creuse ? Comparer avec les méthodes habituelles.
2 Méthode de la puissance
Soit M ∈ M
n( R ). On suppose que M possède une unique valeur propre λ (parmi les valeurs propres complexes distinctes) de module maximal. On choisit x
(0)∈ R
net on considère la suite définie par
x
(k+1):= 1
kM x
(k)k M x
(k). 1. Pourquoi λ ∈ R ?
2. Donner une condition sur x
(0)pour que kM x
(n)k converge vers |λ|.
3. Vers quoi converge, en général, la suite
(M x(k))ix(k)i
k
, où i ∈ {1, . . . , n} ?
4. Montrer que (sgn(λ)
kx
(k))
kconverge vers un vecteur propre (unitaire) de M associé à λ.
5. Pourquoi cet algorithme est-il utilisé par Google ?
1
3 Suites récurrentes linéaires
(Référence pour la suite : le texte de type agreg Matrices creuses et algorithme de Wiedeman de V. Pilaud et Résolution de systèmes linéaires creux : l’algorithme de Wiedemann d’A. Chambert- Loir.)
Soient d ∈ N
∗et a
0, . . . , a
d−1∈ K. Soit (u
k) ∈ K
Nune suite vérifiant la récurrence linéaire de degré d suivante :
u
k+d=
d−1
X
i=0