Algorithme de r´
eduction de Gauss
L’algorithme de réduction de Gauss est un algorithme qui permet de décomposer une forme quadratique (non
nulle) en somme de carrés de formes linéaires indépendantes, chaque carré étant affecté d’un coefficient (voir le
théorème). Soit qune forme quadratique sur un K-espace vectoriel de dimension finie n. On munit Ed’une base
E=(e1,··· ,en) de sorte que, pour x=x1e1+···+xnen∈E,
q(x)=
n
X
i=1
ai,jx2
i+X
1≤i<j≤n
2ai,jxixj
où ai,j=ϕ(ei,ej) avec ϕla forme polaire de q. L’algorithme procède par diminution du nombre des variables xi
qui interviennent dans cette expression de la forme quadratique. Deux cas sont possibles, et sont examinés dans
cet ordre :
Premier cas : la forme quadratique contient un terme au carré x2
i
Pour fixer les idées, supposons que ce soit x2
1. On regroupe alors tous les termes contenant la variable x1et on les
voit comme le début du développement d’un carré du type (x1+...)2:
q(x)=a1,1x2
1+x1f(x2,··· ,xn)+g(x2,··· ,xn)
=a1,1 x1+1
2f(x2,··· ,xn)!2
−a1,1
4f(x2,··· ,xn)2+g(x2,··· ,xn)
=a1,1ℓ1(x)2+q′(x)
où ℓ1est une forme linéaire sur Edonnée par :
ℓ1(x1e1+···+xnen)=x1+1
2f(x2,··· ,xn)
et q′est une nouvelle forme quadratique sur Edans laquelle la variable x1n’apparaît plus :
q′(x1e1+···+xnen)=−a1,1
4f(x2,··· ,xn)2+g(x2,··· ,xn).
On continue à faire tourner l’algorithme sur cette nouvelle forme quadratique (i.e., on regarde si q′vérifie le
premier cas ou le second cas décrit ci-dessous, etc...).
Second cas : la forme quadratique ne contient aucun carré x2
i
Dans ce cas, on choisit deux variables qui apparaissent sous la forme xixj. Pour fixer les idées, supposons que
le produit x1x2apparaisse dans l’expression de q. On isole alors tous les termes qui contiennent x1ou x2, et
on voit d’abord leur somme comme le produit de deux formes linéaires, l’une contenant x1mais pas x2, l’autre
contenant x2mais pas x1, en retranchant évidemment ce qui apparaît en trop quand on effectue le produit de ces
deux formes linéaires :
q(x)=a1,2x1x2+x1f(x3,··· ,xn)+x2g(x3,··· ,xn)+h(x3,··· ,xn)
=a1,2x1+g(x3,··· ,xn)x2+f(x3,··· ,xn)−a1,2f(x3,··· ,xn)g(x3,··· ,xn)+h(x3,··· ,xn)
=a1,2ℓ′
1(x)ℓ′
2(x)+q′(x)
où
ℓ′
1(x1e1+···+xnen)=x1+g(x3,··· ,xn), ℓ′
2(x1e1+···+xnen)=x2+f(x3,··· ,xn)
et
q′(x1e1+···+xnen)=−a1,2f(x3,··· ,xn)g(x3,··· ,xn)+h(x3,··· ,xn).
Enfin, en utilisant l’identité
ab =1
4(a+b)2−1
4(a−b)2,
on voit le produit de deux formes linéaires comme la différence de deux carrés, ce qui permet d’exprimer fi-
nalement qcomme la somme (en fait la différence) de deux carrés de formes linéaires et d’une nouvelle forme