]> Truncated SVD

Truncated Singular Value Decomposition

Invert the forward matrix using a truncated singular value decomposition for regularization.

Function Summary

Syntax: [X,U,S,V] = tsvd(A, Y, nSV, [u, s, v])
Inputs: A Forward matrix to be inverted
Y Residue appropriate to A
nSV The number of singular values to include
u, s, v Results of a previous call to Matlab svd() routine.
Outputs: X The reconstructed image
U, S, V Singular values used in reconstruction X

Detailed Descriptions

If

u s v T = A

is the singular value decomposition of the matrix A, where u and v are the matrices of ortho-normal eigenvectors and s is the diagonal matrix of eigenvalues, then

A -1 = v t u T

is the matrix inverse of A where t i i 1 / s i i and all the other elements of t are zero.

For ill-conditioned matrices, many of the eigenvalues, while not zero, can become quite small causing the data inversion to blow up if there is any noise at all present (and there always is noise present). To prevent this, only the first n are included in t so that

t i i = 1 / s i i , i n 0 , i > n .