svd decomposição em valores singulares

## Seqüência de Chamamento

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

## Parâmetros

X

  matriz de reais ou complexos

s

  vetor de reais (valores singulares)

S

  matriz diagonal de reais (valores singulares)

U,V

  matrizes quadradas ortogonais ou unitárias (vetores singulares)

tol

  número real

## Descrição

`[U,S,V] = svd(X)` produz uma matriz diagonal `S` , com dimensão igual a de `X` e com elementos da diagonal não-negativos em ordem decrescente, e matrizes unitárias `U` e `V` tais que `X = U*S*V'` .

`[U,S,V] = svd(X,"e")` produz a decomposição com "economia de tamanho". Se `X` é m-por-n com m > n, então apenas as primeiras n colunas de `U` são computadas e `S` é n-por-n.

`s= svd(X)` por si mesmo retorna um vetor `s` contendo os valores singulares.

`[U,S,V,rk]=svd(X,tol)` fornece também `rk`, o posto numérico de `X` i.e. i.e. o número de valores singulares maiores que `tol`.

O valor default de `tol` é o mesmo que em `rank`.

## Exemplos

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

## Ver Também

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

## Função Usada

Decomposições svd são baseadas nas rotinas Lapack DGESVD para matrizes de reais e ZGESVD no caso de matrizes de complexos.

## History

2023.0.0

svd(X, 0) is obsolete, use svd(X, "e") instead.

2024.0.0

svd(X, 0) is no more supported, use svd(X, "e") instead.