On Nov 30, 2011, at 2:07 PM, Jed Brown wrote:

> On Wed, Nov 30, 2011 at 14:04, Barry Smith <bsmith at mcs.anl.gov> wrote:
> Ok, so how can we resolve this? The problem is that the default ordering is 
> set when the PCCreate_Cholesky() and is set to be natural in order "to be 
> safe" if sbaij matrix is used. We could change it to default to ND and then 
> when PCSetUp_Cholesky() is called simply set the ordering to natural if it is 
> a sbaij matrix. Kind of a hack but what do you suggest that doesn't involve 
> tracking some other variable indicating if the user has set the ordering type 
> to something else ...
> 
> Why the hell set it so soon? This is like choosing which side/norm to use in 
> a Krylov method. Make the decision lazily (when it is requested or needed to 
> do something), otherwise leave it undefined.

   There is currently no MatOrdering object nor MatColoring object one simply 
calls MatGetOrdering with an MatOrderingType and MatGetColoring with a 
MatColoringType. 

   These should both be totally refactored to match the paradigm of other PETSc 
objects; for example KSP  or MatPartitioning. Make a ticket in your cumbersome 
ticketing web interface :-)


   Barry




Reply via email to