Re: Noise properties of a linear system if elements are deleted
- From: spellucci@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (Peter Spellucci)
- Date: Thu, 16 Feb 2006 18:56:32 +0000 (UTC)
In article <1140112006.765951.27800@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
shaihan_malik@xxxxxxxxx writes:
Dear All,
I'm hoping someone can help with a linear algebra problem. I have an
equation Cx = s where C is a matrix and s and x are vectors and i'm
trying to solve for x (obviously) all of which are complex valued. The
data in s are fairly noisy and the signal content is also sparse. By
this I mean that only a few components of x contain useful information
and the others are zero.
A simple inverse solution suffers from noise amplification because C is
usually not terribly well conditioned, and this is bad because s is
quite noisy. My solution is to use a model to guess which components of
x contain useful information and which are expected to be zero. I then
delete these elements of x and delete the corresponding columns in
matrix C. The inverse of this smaller matrix is better conditioned (if
my model was right) and generally this performs very well. My question
is that is my ad-hoc method an example of something more general and
well known? I am particularly interested in understanding the noise
propagation properties of this approach.
Cheers
Shaihan
you can make this systematically and the approach is known as a "basic least
squares solution" (in contrast to the solution by the pseudoinverse)
you transform your system using unitary transforms column by column to upper
triangular form after first scaling any column of C to length one:
C*x = s <=> C*D*inv(D)*x = s D diagonal, we search for y=inv(D)*x
getting x from y finally.
Now using a unitary reflector U_1 we transform further
U_1*C*y = U_1*s U_1*C has the first column like (*,0,0,...,0)'.
U_2*U_1*C*y = U_2*U_1*s U_2*U_1*C has the first column like U_1*C and the
second like (*,*,0,...,0)
(look this up under QR-decomposition, Householdertransformation)
your U_i have the form
U_i = I - (2/(u_i'*u_i))*u_i*u_i' with a complex vector u_i .
hence in step i the left upper part of the matrix has become a i times i
triangular matrix. you can enhance this process by column interchanges,
making the i-th column (measured from position i to n) to the longest
under the remaining columns to be processed.
you now intermediately think of row i+1,..n and column i+1,..,n deleted from the
system, set the corresponding y's to zero and solve for the other i y(j)
by means of the triangular system which remains. the error which occurs
here in the residual is the sum of squares of the positions i+1 to n in the
right hand side. you continue this until the residual has become small enough.
the solution using the pseudoinverse (svd) will not set the "irrelevant" x(i)
to zero, rather it produces the solution of minimal euclidean length of your
system under a restriction on the condition number of the matrix part used.
hth
peter
.
- Follow-Ups:
- Re: Noise properties of a linear system if elements are deleted
- From: shaihan_malik
- Re: Noise properties of a linear system if elements are deleted
- References:
- Noise properties of a linear system if elements are deleted
- From: shaihan_malik
- Noise properties of a linear system if elements are deleted
- Prev by Date: Re: Method to Solve 2 unknowns 2 Equations
- Next by Date: Check this out! I did find what I were looking for:
- Previous by thread: Noise properties of a linear system if elements are deleted
- Next by thread: Re: Noise properties of a linear system if elements are deleted
- Index(es):
Relevant Pages
|