Tricks of the Trade
In and Out
Download This Issue
In and Out
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.