The 
Mathematica Journal
Volume 9, Issue 1

Search

In This Issue
Tricks of the Trade
In and Out
Trott's Corner
New Products
New Publications
Calendar
News Bulletins
New Resources
Classifieds

Download This Issue 

About the journal
Editorial Policy
Staff
Submissions
Subscriptions
Advertising
Back Issues
Contact Information

In and Out
Edited by Paul Abbott

Singular Values

Q: I am computing the singular values of a matrix consisting of physical data. If I have some estimate of the error in each matrix element, is there a simple way to compute the error in the singular values?

A: The singular value decomposition for a numerical matrix consists of two matrices, and , and a list of singular values. Forming the diagonal matrix from the singular values, the matrix decomposition reads

where denotes the conjugate transpose. This operator can be implemented as follows.

can be complex and, in general, is not square. and are row orthonormal matrices, that is, and . Hence

In other words, and effectively “diagonalize” .

Here is a random matrix.

Compute the singular values, , and the matrices , , and .

Since we are dealing with numerical matrices, to check whether , we use the Euclidean norm, , of a matrix , defined by (using DoubleBracketingBar).

Similarly, we confirm that .

It is easy to obtain an expression for the sensitivity of the kth singular value, , to small changes in the element . Since

we have that

Hence, the total change in , due to changes in any of the elements of , is

This result is not surprising. We can obtain it directly as follows:

For example, form the matrix by perturbing by .

The change in the singular values, is given by the diagonal entries of .

These values should be compared with those obtained by computing the difference of the singular values of and .

The agreement is very good.

Using this approach, we can also compute the effect of an arbitrary symbolic perturbation.



     
About Mathematica  Download Mathematica Player
Copyright © Wolfram Media, Inc. All rights reserved.