Problem creating a non-square MPIAIJ Matrix

Shi Jin jinzishuai at
Fri Feb 16 15:34:22 CST 2007

> We are stoing the diagonal block and offdiagonal
> block
> separately. However both blocks are on the same
> processor. i.e each
> processor stores m*N values - in 2 submatrices m*n,
> m*(N-n). To
> understand this better - check manpage for
> MatCreateMPIAIJ().
Thanks. But this is completely different from what I
read from the PETSC mannual.
Here is says:
"The DIAGONAL portion of the local submatrix of a
processor can be defined as the submatrix which is
obtained by extraction the part corresponding to the
rows r1-r2 and columns r1-r2 of the global matrix,
where r1 is the first row that belongs to the
processor, and r2 is the last row belonging to the
this processor. This is a square mxm matrix. The
remaining portion of the local submatrix (mxN)
constitute the OFF-DIAGONAL portion."

So the two matrices are mxm and mx(N-m)
instead of what you said: mxn and mx(N-n)
However, the code seems to act like what you
They are equivalent for square matrices but not the
same for non-square matrices like the one I showed.
Could you please clarify whether the manual is
accurate or not?
Thank you very much.


Sucker-punch spam with award-winning protection. 
Try the free Yahoo! Mail Beta.

More information about the petsc-users mailing list