<div>The SBAIJ implementation requires that the diagonal entry exists.  If you only have a few rows of all zeros, then just place explicit zeros there, otherwise use AIJ or BAIJ both of which work fine with completely empty rows (if your system is so sparse that you don&#39;t want to store one explicit zero per row, then the non-symmetric storage will probably also be faster.</div>
<div><br></div><div><div>Aren&#39;t you getting an error in MatMult_SeqSBAIJ_1?  This is a horrible error message, but it comes from trying to log a negative number of flops.  I&#39;ll put a check into petsc-dev so it gives a better error message.</div>
<div><div><br></div><div>Jed<br></div>
</div></div>