Skip to main content
`Ctrl`+`K`

# MatInvertVariableBlockEnvelope

set matrix C to be the inverted block diagonal of matrix A

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatInvertVariableBlockEnvelope(Mat A, MatReuse reuse, Mat *C)

Collective

## Input Parameters

- A - the matrix

- reuse - indicates if the `C` matrix was obtained from a previous call to this routine

## Output Parameter

- C - matrix with inverted block diagonal of `A`

## Note

For efficiency the matrix `A` should have all the nonzero entries clustered in smallish blocks along the diagonal.

## See Also

Matrices, `Mat`, `MatInvertBlockDiagonal()`, `MatComputeBlockDiagonal()`

## Level

advanced

## Location

src/mat/interface/matrix.c

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