Skip to main content
`Ctrl`+`K`

# VecSetSizes

Sets the local and global sizes, and checks to determine compatibility of the sizes

## Synopsis

    #include "petscvec.h"
    PetscErrorCode VecSetSizes(Vec v, PetscInt n, PetscInt N)

Collective

## Input Parameters

- v - the vector

- n - the local size (or `PETSC_DECIDE` to have it set)

- N - the global size (or `PETSC_DETERMINE` to have it set)

## Notes

`N` cannot be `PETSC_DETERMINE` if `n` is `PETSC_DECIDE`

If one processor calls this with `N` of `PETSC_DETERMINE` then all processors must, otherwise the program will hang.

If `n` is not `PETSC_DECIDE`, then the value determines the `PetscLayout` of the vector and the ranges returned by `VecGetOwnershipRange()` and `VecGetOwnershipRanges()`

## See Also

Vectors and Parallel Data, `Vec`, `VecCreate()`, `VecCreateSeq()`, `VecCreateMPI()`, `VecGetSize()`, `PetscSplitOwnership()`, `PetscLayout`, `VecGetOwnershipRange()`, `VecGetOwnershipRanges()`, `MatSetSizes()`

## Level

intermediate

## Location

src/vec/vec/interface/vector.c

## Examples

src/ksp/ksp/tutorials/ex1.c
src/ksp/ksp/tutorials/ex11f.F90
src/ksp/ksp/tutorials/ex15.c
src/ksp/ksp/tutorials/ex11.c
src/ksp/ksp/tutorials/ex10.c
src/ksp/ksp/tutorials/ex18.c
src/ksp/ksp/tutorials/ex16.c
src/ksp/ksp/tutorials/ex12.c
src/dm/tutorials/ex14.c

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