[petsc-dev] Request to add a PETSc-MUMPS API for null pivot rows

Ashish Patel ashish.patel at onscale.com
Thu Mar 23 16:30:53 CDT 2023


Dear Petsc developers,

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.

Thanks
Ashish

PetscErrorCode MatMumpsGetPivNullList_MUMPS(Mat F,PetscInt *size,
PetscInt *array[])
{
Mat_MUMPS *mumps =(Mat_MUMPS*)F->data;

PetscFunctionBegin;
*size = mumps->id.INFOG(28);
if (!mumps->myid) {
*array = mumps->id.pivnul_list;
}
PetscFunctionReturn(0);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20230323/eec746b0/attachment.html>


More information about the petsc-dev mailing list