<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
Thanks for the response.<br>
<br>
On 12/10/2010 04:18 PM, Jed Brown wrote:
<blockquote
cite="mid:AANLkTi=j+NNNKQrqYQJcXVEBtEbSa5_7Q8EZL2LwnAw6@mail.gmail.com"
type="cite">
<div class="gmail_quote">On Fri, Dec 10, 2010 at 22:15, Luke Bloy
<span dir="ltr"><<a moz-do-not-send="true"
href="mailto:luke.bloy@gmail.com">luke.bloy@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
My problem is that i have a large number (~500,000) of b
vectors that I would like to find solutions for. My plan is to
call KSPsolve repeatedly with each b. However I wonder if
there are any solvers or approaches that might benefit from
the fact that my A matrix does not change. Are there any
decompositions that might still be sparse that would offer a
speed up?</blockquote>
</div>
<br>
<div>1. What is the high-level problem you are trying to solve?
There might be a better way.</div>
<div><br>
</div>
</blockquote>
I'm solving a diffusion problem. essentially I have 2,000,000
possible states for my system to be in. The system evolves based on
a markov matrix M, which describes the probability the system moves
from one state to another. This matrix is extremely sparse on the
< 100,000,000 nonzero elements. The problem is to pump
mass/energy into the system at certain states. What I'm interested
in is the steady state behavior of the system.<br>
<br>
basically the dynamics can be summarized as <br>
<br>
d_{t+1} = M d_{t} + d_i<br>
<br>
Where d_t is the state vector at time t and d_i shows the states I
am pumping energy into. I want to find d_t as t goes to infinity.<br>
<br>
My current approach is to solve the following system.<br>
<br>
(I-M) d = d_i<br>
<br>
I'm certainly open to any suggestions you might have.<br>
<br>
<blockquote
cite="mid:AANLkTi=j+NNNKQrqYQJcXVEBtEbSa5_7Q8EZL2LwnAw6@mail.gmail.com"
type="cite">
<div>2. If you can afford the memory, a direct solve probably
makes sense.</div>
</blockquote>
<br>
My understanding is the inverses would generally be dense. I
certainly don't have any memory to hold a 2 million by 2 million
dense matrix, I have about 40G to play with. So perhaps a
decomposition might work? Which might you suggest?<br>
<br>
Thanks<br>
Luke<br>
<br>
</body>
</html>