:orphan: # VecCopy Copies a vector `y = x` ## Synopsis ``` #include "petscvec.h" PetscErrorCode VecCopy(Vec x, Vec y) ``` Logically Collective ## Input Parameter - ***x -*** the vector ## Output Parameter - ***y -*** the copy ## Note For default parallel PETSc vectors, both `x` and `y` must be distributed in the same manner; local copies are done. ## Developer Note `PetscCheckSameTypeAndComm`(x,1,y,2) is not used on these vectors because we allow one of the vectors to be sequential and one to be parallel so long as both have the same local sizes. This is used in some internal functions in PETSc. ## See Also [](ch_vectors), `Vec`, `VecDuplicate()` ## Level beginner ## Location src/vec/vec/interface/vector.c ## Examples src/dm/impls/stag/tutorials/ex1.c
src/dm/impls/stag/tutorials/ex2.c
src/dm/impls/stag/tutorials/ex3.c
src/dm/impls/swarm/tutorials/ex1.c
src/dm/impls/swarm/tutorials/ex1f90.F90
src/dm/tutorials/ex15.c
src/ksp/ksp/tutorials/ex14f.F90
src/ksp/ksp/tutorials/ex27.c
src/ksp/ksp/tutorials/ex28.c
src/ksp/ksp/tutorials/ex9.c
src/mat/tutorials/ex9.c
## Implementations VecCopy_Nest in src/vec/vec/impls/nest/vecnest.c
VecCopy_Seq in src/vec/vec/impls/seq/bvec2.c
VecCopy_SeqKokkos in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecCopy_SeqViennaCL in src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/interface/vector.c) [Index of all Vec routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)