Fix terminology for Pmat in KSPView output.
Fix usage of deprecated PETSC_DEFAULT
Add `MATDIAGONAL` and `PCMatSetApplyOperation()``MATDIAGONAL` (`MatCreateDiagonal()`) is an interface formanipulating a diagonal matrix as a `Vec`, in particular supportingno-copy modification of
Add `MATDIAGONAL` and `PCMatSetApplyOperation()``MATDIAGONAL` (`MatCreateDiagonal()`) is an interface formanipulating a diagonal matrix as a `Vec`, in particular supportingno-copy modification of the diagonal and inverse diagonal via`MatDiagonalGetDiagonal()`, `MatDiagonalRestoreDiagonal()`,`MatDiagonalGetInverseDiagonal()`, and`MatDiagonalRestoreInverseDiagonal`().`PCMatSetApplyOperation()` and `PCMatGetApplyOperation()`support using all the linear operators currently defined by a `Mat`(`MatMult()`, `MatMultTranspose()`, `MatMultHermitianTranspose()`,`MatSolve()`, `MatSolveTranspose()`) as the operation of `PCApply()`for a `PCMAT`. The advantage over a `PCSHELL` is that the otheroperations (`PCApplyTranspose()`, `PCMatApply()`) are automaticallyinferred.These tools help make it easier to route operations like`VecPointwiseMult()` and `VecPointwiseDivide()` through`KSPSolve()` to avoid handling diagonal matrices as a specialcase (a pattern that is going to be removed from `MATLMVM`).
show more ...