MatInvertVariableBlockDiagonal#

Inverts the point block diagonal entries.

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatInvertVariableBlockDiagonal(Mat mat, PetscInt nblocks, const PetscInt *bsizes, PetscScalar *values)

Collective; No Fortran Support

Input Parameters#

Output Parameter#

  • values - the block inverses in column major order (FORTRAN-like)

Notes#

Use MatInvertBlockDiagonal() if all blocks have the same size

The blocks never overlap between two MPI processes, use MatInvertVariableBlockEnvelope() for that case

See Also#

Matrices, Mat, MatInvertBlockDiagonal(), MatSetVariableBlockSizes(), MatInvertVariableBlockEnvelope()

Level#

advanced

Location#

src/mat/interface/matrix.c

Implementations#

MatInvertVariableBlockDiagonal_MPIAIJ() in src/mat/impls/aij/mpi/mpiaij.c
MatInvertVariableBlockDiagonal_SeqAIJ() in src/mat/impls/aij/seq/aij.c
MatInvertVariableBlockDiagonal_SeqAIJKokkos() in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx


Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages