Quantcast
Channel: Intel® Software - Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
Viewing all articles
Browse latest Browse all 3005

A quick question on using PARDISO as iterative solver

$
0
0

Hello,

I am trying to follow the example described in this thread to use PARDISO as an iterative solver,

http://software.intel.com/en-us/forums/topic/326721

For now my code works fine if I put iparm(4)=0 and phase=13 for all matrices, but when I modify the code to use the template above, error message appears sometimes (error=-1 in the numerical factorization phase), so I think I must did something wrong. To clarify it, is it correct for me to do the following for A_i x_i = b_i, where the right-hand-side b_i is determined by x_i through some other subroutines (it is a self-consistent calculation),

----------------------------

pt=0
call PARDISO (phase=13, iparm(4)=0, A_1, pt, maxfct, mnum=1, x_1, b_1)

do while ( error > tolerance )

 do i = 1, maxfct
  call PARDISO (phase=23, iparm(4)=61, A_i, pt, maxfct, mnum=i, x_i, b_i)
 end do

 call subroutine to calculate new b_i from the x_i, and calculate the error

end do

 call PARDISO (phase=-1, iparm(4)=61, A_1, pt, maxfct, mnum=1, x_1, b_1)

----------------------------

Just for reference, the other iparm parameters I am using are (these should be the same as the example file pardiso_unsym_complex_f.f ):

  iparm(1) = 1
  iparm(2) = 2
  iparm(3) = 1
  iparm(8) = 2
  iparm(10) = 13
  iparm(11) = 1
  iparm(13) = 1
  iparm(18) = -1
  iparm(19) = -1

, and others are set to be zero. The matrix type is mtype=3 (complex strucuturely-symmetric)

By the way, I can not see any example code for using Pardiso as iterative solver in the MKL package. The examples codes I found are using Pardiso as direct solver. Did I missout something or there is no example code for this kind of applications? Thank you and I appreciate it.

Best regards,

CC


Viewing all articles
Browse latest Browse all 3005

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>