# svd

Singular value decomposition

## Syntax

`s = svd(X)[U,S,V] = svd(X)[U,S,V] = svd(X,0)[U,S,V] = svd(X,'econ')`

## Description

The `svd` command computes the matrix singular value decomposition.

`s = svd(X)` returns a vector of singular values.

`[U,S,V] = svd(X)` produces a diagonal matrix `S` of the same dimension as `X`, with nonnegative diagonal elements in decreasing order, and unitary matrices `U` and `V` so that ```X = U*S*V'```.

`[U,S,V] = svd(X,0)` produces the "economy size" decomposition. If `X` is m-by-n with m > n, then `svd` computes only the first `n` columns of `U` and `S` is n-by-n.

`[U,S,V] = svd(X,'econ')` also produces the "economy size" decomposition. If `X` is m-by-n with m >= n, it is equivalent to `svd(X,0)`. For m < n, only the first m columns of `V` are computed and `S` is m-by-m.

## Examples

For the matrix

```X = 1 2 3 4 5 6 7 8```

the statement

`[U,S,V] = svd(X)`

produces

```U = -0.1525 -0.8226 -0.3945 -0.3800 -0.3499 -0.4214 0.2428 0.8007 -0.5474 -0.0201 0.6979 -0.4614 -0.7448 0.3812 -0.5462 0.0407 S = 14.2691 0 0 0.6268 0 0 0 0 V = -0.6414 0.7672 -0.7672 -0.6414```

The economy size decomposition generated by

`[U,S,V] = svd(X,0)`

produces

```U = -0.1525 -0.8226 -0.3499 -0.4214 -0.5474 -0.0201 -0.7448 0.3812 S = 14.2691 0 0 0.6268 V = -0.6414 0.7672 -0.7672 -0.6414```

## Diagnostics

If the limit of 75 QR step iterations is exhausted while seeking a singular value, this message appears:

`Solution will not converge.`

Get trial now