Skip to main content
`Ctrl`+`K`

# MatComputeVariableBlockEnvelope

Given a matrix whose nonzeros are in blocks along the diagonal this computes and stores the sizes of these blocks in the matrix. An individual block may lie over several processes.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatComputeVariableBlockEnvelope(Mat mat)

Collective

## Input Parameter

- mat - the matrix

## Notes

There can be zeros within the blocks

The blocks can overlap between processes, including laying on more than two processes

## See Also

Matrices, `Mat`, `MatInvertVariableBlockEnvelope()`, `MatSetVariableBlockSizes()`

## Level

intermediate

## Location

src/mat/interface/matrix.c

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