# MatCreateVecs#

Get vector(s) compatible with the matrix, i.e. with the same parallel layout, PetscLayout for rows and columns

## Synopsis#

#include "petscmat.h"
PetscErrorCode MatCreateVecs(Mat mat, Vec *right, Vec *left)


Collective

## Input Parameter#

• mat - the matrix

## Output Parameters#

• right - (optional) vector that the matrix can be multiplied against

• left - (optional) vector that the matrix vector product can be stored in

## Notes#

The blocksize of the returned vectors is determined by the row and column block sizes set with MatSetBlockSizes() or the single blocksize (same for both) set by MatSetBlockSize().

These are new vectors which are not owned by the mat, they should be destroyed in VecDestroy() when no longer needed

Mat, Vec, VecCreate(), VecDestroy(), DMCreateGlobalVector()