MatSetBlockSize — PETSc 3.25.1 documentation

Skip to main content
`Ctrl`+`K`

# MatSetBlockSize

Sets the matrix block size.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatSetBlockSize(Mat mat, PetscInt bs)

Logically Collective

## Input Parameters

- mat - the matrix

- bs - block size

## Notes

Block row formats are `MATBAIJ` and `MATSBAIJ` formats ALWAYS have square block storage in the matrix. This must be called before `MatSetUp()` or MatXXXSetPreallocation() (or will default to 1) and the block size cannot be changed later.

For `MATAIJ` matrix format, this function can be called at a later stage, provided that the specified block size is compatible with the matrix local sizes.

## See Also

Matrices, `Mat`, `MATBAIJ`, `MATSBAIJ`, `MATAIJ`, `MatCreateSeqBAIJ()`, `MatCreateBAIJ()`, `MatGetBlockSize()`, `MatSetBlockSizes()`, `MatGetBlockSizes()`

## Level

intermediate

## Location

src/mat/interface/matrix.c

## Examples

src/ksp/ksp/tutorials/ex71.c
src/ksp/ksp/tutorials/ex56.c
src/snes/tutorials/ex56.c
src/ksp/ksp/tutorials/ex55.c
src/ksp/ksp/tutorials/ex87.c
src/ksp/ksp/tutorials/ex4.c

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