- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I try to use PARDISO as an iterative solver not a direct solver. I have problem for defining IPARMs and DPARMs. I want an example to show hove can i use them and which phases i need to call. I have read the manual and also the example for pardiso_symm_iter.f but in that one, the auther has used default iparm and dparm. In iterative solver do i need to call other phases that phase=3? I want iterative method with conjugate gradient preconditioner . I appreciate if some one can help me.
Best regards
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
MKL PARDISO supports a direct-iterative combined method to accelerate the process of solving many matrices that have the same sparsity pattern but with different nonzero coefficients. Does your application fall into this model? If so, here's what you need:
First, perform an LU decomposition (LLT) on the first matrix and solve it. This can be one with a call to PARDISO with phase = 13.
Then, for all the other matrices you can solve them with phase = 23 and an an appropriate setting for iparm(4). The value of iparm(4) controls whether you want to use the CGS preconditioner (for unsymmetric matrices) or the CG preconditioner (for symmetric matrices). You can check if CGS or CG succeeds by checking the value returned in iparm(20).
Here is an example:
iparm(4) = 0 phase = 13 PARDISO(phase, A_0,…) Do I = 1, number_of_matrix iparm(4) = 61 phase=23 PARDISO(phase, A_i,…) EnddoPlease let us know if this solves your problem. Thanks, Zhang
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page