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).hthpeter