[petsc-users] Solving a linear system with sparse matrices

Jed Brown jed at jedbrown.org
Sat May 21 12:50:47 CDT 2022


You can MatConvert your sparse matrix to dense, but there's almost always a better way. Why do you want this product (which is dense) represented explicitly rather than via the sequence (multiply by B, then solve with A)? What will you use it for?

Mateo José Moinelo <mateojmoinelo at gmail.com> writes:

> Hi. I am working on a Petsc program, and I have a problem. I have two
> sparse matrices A and B, and I want to compute inv(A)*B. I understand that
> computing the inverse of a matrix directly is not effective, and that in
> this case, the best way to do the operation is instead solving the system
> A*X = B, being X the result. I reviewed the documentation, and found some
> interesting options, like the function MatMatSolve, or using a KSP.
>
> The problem I found is that these options seem to work only for dense
> matrices, and I do not know how to convert my sparce matrices to dense.
> What can I do in this case?.
>
> Thanks in advance.


More information about the petsc-users mailing list