Problem with rectangular matrices
Matthew Knepley
knepley at gmail.com
Tue May 26 08:35:28 CDT 2009
I think there is an inconsistency in our definitions. If you create a matrix
which
is 4x8 on 2 procs, then you end up with a row and column map like this:
rowMap colMap
[0..2) [2..4) [0..4) [4..8)
However, we use the column map for queries which then give nonsense. The
most
damaging is in MatSetValues(). If I give a value for (2,2) on proc 1, then
since
2 < cstart = 4, this value is considered "off-diagonal" and can cause a
malloc(). So
I think we have a choice. We can define "diagonal block" to have this weird
shape,
or we can change all queries for the diagonal block to use only the rowMap.
I vote
for the latter, but does anyone have an objection?
Matt
--
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090526/d00b164c/attachment.html>
More information about the petsc-dev
mailing list