Skip to main content
`Ctrl`+`K`

# MatGetDM

Gets the `DM` defining the data layout of the matrix

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode MatGetDM(Mat A, DM *dm)

Not Collective

## Input Parameter

- A - The `Mat`

## Output Parameter

- dm - The `DM`

## Note

A matrix may not have a `DM` associated with it

## Developer Note

Since the `Mat` class doesn’t know about the `DM` class the `DM` object is associated with the `Mat` through a `PetscObjectCompose()` operation

## See Also

DM Basics, `DM`, `MatSetDM()`, `DMCreateMatrix()`, `DMSetMatType()`

## Level

intermediate

## Location

src/dm/interface/dm.c

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