Rework MAT_SYMMETRIC and MAT_HERMITIAN options
Merge branch 'release'
MatGetRow(): fix MATDIAGONAL implementationReported-by: Vincent Robert <vincent.robert@cea.fr>
checkbadSource: enforce proper style in makefiles
missing "s" for isascii and issundials
Mat: Improve the usability of constantdiagonal and diagonal matricesMat_ConstantDiagonal: Add MatConstantDiagonalGetConstant() and implement conjugate and transposeMat_Diagonal: Add missing setra
Mat: Improve the usability of constantdiagonal and diagonal matricesMat_ConstantDiagonal: Add MatConstantDiagonalGetConstant() and implement conjugate and transposeMat_Diagonal: Add missing setrandom, conjugate, and transpose methodsMatView: Don't print MatInfo for constantdiagonal or diagonal matrices
show more ...
Remove useless code
Brain dead fixes for useless casts
MatDiagonal: add MatPermute() implementation
Minor housekeeping
LIBBASE is no longer used in make so remove it
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Remove DIRS variable and unneeded tabs from all makefiles since no longer neededCommit-type: housekeeping
Add MATPRODUCT_A[t]B for MatDiagonal
Remove first and last empty lines
MAT[SOLVERMUMPS|NEST]: add necessary MATDIAGONAL operations
Add static to internal functions
Rename PetscValidPointer -> PetscAssertPointer
Lint apply: mat
docs: additional chapter_ -> ch_ change in main after merge of release changes from !6520
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`).