[petsc-dev] Computing inverse of a small matrix: MatLUFactor() usage

Jed Brown jedbrown at mcs.anl.gov
Wed Nov 21 14:09:35 CST 2012

On Wed, Nov 21, 2012 at 9:03 PM, Gautam Bisht <gbisht at lbl.gov> wrote:

> I need to compute an inverse of M, a small matrix (3x3), and am coding in
> Fortran 90. Following the suggestion under FAQ on the website, I'm trying
> to use MatMatSolve to obtain the inverse of matrix. I did the following:
> - Created three sequential dense matrices: M, I, Minv
> - Filled values in M and I using MatSetValues
> - Tried factoring Matrix M before calling MatMatSolve(M,I,Minv,ierr)
> I'm not sure what arguments needs to be passed as arguments in
> MatLUFactor() corresponding to IS row, IS col, and MatFactorInfo. I noticed
> the following note on website that states "*Developer Note: fortran
> interface is not autogenerated as the f90 interface defintion cannot be
> generated correctly [due to MatFactorInfo]*".
> Is there a Fortran90 example demonstrating the use of MatMatSolve()?

For a 3x3 matrix, you should just use the explicit formula for the inverse.
Going through the PETSc interface doesn't make sense at all.

> Additionally, I have been trying to update my copy of petsc-dev, and am
> getting timed out from the server.

The server died so it has moved to https://bitbucket.org/petsc/petsc-dev.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121121/8531ac95/attachment.html>

More information about the petsc-dev mailing list