svd décomposition en valeurs singulières

## Séquence d'appel

    s=svd(X)
                [U,S,V]=svd(X)
                [U,S,V]=svd(X,0) (obsolete)
                [U,S,V]=svd(X,"e")
                [U,S,V,rk]=svd(X [,tol])

## Paramètres

X

  matrice réelle ou complexe

s

  vecteur réel (valeurs singulières)

S

  matrice réelle diagonale (valeurs singulières sur la diagonale)

U,V

  matrices carrées unitaires (vecteurs singuliers).

tol

  nombre réel positif

## Description

`[U,S,V]=svd(X)` renvoie une matrice diagonale `S`, de même dimension que `X` avec des éléments diagonaux positifs classés par ordre décroissant, ainsi que deux matrices unitaires `U` et `V` telles que `X = U*S*V'`.`[U,S,V]=svd(X,"e")` renvoie la décomposition réduite : si `X` est une matrice `m x n` et que `m > n` alors seulement les n premières colonnes de `U` sont calculées et `S` est `n x n` .

`s=svd(X)` renvoie un vecteur `s` contenant les valeurs singulières.

`[U,S,V,rk]=svd(X [,tol])` renvoie de plus `rk`, le rang "numérique" de `X` c'est à dire le nombre de valeurs singulières plus grandes que `tol`.

La valeur par défaut de `tol` est la même que pour la fonction `rank`.

## Exemples

    X=rand(4,2)*rand(2,4)
    svd(X)
    sqrt(spec(X*X'))

## Voir aussi

- rank
- qr
- colcomp
- rowcomp
- sva
- spec

## Fonctions Utilisées

la décomposition svd est basée sur les routines DGESVD pour les matrices réelles et ZGESVD pour le cas complexe.