The Python wrapper for PETSc may be missing some functionality; there is a 
manual process involved in creating new ones. You could poke around the 
petsc4py source and see how easy it would be to add more functionality that you 
need.



> On Sep 30, 2019, at 10:13 AM, Jan Grießer <[email protected]> wrote:
> 
> I configured PETSc with MUMPS and tested it already for the spectrum slicing 
> method in Slepc4py but i have problems in setting up the LU factorization in 
> the PETSc4py. Since i do not find the corresponding methods and commands in 
> the source code. Thats why is was wondering if this is even possible in the 
> python version. 
> 
> Am Mo., 30. Sept. 2019 um 16:57 Uhr schrieb Smith, Barry F. 
> <[email protected]>:
> 
>   If you want a parallal LU (and hence the ability to build the inverse in 
> parallel) you need to configure PETSc with --download-mumps 
> --download-scalapack 
> 
>   Barry
> 
> 
> > On Sep 30, 2019, at 9:44 AM, Jan Grießer <[email protected]> 
> > wrote:
> > 
> > Is the MatMumpsGetInverse also wrapped to the python version in PETSc4py ? 
> > If yes is there any example for using it ? 
> > My other question is related to the LU factoriation 
> > (https://www.mcs.anl.gov/petsc/documentation/faq.html#invertmatrix). 
> > Is the LU factorization only possible for sequential Aij matrices ? I read 
> > in the docs that this is the case for ordering. 
> > After setting up my matrix A, B and x i tried:
> >  r, c = dynamical_matrix_nn.getOrdering("nd")
> >  fac_dyn_matrix = dynamical_matrix_nn.factorLU(r,c)
> > 
> > resulting in an error:
> > [0] No support for this operation for this object type
> > [0] Mat type mpiaij
> > 
> > Am Fr., 27. Sept. 2019 um 16:26 Uhr schrieb Zhang, Hong 
> > <[email protected]>:
> > See ~petsc/src/mat/examples/tests/ex214.c on how to compute selected 
> > entries of inv(A) using mumps.
> > Hong
> > 
> > On Fri, Sep 27, 2019 at 8:04 AM Smith, Barry F. via petsc-users 
> > <[email protected]> wrote:
> > 
> > MatMumpsGetInverse() maybe useful. Also simply using MatMatSolve() with the 
> > first 1000 columns of the identity and "throwing away" the part you don't 
> > need may be most effective.
> > 
> >    Barry
> > 
> > 
> > 
> > > On Sep 27, 2019, at 3:34 AM, Jan Grießer via petsc-users 
> > > <[email protected]> wrote:
> > > 
> > > Hi all,
> > > i am using petsc4py. I am dealing with rather large sparse matrices up to 
> > > 600kx600k and i am interested in calculating a part of the inverse of the 
> > > matrix(I know it will be a dense matrix). Due to the nature of my 
> > > problem, I am only interested in approximately the first 1000 rows and 
> > > 1000 columns (i.e. a large block in the upper left ofthe matrix).  Before 
> > > I start to play around now, I wanted to ask if there is a clever way to 
> > > tackle this kind of problem in PETSc in principle. For any input I would 
> > > be very grateful!
> > > Greetings Jan 
> > 
> 

Reply via email to