<div dir="ltr"><div>Dear Petsc developers,</div><div><br></div><div>Mumps has an interface to enable null pivot row detection via ICNTL(24)=1 and then returns the number of rows detected via INFOG(28). Access to both is currently available via PETSc, however the list of rows detected is available via PIVNUL_LIST only within MUMPS. I have a forked version of PETSc where I added the required code to get the array and was wondering if it's something that could be added in the main branch as well? Main code addition in mumps.c looks like this.</div><div><br></div><div>Thanks<br></div><div>Ashish<br></div><div><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-family:"Droid Sans Mono","monospace",monospace;font-weight:normal;font-size:14px;line-height:19px;white-space:pre"><br><div><span style="color:rgb(78,201,176)">PetscErrorCode</span><span style="color:rgb(212,212,212)"> </span><span style="color:rgb(220,220,170)">MatMumpsGetPivNullList_MUMPS</span><span style="color:rgb(212,212,212)">(</span><span style="color:rgb(78,201,176)">Mat</span><span style="color:rgb(212,212,212)"> </span><span style="color:rgb(156,220,254)">F</span><span style="color:rgb(212,212,212)">,</span><span style="color:rgb(78,201,176)">PetscInt</span><span style="color:rgb(212,212,212)"> *</span><span style="color:rgb(156,220,254)">size</span><span style="color:rgb(212,212,212)">,</span><span style="color:rgb(78,201,176)"><br>                                            PetscInt</span><span style="color:rgb(212,212,212)"> *</span><span style="color:rgb(156,220,254)">array</span><span style="color:rgb(86,156,214)">[]</span><span style="color:rgb(212,212,212)">)</span></div><div><span style="color:rgb(212,212,212)">{</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(78,201,176)">Mat_MUMPS</span><span style="color:rgb(212,212,212)"> *</span><span style="color:rgb(156,220,254)">mumps</span><span style="color:rgb(212,212,212)"> =(</span><span style="color:rgb(78,201,176)">Mat_MUMPS</span><span style="color:rgb(212,212,212)">*)</span><span style="color:rgb(156,220,254)">F</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">data</span><span style="color:rgb(212,212,212)">;</span></div><br><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(86,156,214)">PetscFunctionBegin</span><span style="color:rgb(212,212,212)">;</span></div><div><span style="color:rgb(212,212,212)">  *</span><span style="color:rgb(156,220,254)">size</span><span style="color:rgb(212,212,212)"> = </span><span style="color:rgb(156,220,254)">mumps</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">id</span><span style="color:rgb(212,212,212)">.</span><span style="color:rgb(86,156,214)">INFOG</span><span style="color:rgb(212,212,212)">(</span><span style="color:rgb(181,206,168)">28</span><span style="color:rgb(212,212,212)">);</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(197,134,192)">if</span><span style="color:rgb(212,212,212)"> (!</span><span style="color:rgb(156,220,254)">mumps</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">myid</span><span style="color:rgb(212,212,212)">) {</span></div><div><span style="color:rgb(212,212,212)">    *</span><span style="color:rgb(156,220,254)">array</span><span style="color:rgb(212,212,212)"> = </span><span style="color:rgb(156,220,254)">mumps</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">id</span><span style="color:rgb(212,212,212)">.</span><span style="color:rgb(156,220,254)">pivnul_list</span><span style="color:rgb(212,212,212)">;</span></div><div><span style="color:rgb(212,212,212)">  }</span></div><div><span style="color:rgb(212,212,212)">  </span><span style="color:rgb(86,156,214)">PetscFunctionReturn</span><span style="color:rgb(212,212,212)">(</span><span style="color:rgb(181,206,168)">0</span><span style="color:rgb(212,212,212)">);</span></div><div><span style="color:rgb(212,212,212)">}</span></div></div></div></div>