In order to using PETSc with complex and real numbers, a simple method I am considering is to build PETSc with complex numbers. I can control the matrices with complex or real numbers by myself. However, I can't built PETSc with some external packages and some packages developed based on PETSc. If I want to do it successfully, do you have any advice for me? Thanks a lot.
Regards, Yujie On Fri, Jan 22, 2010 at 2:49 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: > > The issue is that PETSc is written in C and there are not C++ templates > in C. We do not want to write TWO copies of each file, one with dcomplex > everywhere and another with double everywhere and give different names to > the functions in each language. It would be a pain to write and maintain and > a pain to use. Who wants to write MatSolve() to solve with real numbers and > MatSolveComplex() to solve with complex? > > C++ templates can be used to make all this possible but they are not > perfect to the task. Basically we need a better language to allow easy > mixing of dcomplex and double. > > Barry > > > > > On Jan 22, 2010, at 2:43 PM, Yujie wrote: > > Dear Barry, >> >> What are the difficult things if PETSc is revised with matrices of complex >> and real numbers? It should be more flexible for a general scientific >> toolbox. I am curious almost all the packages don't support both >> simultaneously. Thanks a lot. >> >> Regards, >> Yujie >> >> On Fri, Jan 22, 2010 at 2:35 PM, Barry Smith <bsmith at mcs.anl.gov> wrote: >> >> The way we handle complex numbered linear systems in PETSc is to compile >> all of PETSc with complex numbers and then just use the solvers on those >> complex numbers. The current drawback to this is that PETSc can only be >> built with support for complex numbers or for real numbers. We cannot build >> a PETSc where some matrices are complex and some are real. >> We don't have any interest in solving complex systems as larger real >> systems. >> >> Barry >> >> >> On Jan 22, 2010, at 11:04 AM, Yujie wrote: >> >> Dear PETSc Developers, >> >> Recently, I am trying to find some complex number-based solvers and >> preconditioners. However, it is difficult to find a general framework to >> include some solvers and preconditioners. Trilinos is developing a package, >> komplex, to use the real-number-based solver to solve complex number -based >> problem. I don't know whether PETSc wants to develop such the function for >> complex number-based problem. I think it will significantly increase the >> application range of PETSc. After all, in PETSc, lots of solvers and >> preconditioners have been developed. Thanks a lot. >> >> Regards, >> Yujie >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100122/8e109c8a/attachment.htm>
