Abdessamad Touzani Python · Machine Learning
Trois représentations géométriques d'un système linéaire
Vue par lignes, vue par colonnes, et forme matricielle de Ax = b
Résumé On présente le système d'équations linéaires Ax = b sous trois angles géométriques distincts. La vue par lignes, familière du lycée, se heurte rapidement à la limite de la visualisation en haute dimension. La vue par colonnes reformule le problème en termes de combinaison linéaire — cadre naturel pour le machine learning et la data science. La forme matricielle unifie les deux et prépare la voie à l'élimination gaussienne, sujet du prochain article.

Mise en place du problème

Soit un système de n équations à n inconnues. On cherche un vecteur x ∈ ℝⁿ tel que :

Forme matricielle A x = b

où A ∈ ℝⁿˣⁿ, x ∈ ℝⁿ, b ∈ ℝⁿ

Ce problème unique admet trois lectures géométriques qui ne sont pas interchangeables en pratique : elles orientent la pensée différemment, surtout quand la dimension augmente.

La vue par lignes

Chaque ligne de A définit une équation scalaire. En dimension 2, l'équation a₁ᵀ x = b₁ est une droite dans ℝ². En dimension 3, c'est un plan.

Définition 2.1 — Solution du système (vue par lignes)

La solution x* est le point d'intersection de tous les hyperplans définis par les lignes de A. En dimension n, chaque équation définit un hyperplan de codimension 1 dans ℝⁿ.

x₁ x₂ ℓ₁ : x₁ + x₂ = 4 ℓ₂ : x₁ − x₂ = 0 x* = (2, 2)
Figure 1 — Vue par lignes en ℝ² : intersection de deux droites
Limite pratique. Dès que n ≥ 4, la vue par lignes perd son intérêt opérationnel : on ne peut plus visualiser l'intersection d'hyperplans dans ℝ⁴. C'est pourquoi on l'abandonne rapidement au profit de la vue par colonnes.

La vue par colonnes

C'est ici que l'algèbre linéaire moderne commence. On réécrit Ax = b non plus comme un ensemble d'équations scalaires, mais comme une combinaison linéaire des colonnes de A :

Décomposition par colonnes x₁ · col₁(A) + x₂ · col₂(A) + … + xₙ · colₙ(A) = b

Le problème devient : trouver les scalaires x₁, …, xₙ qui permettent d'atteindre b comme destination vectorielle, en combinant les colonnes de A.

Définition 3.1 — Combinaison linéaire

Soient des vecteurs v₁, …, vₖ ∈ ℝⁿ et des scalaires c₁, …, cₖ ∈ ℝ. Le vecteur

w = c₁v₁ + c₂v₂ + … + cₖvₖ ∈ ℝⁿ

est une combinaison linéaire de v₁, …, vₖ. Résoudre Ax = b revient à trouver les coefficients cᵢ = xᵢ de cette combinaison.

O col₁ col₂ b x₁·col₁ x₂·col₂
Figure 2 — Vue par colonnes : b atteint en combinant les vecteurs colonnes de A
Pourquoi c'est central en ML. En machine learning, les colonnes de A sont les features. Résoudre Ax = b revient à exprimer une cible b comme combinaison pondérée de ces features — c'est exactement la régression linéaire.

Multiplication matrice-vecteur : deux calculs, un seul résultat

Il existe deux façons de calculer le produit Ax. Elles reflètent deux manières de penser la transformation :

Méthode 1 — par lignes
(Ax)ᵢ = aᵢᵀ · x
= Σⱼ aᵢⱼ · xⱼ

chaque ligne de A
"interroge" x
Méthode 2 — par colonnes
Ax = Σⱼ xⱼ · colⱼ(A)
= x₁·col₁ + … + xₙ·colₙ

x "pèse" les colonnes
Exemple numérique A = [[2, 1], x = [3], Ax = 3·[2] + 1·[1] = [7] [0, 3]] [1] [0] [3] [3]
Règle fondamentale. Ax est une combinaison linéaire des colonnes de A, avec coefficients donnés par les composantes de x. C'est la définition opérationnelle sur laquelle tout le reste s'appuie.

Singularité et espace colonne

La question centrale est : pour quel ensemble de vecteurs b le système Ax = b admet-il une solution ? Cela dépend entièrement de la géométrie des colonnes de A.

Définition 5.1 — Espace colonne

L'espace colonne de A, noté C(A) ⊂ ℝⁿ, est l'ensemble de toutes les combinaisons linéaires possibles des colonnes de A :

C(A) = { Ax : x ∈ ℝⁿ } = span(col₁, …, colₙ)

Le système Ax = b admet une solution si et seulement si b ∈ C(A).

Matrice singulière — quand les colonnes s'effondrent

Une matrice est singulière quand ses colonnes ne sont pas linéairement indépendantes. L'espace colonne est alors un sous-espace strict de dimension inférieure à n.

Matrice régulière
c₁ c₂ b
colonnes indépendantes → solution unique
Matrice singulière
c₁ c₂ b ∉ C(A)
colonnes dépendantes → aucune solution ou infinité
Exemple — matrice singulière 2×2 A = [[1, 1], col₁ = col₂ → C(A) = droite dans ℝ² [1, 1]] b = [3, 5]ᵀ → aucune solution (b ∉ C(A)) b = [3, 3]ᵀ → infinité de solutions (x₁ + x₂ = 3)
Exercices de vérification
Exercice 1
Soit A = I₂ et b = (3, 5)ᵀ. Par la vue par colonnes, trouver x₁ et x₂ tels que x₁·e₁ + x₂·e₂ = b.
Exercice 2
Remplacer la deuxième colonne de I₂ par e₁, donnant A = [[1,1],[0,0]]. Le vecteur b = (3, 5)ᵀ appartient-il à C(A) ? Justifier géométriquement.
Exercice 3
En dimension 3, si les trois colonnes de A sont coplanaires, quelle est la dimension de C(A) ? Quel est le lien avec le rang de la matrice ?