Hi all,
Has anyone had luck getting the new Schur Complement matrix option (iparm(36)) to work with MKL 2018 release 2? I am not having luck, and can't find any example programs that use this option. If anyone has an example, I'd love to see it. Otherwise I'll post my best attempt at making it work to see if anyone can figure out what is wrong.
Laura
Link Copied
You may take a look at the mklroot\examples\solverc\source\ pardiso_schur_c.c example
OK, that helped with the parameters. Thank you!
A couple of notes for future readers:
1) The interface is touchy - some parameters that look innocuous can cause the program not to run. Specifically, initialize the "ignored" parameters maxfct and mnum to 1 and make sure iparm(13) = 0. (At least, that is how the current release is working.)
2) The pardiso_schur_c.c example included with this release uses an asymmetrical matrix but tells Pardiso it is symmetric. So the reported Schur matrix won't match the Schur matrix computed other ways unless you account for this.
wrt #2: mkl 2018 u2 contains symmetric input:
Let me clarify: The matrix A as specified by the input ia, ja, and a above is neither symmetric nor structurally symmetric. However, mtype is set to -2 (real symmetric). This is not a bug in the program, merely a confusing detail.
Edit: Only the upper right triangle is specified, as that is all that is needed, and the lower triangle is the reflection.
For more complete information about compiler optimizations, see our Optimization Notice.