[petsc-dev] Computing inverse of a small matrix: MatLUFactor() usage
Tabrez Ali
stali at geology.wisc.edu
Wed Nov 21 14:42:57 CST 2012
PETSc comes with Lapack so you can just use dgetrf/dgetri.
T
On 11/21/2012 02:23 PM, Gautam Bisht wrote:
> Jed,
>
> On Nov 21, 2012, at 12:09 PM, Jed Brown wrote:
>
>> On Wed, Nov 21, 2012 at 9:03 PM, Gautam Bisht <gbisht at lbl.gov
>> <mailto: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.
>
> The 3x3 matrix is being generated using MatMult of 3xN and Nx3
> matrices. I wanted to give MatMatSolve a try, but could not figure how
> to use it via Fortran. I will now code up the explicit formula.
>
>>
>> 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.
>
>
> -Gautam.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121121/308dc027/attachment.html>
More information about the petsc-dev
mailing list