[petsc-users] Finding off diagonal blocks of matrix

Mark Adams mfadams at lbl.gov
Mon Jun 17 08:33:43 CDT 2019


On Mon, Jun 17, 2019 at 8:45 AM Eda Oktay via petsc-users <
petsc-users at mcs.anl.gov> wrote:

> Hello everyone,
>
> I am trying to find the off diagonal blocks of a matrix. For example, I
> partitioned a 10*10 matrix into 4*4 and 6*6 block sub matrices. I need to
> find the other blocks in order to find the number of nonzero elements in
> them.
>
> I tried to use MatGetLocalSubMatrix but I couldn't figure out how to give
> iscol and isrow.
>

isrow would be the rows of your local part of the (CSR) matrix
(start:end-1), iscol would be two parts, left (0:start) and right (end:N-1)


> Also, from the manual, ı understood that MatSetLocalToGlobalMapping should
> be used before this routine
>

I don't understand what you are referring to, but I am confused about what
you are trying to do. Perhaps you can explain what you are trying to
accomplish and we can help you with the details.

Thanks,
Mark


> but I couldn't used it properly because before MatGetLocalSuMatrix, the
> submatrix doesn't exist. I tried to give zero to all elements so that I can
> use Mapping routine, but I got an error saying that it is invalid.
>
> How can I fix this probelm?
>
> Thank you,
>
> Eda
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190617/93e78de1/attachment.html>


More information about the petsc-users mailing list