# SingularValueList

gives a list of the nonzero singular values of a matrix m.

SingularValueList[{m,a}]

gives the generalized singular values of m with respect to a.

SingularValueList[m,k]

gives the k largest singular values of m.

SingularValueList[{m,a},k]

gives the k largest generalized singular values of m.

# Details and Options • Singular values are sorted from largest to smallest.
• Repeated singular values appear with their appropriate multiplicity.
• By default, singular values are kept only when they are larger than 100 times 10-p, where p is Precision[m].
• SingularValueList[m,Tolerance->t] keeps only singular values that are at least t times the largest singular value.
• SingularValueList[m,Tolerance->0] returns all singular values.
• The matrix m can be rectangular; the total number of singular values is always Min[Dimensions[m]].
• Exact and symbolic matrices can be used, with zero tolerance assumed by default.
• The singular values can be obtained from Sqrt[Eigenvalues[ConjugateTranspose[m].m]].

# Examples

open allclose all

## Basic Examples(2)

Compute the singular values of an invertible matrix:

Compute the nonzero singular values of a singular matrix:

There are only two, rather than three, because that is the rank of the matrix:

## Scope(19)

### Basic Uses(7)

Find the nonzero singular values of a machine-precision matrix:

Singular values of a complex matrix:

Singular values for an exact matrix:

Singular values for an arbitrary-precision matrix:

Singular values of a symbolic matrix:

The singular values of large numerical matrices are computed efficiently:

Singular values of a non-square matrix:

### Subsets of Singular Values(5)

Find the three largest singular values:

And the three smallest singular values:

Find the four largest singular values, including zero values, or as many as there are if fewer:

Zero singular values are included when computing the smallest singular values:

Repeated singular values are listed multiple times:

Repeated singular values are counted separately when extracting a subset of the singular values:

### Generalized Singular Values(3)

Generalized machine-precision singular values:

Find the two smallest generalized singular values:

Find the generalized singular values of a machine-precision complex matrix:

### Special Matrices(4)

Singular values of sparse matrices:

Find the three largest singular values:

Singular values of structured matrices:

Use a different structure:

The units go with the singular values:

IdentityMatrix always has all-one singular values:

Singular values of HilbertMatrix:

## Options(2)

### Tolerance(2)

Compute the singular values larger than of the largest singular value:

Setting Tolerance to will directly compute the same set of singular values:

m is a 16×16 Hilbert matrix:

The matrix is positive definite, so with exact arithmetic there are 16 nonzero singular values:

Many of the singular values are too small to show up at machine precision:

Setting the tolerance to zero will make them all show up:

Because of numerical roundoff, the values are not computed accurately:

## Applications(4)

Find the maximum value of for the following matrix :

The maximum is equal to the largest singular value of :

Confirm the result using MaxValue:

Find the minimum value of subject to for the following matrix :

Because the matrix has at least as many rows as columns, the minimum is the smallest singular value of :

Confirm the result using MinValue:

The operator norm of a matrix, also called the spectral norm or 2-norm, is defined as the maximum value of subject to the constraint that . Find the operator norm of the following :

The maximum of , and thus the norm, is the largest singular value of :

Verify the result using Norm:

Use the singular values of to compute its norm, the norm of and the condition number of the matrices:

Find the singular values of :

The 2-norm of a matrix is equal to the largest singular value:

The 2-norm of the inverse is equal to the reciprocal of the smallest singular value:

Verify using Norm:

The condition number is and thus equals the ratio of largest to smallest singular values:

## Properties & Relations(11)

The nonzero singular values of are the square roots of the nonzero eigenvalues of :

Equivalently, they are the square roots of the nonzero eigenvalues of :

The complete set of singular values of is the square root of the eigenvalues of either or :

The product that produces the smaller square matrix, in this case , should be used:

The order that produces a larger square matrix has additional zero eigenvalues:

m and have the same singular values:

The product of the singular values of a square matrix m equals Abs[Det[m]]:

For a normal matrix n, the singular values equal Abs[Eigenvalues[n]]:

MatrixRank[m] equals the number of nonzero singular values:

The singular values of are the reciprocals of the singular values of in the opposite order:

For a submatrix s of m, the largest singular value of m is greater than or equal to the singular values of s:

The generalized singular values of to equal the roots of the generalized eigenvalues of to :

Unlike ordinary singular values, they are not related to the generalized eigenvalues of to :

The largest singular value of with respect to (with having independent columns) is :

Call the input that gave the maximum :

The second singular value is the maximum of the ratio with the constraint that is -orthogonal to :

Each subsequent singular value is found by requiring to be -orthogonal to all the preceding inputs:

The generalized singular values of with respect to differ from those of with respect to :

## Possible Issues(1)

s is a large sparse matrix:

Computing all of the singular values uses dense linear algebra, which may be prohibitive: Computing just a few will typically be much faster: