History log of /petsc/src/mat/impls/diagonal/diagonal.c (Results 26 – 32 of 32)
Revision Date Author Comments
# cfd92c66 22-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'tisaac/feature-type-generic-petsc-valid-pointer' into 'main'

Implement a type generic PetscValidPointer

See merge request petsc/petsc!6693


# 4f572ea9 18-Jul-2023 Toby Isaac <toby.isaac@gmail.com>

Rename PetscValidPointer -> PetscAssertPointer


# 02477ebb 15-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-06-30/enable-doc-lint' into 'main'

Enable docs linting

See merge request petsc/petsc!6667


# fe59aa6d 12-Jul-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Lint apply: mat


# be50c303 03-Jun-2023 Satish Balay <balay@mcs.anl.gov>

docs: additional chapter_ -> ch_ change in main after merge of release changes from !6520


# 93d6cec8 30-May-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'tisaac/feature-mat-vectordiagonal' into 'main'

Add MATDIAGONAL and PCMatSetApplyOperation()

See merge request petsc/petsc!6487


# 345a4b08 19-May-2023 Toby Isaac <toby.isaac@gmail.com>

Add `MATDIAGONAL` and `PCMatSetApplyOperation()`

`MATDIAGONAL` (`MatCreateDiagonal()`) is an interface for
manipulating a diagonal matrix as a `Vec`, in particular supporting
no-copy modification of

Add `MATDIAGONAL` and `PCMatSetApplyOperation()`

`MATDIAGONAL` (`MatCreateDiagonal()`) is an interface for
manipulating a diagonal matrix as a `Vec`, in particular supporting
no-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 other
operations (`PCApplyTranspose()`, `PCMatApply()`) are automatically
inferred.

These tools help make it easier to route operations like
`VecPointwiseMult()` and `VecPointwiseDivide()` through
`KSPSolve()` to avoid handling diagonal matrices as a special
case (a pattern that is going to be removed from `MATLMVM`).

show more ...


12