:orphan: # VecISCopy Copies between a reduced vector and the appropriate elements of a full-space vector. ## Synopsis ``` #include "petscvec.h" PetscErrorCode VecISCopy(Vec vfull, IS is, ScatterMode mode, Vec vreduced) ``` ## Input Parameters - ***vfull -*** the full-space vector - ***is -*** the index set for the reduced space - ***mode -*** the direction of copying, `SCATTER_FORWARD` or `SCATTER_REVERSE` - ***vreduced -*** the reduced-space vector ## Output Parameter - ***vfull -*** the sum of the full-space vector and reduced-space vector ## Notes The index set identifies entries in the global vector. Negative indices are skipped; indices outside the ownership range of `vfull` will raise an error. ```none mode == SCATTER_FORWARD: vfull[is[i]] = vreduced[i] mode == SCATTER_REVERSE: vreduced[i] = vfull[is[i]] ``` ## See Also `VecISSet()`, `VecISAXPY()`, `VecCopy()` ## Level advanced ## Location src/vec/vec/utils/projection.c ## Examples src/snes/tutorials/ex13.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/utils/projection.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)