Skip to main content
`Ctrl`+`K`

# 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)

Logically Collective

## 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.

        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

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