PHYCS 6730 Lab Exercise: Singular Value Decomposition

This exercise and its story line comes to us thanks to Benjamin Bromley.

This problem is about Singular Value Decomposition of matrices. It should be done with Maple using the "Svd" function.

You have been called in to join a crack team of security experts to help a struggling new company achieve its goal of producing a freely available, high-quality drug to cure a rapidly spreading disease that originated somewhere in the state of Maryland. The ingredients of this drug are kept secret by company officials. A large, competing firm is desperate to get ahold of the formula first, thereby gaining control of production and distribution. Toward this end the competition has managed to put into place a well-hidden surveillance mechanism to extract information (phone conversations, computer network communication) from the 5 separate communication channels which link the company's headquarters with the outside world.

Through careful analysis, you have determined that the surveillance mechanism is able to simultaneously monitor all 5 channels, but only in a filtered form: If the signals in the five channels at any given time are represented by a vector x = {x[0],x[1],...,x[4]}, then the intercepted signal which is received by the competition is a vector y = {y[0],y[1],...,y[4]}, where x and y are related through the linear equation

A x = y.
Specifically, you found that the 5x5 "surveillance" matrix A is
      /                          \
     |  2     3     1    2     4  |
     |                            |
     | -2     4    -1    5     1  |
     |                            |
A =  |  1    31    -7    7    12  |
     |                            |
     |  6    -9     3    7    -2  |
     |                            |
     |  1     3    -2    1    -1  |
      \                          /
The problem is this: Determine if there is a way for information to be transmitted throught the 5 channels without being intercepted. That is, you are seeking a linear combination of channels which is impervious to detection by the competition's surveillance mechanism.

Exercise 1. Singular value decomposition

Load the file ~p6730/exercises/svd/msurveillance into Maple. This file defines the matrix A.

The Maple command evalf(Svd(A,U,V)) does the SVD with the same notation as in the lecture and in Numerical Recipes:

     A = U w VT
so the column vectors of U are the "left" singular vectors and those of V are the "right" singular vectors. Run the command. What is the meaning of the five numbers you get? Use Maple on-line help for Svd to find the answer.

Create a diagonal matrix from the output of Svd. The command that worked for me is

  w := diag(seq(evalf(Svd(A))[k],k=1..N));
Then with explicit multiplication, check the decomposition of A according to the formula above. Hint: to multiply matrices in Maple, use the &* operator. And transpose is a Maple command.

In your answer file copy the Maple session showing the diagonal matrix w and the command that reconstructs A and the result of the reconstruction.


Exercise 2. Meaning of the singular vectors

Which column vector of V corresponds to the zero (within precision) singular value? Within Maple, construct v0 to be that vector. Then verify by explicit multiplication that this vector is in the null space of A.

What other vectors are in the null space? Are they in the linear span of v0?

Returning to the story, can information be sent without being intercepted? If you found that this could be done, tell how, in quantitative terms.

In your answer file, give the vector v0 and the result of your information security analysis.


Exercise 3. The range of A.

What are the vectors whose linear span determines the range of A? What is the vector u0 whose span is orthogonal to the range of A (aside from the null vector)?

Check this by defining any non-null vector x of your choosing and showing that y = A x is orthogonal to u0. Hint: Remember innerprod is the Maple inner product function.

Please put your answers and the result of your demonstration in the answer file.


Exercise 4. Solving A x = b.

Construct the SVD inverse using Ainv := evalm(V &* winv &* transpose(U)) where winv is diagonal with the inverses of all the singular values, and we force 1/0 = 0.

What vectors span the range of Ainv? What vectors span the nullspace?

Let b := vector([1,1,1,1,1]);. Solve A x = b by evaluating x = Ainv b. Then check to see if A x = b. Explain the discrepancy in terms of the null space of Ainv.

Please give your answers, the result of checking the inverse, and your explanation in the answer file.