- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all, I'm new to oneMKL Pardiso. I want to factor a real unsym matrix $A$ as ,
then I need to perform
forward substitution, i.e., to solve linear systems with triangular matrix $[L11, 0 ;L12, I ]$
and backward substitution, i.e., to solve linear systems with triangular matrix $[U11, U21; 0, I ]$.
I tried to set iparm[35] = -2 and iparm[23] = 1 to compute $S$, and phase = 331 to perform forward, phase = 333 to perform backward.
It seems that the forward substitution phase is good, but the backward substitution result is bad.
For backward substitution, I expect that the last components (associated with the schur part) of the solution are the same as the last components of the input, but they are not.
Could you please kindly provide an example ?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you perform phase=332? There is an example to calculate Schur complement and use it to perform the subsequent solve stages. The example is in the oneMKL package and located at $MKLROOT/share/doc/mkl/examples/examples_core_c.tgz. The source file is pardiso_schur.c in the sparse_directsolvers folder.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Fengrui. Thanks for your advice.
I learned the examples and I am still confused.
Here is my demo code.
I expect that the last two components of $x$ are the same as the last two components of $b$ and equal to one, but the results are not.
I get x[6] = { 0.45, 1.311688, 0.999091, -0.45, -0.909091, 0.11}.
I wonder if there is a mistake in my code.
Thanks !
// OS:Centos 7.7

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page