next up previous contents index
suivant: Les formes quadratiques monter: Factorisation des matrices précédent: Singular value decomposition :   Table des matières   Index


Singular value decomposition : lll

lll a comme argument une matrice inversible M à coefficients entiers.
lll renvoie (S, A, L, O) : S a comme lignes une base courte du reseau engendré par les lignes de M,
A est la matrice de passage de la base courte à la base définie par les lignes de M (A*M = S),
L est une matrice triangulaire inférieure, O est une matrice dont les lignes sont orthogonales et on a L*O = S.

Si un vecteur du reseau a comme coordonnées [a, b] dans la base définie par M et a comme coordonnées [a1, b1] dans la base courte définie par S c'est à dire si [a, b]*M = [a1, b1]*S, on a donc en dimension 2,:
[a, b] = [a1, b1]*A [a1, b1]*S = [a1, b1]*A*M = [a, b]*M et
[a, b]*M = [a, b]*A-1*S = [a1, b1]*S
On tape :

lll([[2,1],[1,2]])
On obtient :
[[-1,1],[2,1]],[[-1,1],[1,0]],[[1,0],[1/-2,1]],[[-1,1],[3/2,3/2]]
Si on tape :
S:=[[-1,1],[2,1]]
A:=[[-1,1],[1,0]]
L:=[[1,0],[1/-2,1]]
O:=[[-1,1],[3/2,3/2]]
On a :
ancienne base : v1=[2,1], v2=[1,2]
base courte : w1=[-1,1], w2=[2,1]
on a w1=-v1+v2 et w2=v1 donc
A:=[[-1,1],[1,0]]
on a alors A*M==S et L*O==S.
On tape :
(S,A,L,O):=lll([[3,2,1],[1,2,3],[2,3,1]])
On obtient :
S=[[-1,1,0],[-1,-1,2],[3,2,1]]
A= [[-1,0,1],[0,1,-1],[1,0,0]]
L= [[1,0,0],[0,1,0],[(-1)/2,(-1)/2,1]]
O= [[-1,1,0],[-1,-1,2],[2,2,2]]
si on tape :
M:=[[3,2,1],[1,2,3],[2,3,1]]
On a :
A*M==S et L*O==S
next up previous contents index
suivant: Les formes quadratiques monter: Factorisation des matrices précédent: Singular value decomposition :   Table des matières   Index
Documentation de giac écrite par Renée De Graeve