Given a unit lower triangular matrix, and an upper triangular matrix U, the problem of forming a new updated L and U after adding the identity (I + LU) is as expensive as the problem of solving a general linear system (Ax=b).
Triangular systems can be solved in order N2 time.
Since reading the data in Ax=b or (LU) is order N2, there can not be a method of solving either faster then N2.
We will prove that any general Ax=b problem can be converted to a factoring update problem of the given form in order N2 time. And if there were a solution to the factor update problem any faster then that of the general Ax=b problem, it could be used to solve the Ax=b problem in the same order of complexity by converting Ax=b problem into the factor update problem (in order (N2) and then solve the resulting problem with the factor update method.
Since all the steps are order (N2) except for an unknown cost for the factor update step, and the factor update can not be less than order (N2), the cost of solving Ax=b by this method is just on the order of whatever the cost of the factoring update is.
So now we just need to flesh out the individual steps above.
Next, we scale the matrix rows to make each diagonal element have the value 2. Since scaling a row involves N operations, and there are N rows, this is obviously order (N2) work. And since in the previous step we made sure that all diagonal elements were non-zero, we know it is posible.
This can be done by the following (order N2) process:
We now have unit triangular lower L and unit upper triangular U. And this procedure is clearly order N2.
Since L is unit lower triangular, we know it is non-singular, and it can be inverted. L-1 is also unit lower triangular. So one could pre-multiply both sides of the equation by L-1:
L-1(L + U)x = L-1b == (I+L-1U)x = L-1b
The right hand side can be computed in order N2 time, and the left hand side is just a formal setup into show that we have a problem of the form I+LU. (And therefore needs no explicit arithmetic, since we aren't going to multiply it out.)
Compute new L and U (triangular, but no longer necessarily unit triangular) factors (L' and U') from (I+LU) by whatever allegedly fast algorithm you have. This gives a new problem:
L'U'x=L-1b
Since the system now has ONLY triangular matrices, it can now be solved in N2 time with standard algorithms.
We have now fleshed out all of the steps sketched out above, and have proven that the Ax=b problem can be solved with on the order of the same cost as the factor update problem for (I+LU). And therefore the (I+LU) update can not have a cost any lower than solving full Ax=b problem.
Therefore, the I+LU factor update problem for unit L and U is at least as difficult as solving the full blown Ax=b problem.
[Assuming, of course, that I've not blotched it somewhere above.]
This page is http://www.cc.utah.edu/~nahaj/math/ilu.html © Copyright 2003 by John Halleck, All Rights Reserved. This snapshot was last modified on February 19th, 2008