Hey Matt, Can you elaborate a little bit on your idea for calculating the inverse matrix ? Greetings Jan
Am Mo., 30. Sept. 2019 um 17:50 Uhr schrieb Matthew Knepley < [email protected]>: > I think the easier way to do it is to use a KSP which is configured to do > preonly and LU. That will do the right thing in parallel. > > Matt > > On Mon, Sep 30, 2019 at 11:47 AM Smith, Barry F. via petsc-users < > [email protected]> wrote: > >> >> 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 >> > > >> > >> >> > > -- > 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/ > <http://www.cse.buffalo.edu/~knepley/> >
