Previous Up Next

6.59.9  Singular value decomposition (compatible HP) : SVD

SVD (singular value decomposition) a comme argument une matrice carrée numérique réelle d’ordre n.
SVD(A) renvoie U une matrice orthogonale, s la diagonale d’une matrice diagonale S=diag(s) constituée par les valeurs singulières de A et Q une matrice orthogonale, ,(tQ*Q=I) tel que :
A=U.diag(s).tran(Q).
On tape :

SVD([[1,2],[3,4]])

On obtient :

[[[0.914514295677,0.404553584834],[-0.404553584834,0.914514295677]],[0.365966190626,5.46498570422],[[-0.81741556047,0.576048436766],[0.576048436766,0.81741556047]]]

On tape :

(U,s,Q):=SVD([[3,5],[4,5]])

On obtient :

[[[0.739653361771,0.672988041811],[-0.672988041811,0.739653361771]],[0.578643354497,8.6409011028],[[-0.81741556047,0.576048436766],[0.576048436766,0.81741556047]]]

Vérifions :
On tape :

U*diag(s)*tran(Q)

On obtient :

[[3.0,5.0],[4.0,5.0]]

Previous Up Next