Espaces vectoriels réels de dimension finie
Cours complet · mathématiques appliquées (ECG 2e année), chapitre 1 · prépa ECG, 2e année
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
En première année, tous les calculs vectoriels se faisaient dans un seul décor : , l'ensemble des colonnes de réels. On y a défini la somme, le produit par un réel, les familles libres, les sous-espaces. Or les mêmes gestes reviennent ailleurs, mot pour mot. Deux matrices de même taille s'additionnent ; on multiplie une matrice par un réel ; on peut se demander si trois matrices données sont « indépendantes ». Deux polynômes de degré au plus s'additionnent et donnent encore un polynôme de degré au plus . Rien dans les raisonnements de première année n'utilisait le fait que les objets étaient des colonnes.
Ce chapitre fait le pas qui manquait : il nomme d'un seul mot — espace vectoriel — tous les décors où ces gestes ont un sens, et il montre que trois d'entre eux suffiront pour toute l'année : , l'ensemble des matrices, et l'ensemble des polynômes de degré au plus .
Le programme est explicite : « cette partie doit être traitée dans sa plus simple expression », et « on se limite par définition au cas de la dimension finie ». Il n'y a donc ici ni axiomes à vérifier, ni espace vectoriel abstrait, ni dimension infinie. Le chapitre installe un vocabulaire ; ce sont les chapitres 2 et 3 qui s'en serviront.
1.1 Qu'est-ce qu'un espace vectoriel de dimension finie ?
1.1.1 La définition du programme
Il existe plusieurs manières de définir un espace vectoriel. Celle du programme d'ECG est la plus économique : au lieu d'énumérer les règles de calcul, elle dit qu'un espace vectoriel de dimension est un ensemble qui se lit comme .
Soit . Un ensemble est un espace vectoriel réel de dimension lorsqu'il est muni
- d'une opération interne , qui à deux éléments et de associe un élément de ;
- d'une opération externe , qui à un réel et à un élément de associe un élément de ;
et lorsqu'il existe une bijection qui préserve les combinaisons linéaires :
Les éléments de s'appellent des vecteurs, les réels des scalaires. On note l'élément de tel que .
Dans d'autres filières, on définit un espace vectoriel par huit règles de calcul (associativité, distributivité…) et l'on démontre ensuite qu'en dimension finie il ressemble à . Le programme d'ECG prend le chemin inverse : il pose la ressemblance comme définition. C'est légitime précisément parce qu'on ne quittera jamais la dimension finie. En contrepartie, une phrase comme « montrons que est un espace vectoriel » ne vous sera jamais demandée : les espaces qu'on manipule sont donnés dans l'énoncé.
1.1.2 Les trois espaces de référence
Trois familles d'espaces vectoriels reviendront constamment.
- : les colonnes de réels, avec l'addition terme à terme.
- : les matrices à lignes et colonnes, avec l'addition matricielle et la multiplication par un réel.
- : les polynômes de degré au plus , c'est-à-dire les expressions avec .
contient le polynôme nul et tous les polynômes de degré . L'ensemble des polynômes de degré exactement , lui, n'est pas un espace vectoriel : la somme de et de est , qui n'est plus de degré . C'est le « au plus » qui sauve la stabilité.
est de dimension . est de dimension : une matrice est déterminée par ses six coefficients, et consiste à les écrire les uns sous les autres. est de dimension , et non : les coefficients sont .
Python : Trois espaces, trois façons de coder un vecteur
import numpy as np
u = np.array([1., -2., 0., 3.]) # un vecteur de R^4
A = np.array([[1., 0., 2.], # un vecteur de M_{2,3}(R)
[3., -1., 4.]])
p = np.array([5., 0., -1., 2.]) # 5 - x^2 + 2x^3, dans R_3[x]
print(u.size, A.size, p.size) # 4 6 4 <- les dimensions
print(A.flatten()) # [1. 0. 2. 3. -1. 4.] <- phi(A)
La méthode flatten est exactement la bijection pour les matrices : elle range les coefficients en une seule colonne, sans rien perdre ni rien ajouter.
1.2 Familles libres, familles génératrices
1.2.1 Combinaisons linéaires et sous-espace engendré
Soit une famille de vecteurs de . Une combinaison linéaire de cette famille est un vecteur de la forme
L'ensemble de toutes ces combinaisons s'appelle le sous-espace engendré par la famille, et se note .
Soit une famille de vecteurs de .
- Elle est libre lorsque la seule combinaison linéaire nulle est celle dont tous les coefficients sont nuls :
Sinon elle est liée.
- Elle est génératrice de lorsque : tout vecteur de s'écrit comme combinaison linéaire des .
Sur un dessin du plan, deux flèches non alignées « se voient » libres. Dès qu'on quitte le plan — trois matrices, quatre polynômes — le dessin n'existe plus. La seule méthode est celle de la définition : on écrit la combinaison linéaire nulle et on montre que les coefficients le sont. Écrire « les vecteurs sont visiblement indépendants » ne vaut aucun point.
1.2.2 Deux méthodes qui couvrent presque tout
Devant une famille , deux questions se posent, et elles ne coûtent pas le même prix.
- Est-elle libre ? On écrit , on traduit en un système linéaire homogène, et l'on montre que sa seule solution est nulle. Un seul système à résoudre.
- Est-elle génératrice ? On se donne un vecteur quelconque de et l'on cherche des tels que . Le second membre est cette fois un paramètre : c'est plus long, et il faut discuter.
D'où la stratégie de tout le chapitre : dès que le cardinal de la famille égale , on ne fait que le premier test (théorème du paragraphe 3.2).
Dans , la famille est libre. En effet, supposons
Le coefficient de dans le membre de gauche vaut ; il est donc nul. Il reste , dont le coefficient de vaut : nul lui aussi. Enfin .
L'exemple ci-dessus a une forme générale : une famille de polynômes non nuls de degrés deux à deux distincts est libre. On raisonne toujours pareil — on regarde le coefficient du plus haut degré présent, il ne peut venir que d'un seul polynôme de la famille, donc son coefficient est nul ; puis on recommence.
Dans , posons
On voit que , donc : la famille est liée. Le sous-espace est donc le même que — le troisième vecteur n'apportait rien.
1.3 Bases, dimension, coordonnées
1.3.1 Base
Une famille de vecteurs de est une base de lorsqu'elle est à la fois libre et génératrice de .
Soit une base de . Alors tout vecteur de s'écrit d'une unique façon
Les réels sont les coordonnées de dans la base , et l'on note la colonne correspondante.
Démonstration
Existence : la famille est génératrice, donc une telle écriture existe. Unicité : si et , alors en soustrayant, . La famille étant libre, tous les sont nuls, c'est-à-dire pour tout .
« Génératrice » garantit qu'on peut écrire ; « libre » garantit qu'on l'écrit d'une seule manière. Sans l'unicité, parler de la colonne des coordonnées n'aurait aucun sens, et les matrices du chapitre 2 ne seraient pas définies.
1.3.2 Dimension
Soit un espace vectoriel de dimension finie. Toutes les bases de ont le même nombre d'éléments. Ce nombre s'appelle la dimension de et se note . Si est de dimension au sens de la définition du paragraphe 1.1, alors .
Ce théorème est admis, conformément au programme. C'est lui qui autorise à parler de la dimension, et non « d'une » dimension : la bijection vers ne fixe pas toute seule, il faut savoir qu'aucune autre bijection ne donnerait un différent.
- Dans : la base canonique est , où a un en -ème position et des partout ailleurs. .
- Dans : la base canonique est la famille des , matrices dont le seul coefficient non nul est un en ligne et colonne . .
- Dans : la base canonique est . .
Soit un espace vectoriel de dimension , et soit une famille de exactement vecteurs de . Alors :
Vérifier qu'une famille est génératrice demande de résoudre un système pour un second membre quelconque ; vérifier qu'elle est libre demande de le résoudre pour le second membre nul. Le second calcul est bien plus court. Dès que le cardinal de la famille égale la dimension, on prouve donc la liberté, et la base s'ensuit. Attention : l'équivalence est fausse si le cardinal diffère de .
La famille compte éléments, et . Ses trois polynômes ont des degrés distincts (, , ), donc la famille est libre. Par le théorème, c'est une base de — sans avoir eu à résoudre le moindre système.
1.4 Sous-espaces vectoriels
Soit un espace vectoriel. Une partie de est un sous-espace vectoriel de lorsque
- ;
- pour tous de et tous réels , le vecteur appartient encore à .
Un sous-espace vectoriel est lui-même un espace vectoriel, de dimension finie.
Soit un espace vectoriel.
- Pour toute famille de vecteurs de , est un sous-espace vectoriel de .
- L'ensemble des solutions d'un système linéaire homogène à inconnues est un sous-espace vectoriel de .
Démonstration
(2) Le système s'écrit . La colonne nulle est solution. Et si et , alors, par linéarité du produit matriciel, . Les deux conditions sont remplies. Le point (1) se démontre de la même façon.
Devant une partie décrite par une équation, commencer toujours par regarder si y appartient. Si l'équation a un second membre non nul, la réponse est non et c'est fini. Ainsi n'est pas un sous-espace vectoriel de : c'est un plan affine, qui ne passe pas par l'origine.
Soit un sous-espace vectoriel de , avec . Alors
Soit . Le polynôme nul vérifie ; et si , alors . C'est bien un sous-espace vectoriel. Un polynôme de s'écrit avec , et l'on peut montrer que en est une base : .
Dans , prenons l'axe des abscisses et l'axe des ordonnées. Leur réunion contient et , mais pas leur somme : elle n'est pas stable par addition. En revanche l'intersection de deux sous-espaces vectoriels en est toujours un.
1.5 Rang d'une famille de vecteurs
Le rang d'une famille de vecteurs est la dimension du sous-espace qu'elle engendre :
Avec les notations précédentes :
- , avec égalité si et seulement si la famille est libre ;
- si les appartiennent à , alors ;
- la famille est génératrice de si et seulement si .
Une famille de vecteurs de rang contient deux vecteurs redondants : on peut en retirer deux sans changer . Le rang est donc le nombre de vecteurs qu'il faut au minimum pour engendrer le même sous-espace.
On range les vecteurs en lignes dans une matrice, puis on échelonne par opérations élémentaires sur les lignes (celles du pivot de Gauss, vues en première année) : elles ne changent ni le sous-espace engendré par les lignes, ni donc le rang. Le rang est alors le nombre de lignes non nulles de la matrice échelonnée, c'est-à-dire le nombre de pivots.
Cherchons le rang de la famille de
On reconnaît : le deuxième vecteur n'apporte rien. Restent et , qui ne sont pas proportionnels (la première coordonnée de est nulle, celle de ne l'est pas). Donc , et est un plan de .
Python : Le rang, et la vérification
import numpy as np
M = np.array([[1., 2., -1.], # u1 en ligne
[2., 4., -2.], # u2 en ligne
[0., 1., 3.]]) # u3 en ligne
print(np.linalg.matrix_rank(M)) # 2
print(M[1] - 2*M[0]) # [0. 0. 0.] <- la relation, en clair
matrix_rank donne le rang, mais ne dit pas quelle relation lie les vecteurs. La deuxième ligne, elle, exhibe la combinaison nulle — c'est celle-là qu'on écrit sur une copie.
Échelonner en rangeant les vecteurs en lignes ou en colonnes donne le même rang. Permuter les vecteurs de la famille ne change rien non plus. En revanche, ajouter un vecteur à la famille peut faire monter le rang de , jamais plus.