[petsc-dev] Fwd: [petsc-maint #56111] petsc4py does not work with complex numbers?

Lisandro Dalcin dalcinl at gmail.com
Mon Nov 15 18:43:39 CST 2010


petsc-dev has a bug in VecEqual for the case of complex scalars. I've
mailed Satish about this with a single-line patch. After applying the
patch, almost all petsc4py tests pass.

Still, there is a failure, but I doubt it is petsc4py's fault:

======================================================================
ERROR: testSolve (test_ksp.TestKSPBCGSL)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/test_ksp.py", line 132, in testSolve
    self.ksp.solve(b, x)
  File "KSP.pyx", line 326, in petsc4py.PETSc.KSP.solve
(src/petsc4py.PETSc.c:89520)
Error: error code 62
[0] KSPSolve() line 427 in /usr/local/petsc/dev/src/ksp/ksp/interface/itfunc.c
[0] KSPSolve_BCGSL() line 241 in
/usr/local/petsc/dev/src/ksp/ksp/impls/bcgsl/bcgsl.c
[0] VecMAXPY() line 1202 in /usr/local/petsc/dev/src/vec/vec/interface/rvector.c
[0] Invalid argument
[0] Scalar value must be same on all processes, argument # 3


On 15 November 2010 20:05, Satish Balay <balay at mcs.anl.gov> wrote:
> Ok. For now - I've added complex=1 for petsc4py.py [and mpi4py.py]
>
> Satish
>
> On Mon, 15 Nov 2010, Lisandro Dalcin wrote:
>
>> On 15 November 2010 19:01, Satish Balay <balay at mcs.anl.gov> wrote:
>> > I get the following with complex enabled. Does this mean 'some tests
>> > run but others fail'?
>> >
>> > I guess we'll have to wait for Lisandro to reply..
>> >
>>
>> Complex numbers should work just fine, at least with 3.1, I'm going to
>> check against petsc-dev.
>>
>> >
>> > asterix:/home/balay/tmp/petsc-dev/externalpackages/petsc4py-dev>make test
>> > python test/runtests.py < /dev/null
>> > [0 at asterix] Python 2.7 (/usr/bin/python)
>> > [0 at asterix] PETSc 3.1.0-p5 development (conf: 'asterix64')
>> > [0 at asterix] petsc4py 1.1.2 (build/lib.linux-x86_64-2.7/petsc4py)
>> > .......................................................................................................................................................................................................................EE...................................................................................................F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F...
>  ....
>> >  .F........F........F........F.........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F...................FE..........FF.FEF...........F.....................................................................................................................................................................................................................FFFF........FFFF................................................................F...F..F.......F...F..F.......F...F..F........
>> > ======================================================================
>> > ERROR: testSetMonitor (test_ksp.TestKSPBCGSL)
>> > ----------------------------------------------------------------------
>> > Traceback (most recent call last):
>> >  File "test/test_ksp.py", line 154, in testSetMonitor
>> >    self.testSolve()
>> >  File "test/test_ksp.py", line 132, in testSolve
>> >    self.ksp.solve(b, x)
>> >  File "KSP.pyx", line 326, in petsc4py.PETSc.KSP.solve (src/petsc4py.PETSc.c:89419)
>> > Error: error code 62
>> > [0] KSPSolve() line 427 in src/ksp/ksp/interface/itfunc.c
>> > [0] KSPSolve_BCGSL() line 241 in src/ksp/ksp/impls/bcgsl/bcgsl.c
>> > [0] VecMAXPY() line 1202 in src/vec/vec/interface/rvector.c
>> > [0] Invalid argument
>> > [0] Scalar value must be same on all processes, argument # 3
>> >
>> > ======================================================================
>> > ERROR: testSolve (test_ksp.TestKSPBCGSL)
>> > ----------------------------------------------------------------------
>> > Traceback (most recent call last):
>> >  File "test/test_ksp.py", line 132, in testSolve
>> >    self.ksp.solve(b, x)
>> >  File "KSP.pyx", line 326, in petsc4py.PETSc.KSP.solve (src/petsc4py.PETSc.c:89419)
>> > Error: error code 62
>> > [0] KSPSolve() line 427 in src/ksp/ksp/interface/itfunc.c
>> > [0] KSPSolve_BCGSL() line 241 in src/ksp/ksp/impls/bcgsl/bcgsl.c
>> > [0] VecMAXPY() line 1202 in src/vec/vec/interface/rvector.c
>> > [0] Invalid argument
>> > [0] Scalar value must be same on all processes, argument # 3
>> >
>> > ======================================================================
>> > ERROR: testCreateTranspose (test_mat_py.TestDiagonal)
>> > ----------------------------------------------------------------------
>> > Traceback (most recent call last):
>> >  File "test/test_mat_py.py", line 100, in tearDown
>> >    self.assertEqual(getrefcount(ctx), 2)
>> > AssertionError: 3 != 2
>> >
>> > ======================================================================
>> > ERROR: testMultTransposeNewMeth (test_mat_py.TestIdentity)
>> > ---------------------------
>> >
>> >
>> > On Mon, 15 Nov 2010, Barry Smith wrote:
>> >
>> >>
>> >>
>> >> >
>> >> >
>> >> >    Could someone who knows answer this? If it supports complex then we'll need to change the flag in petsc4py.py
>> >> >
>> >> >   Barry
>> >> >
>> >> > *******************************************************************************
>> >> >          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
>> >> > -------------------------------------------------------------------------------
>> >> > Cannot use petsc4py with complex numbers it is not coded for this capability
>> >> > *******************************************************************************
>> >> >   File "./config/configure.py", line 260, in petsc_configure
>> >> >     framework.configure(out = sys.stdout)
>> >> >   File "/Users/srinath/work/Packages/rev-packages/petsc-dev/config/BuildSystem/config/framework.py", line 977, in configure
>> >> >     child.configure()
>> >> >   File "/Users/srinath/work/Packages/rev-packages/petsc-dev/config/BuildSystem/config/package.py", line 488, in configure
>> >> >     self.consistencyChecks()
>> >> >   File "/Users/srinath/work/Packages/rev-packages/petsc-dev/config/PETSc/package.py", line 40, in consistencyChecks
>> >> >     raise RuntimeError('Cannot use '+self.name+' with complex numbers it is not coded for this capability')
>> >> >
>> >> >
>> >> >
>> >> > Begin forwarded message:
>> >> >
>> >> >> From: Srinath Vadlamani <srinath at txcorp.com>
>> >> >> Date: November 15, 2010 3:27:55 PM CST
>> >> >> To: petsc-maint <petsc-maint at mcs.anl.gov>
>> >> >> Subject: [petsc-maint #56111] petsc4py does not work with complex numbers?
>> >> >> Reply-To: petsc-maint at mcs.anl.gov, Srinath Vadlamani <srinath at txcorp.com>
>> >> >>
>> >> >> Is this true?
>> >> >>
>> >> >> --
>> >> >> =========================
>> >> >> Srinath Vadlamani, PhD.
>> >> >> Tech-X Corp. Research Scientist
>> >> >> 5621 Arapahoe Ave. Suite A
>> >> >> Boulder, CO 80303
>> >> >> 303-996-2034
>> >> >> =========================
>> >> >>
>> >> >> Is this true?
>> >> >>
>> >> >> --
>> >> >> =========================
>> >> >> Srinath Vadlamani, PhD.
>> >> >> Tech-X Corp. Research Scientist
>> >> >> 5621 Arapahoe Ave. Suite A
>> >> >> Boulder, CO 80303
>> >> >> 303-996-2034
>> >> >> =========================
>> >> >>
>> >> >
>> >>
>> >>
>> >
>>
>>
>>
>>
>



-- 
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169



More information about the petsc-dev mailing list