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

Zhang, Hong hongzhang at anl.gov
Thu Oct 13 18:30:35 CDT 2022


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>



More information about the petsc-users mailing list