Skip to main content
`Ctrl`+`K`

# MatNestGetSubMats

Returns the entire two dimensional array of matrices defining a `MATNEST` matrix.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatNestGetSubMats(Mat A, PetscInt *M, PetscInt *N, Mat ***mat)

Not Collective

## Input Parameter

- A - nest matrix

## Output Parameters

- M - number of submatrix rows in the nest matrix

- N - number of submatrix columns in the nest matrix

- mat - array of matrices

## Note

The user should not free the array `mat`.

## Fortran Notes

This routine has a calling sequence `call MatNestGetSubMats(A, M, N, mat, ierr)` where the space allocated for the optional argument `mat` is assumed large enough (if provided). Matrices in `mat` are returned in row-major order, see `MatCreateNest()` for an example.

## See Also

Matrices, `Mat`, `MATNEST`, `MatNestGetSize()`, `MatNestGetSubMat()`, `MatNestGetLocalISs()`, `MatCreateNest()`, `MatNestSetSubMats()`, `MatNestGetISs()`, `MatNestSetSubMat()`

## Level

developer

## Location

src/mat/impls/nest/matnest.c

## Examples

src/ksp/ksp/tutorials/ex27.c

## Implementations

MatNestGetSubMats_Nest() in src/mat/impls/nest/matnest.c

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