[petsc-users] MatGetDiagonal

Mark Adams mfadams at lbl.gov
Mon Dec 9 11:31:00 CST 2019


On Mon, Dec 9, 2019 at 10:57 AM hg <hgbk2008 at gmail.com> wrote:

> I think the manual is also insufficient in this case. The vector must be
> VECMPI and contains only the portion in the local process. Is that correct?
>

The vector and matrix (row) maps must match. This is assumed for any method
that I can think of that takes a matrix and a vector(s). This will dictate
if its MPI and the data layout.

Perhaps there is some ambiguity as to whether it is the row or column map,
but they are usually the same for a square matrix and MatGetDiagonal makes
no sense for a rectangular matrix.


>
> Giang
>
>
> On Wed, Jan 23, 2013 at 5:24 PM Nachiket Gokhale <gokhalen at gmail.com>
> wrote:
>
>> Thanks, I guess I misinterpreted the manual.
>>
>> -Nachiket
>>
>> On Wed, Jan 23, 2013 at 11:20 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>> > It works in serial. In parallel, it currently gives the diagonal of the
>> > "diagonal blocks" induced by the row and column distributions. That only
>> > matches the true diagonal for square matrices, though an actual diagonal
>> > doesn't typically make algorithmic sense for a non-square parallel
>> matrix.
>> >
>> >
>> > On Wed, Jan 23, 2013 at 10:16 AM, Nachiket Gokhale <gokhalen at gmail.com>
>> > wrote:
>> >>
>> >> Any chance of making this work in serial?
>> >>
>> >>
>> >>
>> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatGetDiagonal.html
>> >>
>> >> Not a show stopper, I am trying to get the diagonal  of some small
>> >> projected, dense matrices (which come from large sparse matrices).  I
>> >> am running in serial because 1) Since my projected matrices are small,
>> >> and 2) PETSc does not do certain matrix multiplications involving a
>> >> dense matrix in parallel,
>> >>
>> >> -Nachiket
>> >
>> >
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20191209/47689df7/attachment.html>


More information about the petsc-users mailing list