[petsc-users] Size of off-diagonal matrix

John Fettig john.fettig at gmail.com
Thu Jun 23 07:53:53 CDT 2011


On Wed, Jun 22, 2011 at 10:30 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> On Jun 22, 2011, at 9:02 AM, John Fettig wrote:
>
>> On Wed, Jun 22, 2011 at 9:56 AM, Matthew Knepley <knepley at gmail.com> wrote:
>>> It is compressed, so it only has columns that have a nonzero.
>>
>> Thanks for answering so quickly.  I had just assumed that it would
>> logically still report sizes that added up to the global column size
>> so I was confused.
>
>   What do you mean "report"? The sequential matrix that represents the off-diagonal part of the matrix actually does not contain the "zero columns" so does have fewer columns and hence the smaller number.

I mean if you run with "-mat_view_info", it tells you the size of the
sequential matrices (which are the sizes I gave in the initial email).
 I had expected a couple of things:

1) the logical row size would be (global size - diagonal block size).
2) the indices would follow similar logic, i.e. entries before the
diagonal block would have the same column number as in the global
matrix, and entries after the diagonal would have (column number -
diagonal block size).

I was wrong on both counts, and I still don't understand how the
column numbering for the off-diagonal block is calculated.  It appears
you are doing something more than just compressing the columns, you
are also shifting the indices if an entire column is zero?  Is there
anyplace in the documentation that would help me understand this?
Alternatively, where would I look in mpiaij.c?

Thanks,
John


More information about the petsc-users mailing list