[petsc-users] matrix with complex number

Yujie recrusader at gmail.com
Fri Jan 22 14:57:49 CST 2010


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>


More information about the petsc-users mailing list