# Singular Value Decomposition

## Homework Statement

Hi

If we have a matrix M, we can always make a singular value decomposition. If the matrix has full column rank (= is invertible), then the singular values are all nonzero, otherwise they are not all nonzero.

Now, we can also associate a condition number to a matrix given by

cond(M) = s1/sk

where k is min(m, n) (where M is a m times n matrix). If M is rectangular, then it is not invertible, so the condition number should be infinite.

Now, when I find the condition number of a rectangular matrix in MatLAB, it gives me a (large) number, which is finite. How can that be?

hotvette
Homework Helper
The reason is numerical roundoff error. If you repeat the exercise with random values in the matrix, the last singular value will sometimes be zero but very very small most of the time. For this reason some commerical programs allow the user to specific a threshold for what is considered zero.

Also, I think the statement about rectangular matrices needs to be clarifed. If the matrix has more rows than columns and is full rank it won't have a zero singular value. If the number of rows is less than the number of columns it will have a zero singular value.

Last edited:
Do you know a good reference on SVD? I didn't know the last part you stated, becaus it isn't in my book.

hotvette
Homework Helper
Do you know a good reference on SVD? I didn't know the last part you stated, becaus it isn't in my book.

Not really, but the following link (see page 3) shows an example of a rectangular matrix with all non zero singular values.

http://www.farinhansford.com/books/pla/material/pseudo.pdf [Broken]

Last edited by a moderator:
Do you know a good reference on SVD? I didn't know the last part you stated, becaus it isn't in my book.

Gilbert Strang, Linear Algebra.
I learned a ton from it.