Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7287 Discussions

PARDISO: Partial solve (iparm[30]) or Schur complement (iparm[35})

rbunger
Nouveau contributeur II
127 Visites

Hi,

 

I have a typical Schur complement application: A big sparse system describing a 3D problem where I want to solve for the surface unknowns only. I think there are two options in PARDISO:

  • Partial solve (iparm[30]=3, "Selected components of the solution vectors are computed"), and
  • Schur complement (iparm[35] = -2, "Schur complement matrix is provided in 3-array CSR sparse format"). I do not really need the Schur complement matrix itself, I just need the first part of the solution vector (the surface unknowns). The Schur matrix needs to be sparse because a dense one will be too big to store (again I do not need it but it seems to be necessary to use "pardiso_export()" nevertheless).

The question is: Which option is the better one? It needs to be memory efficient (not bigger than the full solve) and the solution step needs to be faster than the full solve as I am using the solve step repeatedly inside another iterative solver.

Thanks,

 

Rainer

0 Compliments
1 Solution
rbunger
Nouveau contributeur II
35 Visites

Meanwhile I'm very sure that "partial solve" internally is nothing else than using the Schure-complement with a sparse Schure matrix.

Voir la solution dans l'envoi d'origine

0 Compliments
1 Répondre
rbunger
Nouveau contributeur II
36 Visites

Meanwhile I'm very sure that "partial solve" internally is nothing else than using the Schure-complement with a sparse Schure matrix.

0 Compliments
Répondre