[petsc-users] MatZeroRowsColumnsLocal for MatNest

Stefano Zampini stefano.zampini at gmail.com
Sun Feb 4 13:43:17 CST 2018


Also, it uses mat->cmap->mapping, which is wrong. It shall use mat->rmap->mapping, and check if mat->rmap->mapping == mat->cmap->mapping

> On Feb 4, 2018, at 10:39 PM, Jed Brown <jed at jedbrown.org> wrote:
> 
> "Garth N. Wells" <gnw20 at cam.ac.uk> writes:
> 
>> As a note, with MatNest and MatZeroRowsColumns I get
>> 
>> [0]PETSC ERROR: No support for this operation for this object type
>> [0]PETSC ERROR: Mat type nest
>> 
>> which is informative, but with MatNest and and MatZeroRowsColumnsLocal I get
>> 
>> [0]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
>> probably memory access out of range
> 
> Gross.  I assume Barry wrote it to call the ops->zerorowscolumns
> directly to follow the same pattern as MatZeroRowsLocal (which first
> checks for a special ops pointer, and then still doesn't check if
> ops->zerorows is NULL).  If you need this, we'll need to add a new ops
> pointer and implement it for MatNest.  If you just need a better error
> message, we can just fix up the dispatch.
> 
>> Garth
>> 
>> On 4 February 2018 at 18:43, Jed Brown <jed at jedbrown.org> wrote:
>> 
>>> It is not implemented and it's somewhat inconsistent with the MatNest
>>> philosophy of specifying everything in terms of local indices, though it
>>> could be implemented.
>>> 
>>> "Garth N. Wells" <gnw20 at cam.ac.uk> writes:
>>> 
>>>> Should MatZeroRowsColumnsLocal work for matrices of type MATNEST?
>>>> 
>>>> Garth
>>> 



More information about the petsc-users mailing list