On Fri, Jul 20, 2018 at 8:01 AM Pierpaolo Minelli <pierpaolo.mine...@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. > 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? > Yes, any linear system in complex numbers can be converted to a system twice as large in real numbers. So far, I think this is the best way to handle it, especially the elliptic ones. Thanks, Matt > Thanks in advance > > Pierpaolo > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>