[petsc-users] Issue with single precision complex numbers in petsc4py

Peng Sun psun at outlook.com
Thu Oct 13 19:53:51 CDT 2022


Hi Hong,

Thanks for the advice.  I could not install petsc4py with the --with-petsc4py=1 option, which gave me an "No rule to make target 'petsc4py-install'" error when I ran "make install".   That was why I needed to install petsc4py separately after the PETSc was installed.

Best regards,
Peng Sun
________________________________
From: Zhang, Hong <hongzhang at anl.gov>
Sent: Thursday, October 13, 2022 4:30 PM
To: Peng Sun <psun at outlook.com>
Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
Subject: Re: [petsc-users] Issue with single precision complex numbers in petsc4py

It seems that you installed petsc4py separately. I would suggest to add the configure option --with-petsc4py=1 and follow the instructions to set PYTHONPATH before using petsc4py.

Hong (Mr.)

> On Oct 13, 2022, at 10:42 AM, Peng Sun <psun at outlook.com> wrote:
>
> Hi Matt,
>
> Sure, please see the attached configure.log file.  Thanks!
>
> Best regards,
> Peng Sun
>
>
> From: Matthew Knepley <knepley at gmail.com>
> Sent: Thursday, October 13, 2022 6:34 AM
> To: Peng Sun <psun at outlook.com>
> Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
> Subject: Re: [petsc-users] Issue with single precision complex numbers in petsc4py
>
> First send configure.log so we can see the setup.
>
>   Thanks,
>
>       Matt
>
> On Thu, Oct 13, 2022 at 12:53 AM Peng Sun <psun at outlook.com> wrote:
> Dear PETSc community,
>
> I have a question regarding the single precision complex numbers of petsc4py.  I configured PETSc with the “--with-scalar-type=complex --with-precision=single" option before compiling, but all the DA structures I created with petsc4py had double precision.
>
> Here is a minimum test code on Python 3.8/PETSc 3.12/petsc4py 3.12: both print commands show data type of complex128.  Could anybody please help me?  Thanks!
>
> import
>  petsc4py
>
> import
>  sys
> petsc4py.init(sys.argv)
>
> from petsc4py import
>  PETSc
>
> da=PETSc.DA().create(sizes=[
> 2,2,2],dof=1,stencil_type=0,stencil_width=1,boundary_type=1
> )
> da_1 = da.createGlobalVec()
>
> print
> (petsc4py.PETSc.ComplexType)
>
> print(da_1.getArray().dtype)
>
>
>
> Best regards,
> Peng Sun
>
>
> --
> 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/
> <configure.log>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221014/fde2c64c/attachment.html>


More information about the petsc-users mailing list