[petsc-users] optimizing repeated calls to KSPsolve?

Matthew Knepley knepley at gmail.com
Sat Dec 11 00:27:39 CST 2010


On Sat, Dec 11, 2010 at 6:21 AM, Luke Bloy <lbloy at seas.upenn.edu> wrote:

>  Matt thanks for the response.  I'll give those a try. I'm also interested
> in try the Cholesky decomposition is there particular external packages
> that are required to use it?
>

Mumps should do Cholesky for a symmetric matrix.

   Matt


> Thanks again.
> Luke
>
> On 12/10/2010 06:22 PM, Matthew Knepley wrote:
>
> On Fri, Dec 10, 2010 at 11:03 PM, Luke Bloy <luke.bloy at gmail.com> wrote:
>
>>
>> Thanks for the response.
>>
>> On 12/10/2010 04:18 PM, Jed Brown wrote:
>>
>> On Fri, Dec 10, 2010 at 22:15, Luke Bloy <luke.bloy at gmail.com> wrote:
>>
>>> 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?
>>
>>
>> 1. What is the high-level problem you are trying to solve?  There might be
>> a better way.
>>
>>  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.
>>
>> basically the dynamics can be summarized as
>>
>> d_{t+1} = M d_{t} + d_i
>>
>> 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.
>>
>> My current approach is to solve the following system.
>>
>> (I-M) d = d_i
>>
>> I'm certainly open to any suggestions you might have.
>>
>>  2. If you can afford the memory, a direct solve probably makes sense.
>>
>>
>> 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?
>>
>
>  Try -pc_type lu -pc_mat_factor_package <mumps, superlu_dist> once you
> have reconfigured using
>
>    --download-superlu_dist --download-mumps
>
>  They are sparse LU factorization packages that might work.
>
>     Matt
>
>
>>  Thanks
>> Luke
>>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
>


-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20101211/ae52d78a/attachment.htm>


More information about the petsc-users mailing list