[petsc-users] Solving Linear Systems with Scalar Real and Complex

Smith, Barry F. bsmith at mcs.anl.gov
Fri Jul 20 12:58:58 CDT 2018

> On Jul 20, 2018, at 7:01 AM, Pierpaolo Minelli <pierpaolo.minelli at cnr.it> wrote:
> Hi,
> in my code I have to solve both a system in the field of real numbers and in the field of complex numbers.
> My approach has been as follows.
> First I configured PETSc with the --with-scalar-type=complex option.
> Using this option I have unfortunately lost the possibility to use the two preconditioners ML and Hypre.

    You should still be able to use the PETSc PCGAMG algebraic multigrid solver. Have you tried that? If there are issues let us know because we would like to continue to improve the performance of PCGAMG to get it to be closer to as good as ML and hypre.


> I later created two subspaces of Krylov and tried to solve the two systems as I used to when solving the only equation in the real numbers field.
> In order to correctly solve the system in the field of real numbers I had to transform the coefficients from real to complex with an imaginary part equal to zero.
> Is there a possibility to use a different and better approach to solve my problem?
> Perhaps an approach where you can continue to use ML and Hypre for system solving in the real numbers field or where you don't need to use complex numbers when real numbers would actually suffice?
> Thanks in advance
> Pierpaolo

More information about the petsc-users mailing list