Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Woodbury formula in practice
Replies: 6   Last Post: Oct 2, 2012 3:20 PM

 Messages: [ Previous | Next ]
 Peter Spellucci Posts: 221 Registered: 11/9/09
Re: Woodbury formula in practice
Posted: Sep 27, 2012 12:57 PM

srobinson3130@gmail.com writes:
>Hello,
>
>I am trying to use the Woodbury formula [1] in order to apply corrections o=
>n the inverse of a matrix A I already calculated once as X (rather big: n=
>=3D6000+). Once in a while I would like to compute the inverse of A with a =
>"k" changes ranging from 2-3 to 20.
>
>Applying the woodbury formula should be of big help there, and it works per=
>fectly when I only apply 2 or 3 changes. But when I apply 20, one of the ma=
>trix I need to invert in the calculation (kind of known as the capacitance =
>matrix [1]) becomes singular (determinant gets way too small). I am thus un=
>able to apply the formula. Note that the corrections applied are valid, i.e=
>. if I create the new matrix from scratch, it is non-singular.
>
>My questions are the following:=20
>- is it something I should expect?
>- are there anyway to solve it?
>
>I have been looking everywhere for practical information regarding woodbury=
>'s usage in a numerical analysis context but can not find much information.=
> I would be very grateful for any guidance on that topic.
>
>
>SR
>
>[1] http://en.wikipedia.org/wiki/Woodbury_matrix_identity

There is one paper by Yip in SIAM J Sci Stat Comp 7, 1986,
which states that
''if both A and B are well conditioned and A=B- UV^T , then the
application of the Sherman-Morrison-Woodbury formula is stable''
but nothing more . But if you look at that formula
then it is obvious that there is a danger of loss of precision if
B is already illconditioned. I don't know why you are using the
inverse explicitly, I personally would prefer to use
a LU or QR decomposition of the original matrix , from which any operation
with the inverse can easily be obtained. These decompositions can be updated
in a stable manner (and there exists ready to use software for this in netlib).
hth
peter