# svd

## Purpose

Singular value decomposition.

## Synopsis

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

## Description

`svd` computes the matrix singular value decomposition.

`[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'.`

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

`[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`.

## 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

## Algorithm

`svd` uses the LINPACK routine `ZSVDC`.

## Diagnostics

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

    Solution will not converge.

## References

[1] J.J. Dongarra, J.R. Bunch, C.B. Moler, and G.W. Stewart, LINPACK User's Guide, SIAM, Philadelphia, 1979.

(c) Copyright 1994 by The MathWorks, Inc.