[petsc-users] petsc4py and numpy

Matthew Knepley knepley at gmail.com
Tue May 8 10:25:31 CDT 2012


On Tue, May 8, 2012 at 11:15 AM, Lisandro Dalcin <dalcinl at gmail.com> wrote:

> On 8 May 2012 12:04, Matthew Knepley <knepley at gmail.com> wrote:
> > On Tue, May 8, 2012 at 11:00 AM, Christian Staudt
> > <christian.staudt at ira.uka.de> wrote:
> >>
> >> Matthew Knepley <knepley at gmail.com> wrote:
> >>
> >> a) Is there an easy and efficient way to convert a numpy.ndarray to a
> >>
> >> PETSc.Vec or PETSc.Mat (and vice-versa)?  (A PETSc.Vec.getArray()
> returns
> >> a
> >>
> >> numpy.ndarray, though I have found no such method for PETSc.Mat yet. )
> >>
> >>
> >>
> >> If you are using dense matrices (MATDENSE) then MatGetArray() works.
> >>
> >>
> >> I don't think this is implemented in petsc4py: At least, there's no
> method
> >> PETSc.Mat.getArray()
> >
> >
> > If you ask Lisandro for it, he will put it in.
> >
>
> Matt, I've never put that in just because I'm not sure how to make it
> general. PETSc have many different matrix formats, and MatGetArray()
> call is like a hack, where you can get very different things (the "1D"
> values of an AIJ matrix, the "2D" values of a dense matrix in Fortran
> order). What about MPIAIJ, what should I return to users? Can you
> suggest some approach or API to implement this (I mean, how to get
> arrays for the various matrix types)?


I think the whole point is that you should not do it. However, that has
never stopped us from giving users
what they ask for. We are not int he business of reforming computing
practices, which is why we have
MatGetArray(). I would make a wrapper that failed unless the type was
MATDENSE.

  Matt


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



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120508/3780cf58/attachment-0001.htm>


More information about the petsc-users mailing list