How to solve Ax=b incrementally ? - MathOverflow most recent 30 from http://mathoverflow.net 2013-06-20T00:47:45Z http://mathoverflow.net/feeds/question/61895 http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://mathoverflow.net/questions/61895/how-to-solve-axb-incrementally How to solve Ax=b incrementally ? Nancy Lee 2011-04-16T07:37:46Z 2011-04-17T09:43:49Z <p>Hi, everyone. </p> <p>What I am struggling is the following problem. I have a linear matrix equation $Ax=b$, where $A$ is a known $n \times n$ large sparse real matrix, $x$ and $b$ are known $n \times 1$ vectors. Now, one entry of $A$ has changed into $a$ and we denote by this matrix $A'$. Since we make $b$ unchanged, the updated $A$ will cause the $x$ in the original linear eqaution accordingly changed to $x'$ such that $A'x'=b$. My goal is to find this new $x'$. A naive way is to re-solve $A'x'=b$. But since $A'$ is slightly different from $Ax=b$, is there any incremental way to fast solve $x'$ in $A'x'=b$ by taking advantage of the original equation $Ax=b$? Thank you very much for any of your kind suggestion!</p> http://mathoverflow.net/questions/61895/how-to-solve-axb-incrementally/61906#61906 Answer by Fumiyo Eda for How to solve Ax=b incrementally ? Fumiyo Eda 2011-04-16T10:40:45Z 2011-04-16T10:40:45Z <p>An <em>iterative</em> scheme may do the trick. I would suggest looking into algorithms such as GMRES. Since you have a large, sparse matrix, there is a good chance you already have your matrix in a format that can be accepted by an iterative solver.</p> http://mathoverflow.net/questions/61895/how-to-solve-axb-incrementally/61913#61913 Answer by Brian Borchers for How to solve Ax=b incrementally ? Brian Borchers 2011-04-16T12:36:56Z 2011-04-16T12:36:56Z <p>As Fumiyo Eda already mentioned, you can use an iterative method such as GMRES to resolve the system after the change to $A$. </p> <p>If you want to use direct LU factorization rather than an iterative method, look into "rank one update" techniques for the LU factorization. </p> http://mathoverflow.net/questions/61895/how-to-solve-axb-incrementally/61944#61944 Answer by Federico Poloni for How to solve Ax=b incrementally ? Federico Poloni 2011-04-16T18:53:12Z 2011-04-17T09:43:49Z <p>Another method to update the solution is using the Sherman-Morrison formula: <a href="http://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula" rel="nofollow">http://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison_formula</a> in your case, $u$ and $v$ are canonical basis vectors.</p> <p>So basically you have to solve two linear systems with $A$ and then you can update the solution for all possible values of $A$ with little work. Solve $2n$ linear systems, and you can update as many times as you want every entry of $A$ (only one at a time though). </p> <p>Not sure that this is really your best option though --- all depends on how many "modified systems" you have to solve with the same starting matrix $A$. We need more information from you to decide this.</p> <p>[By the way, as already pointed out, you'd better use a linear system solver which is suitable for sparse matrices: sparse LU or iterative methods.]</p>