petsc-3.14.5 2021-03-03
Report Typos and Errors

# VecGetSubVector

Gets a vector representing part of another vector

### Synopsis

    #include "petscvec.h"
    PetscErrorCode  VecGetSubVector(Vec X,IS is,Vec *Y)

Collective on X and IS

### Input Arguments

| X | - vector from which to extract a subvector
| is | - index set representing portion of X to extract

### Output Arguments

| Y | - subvector corresponding to is

### Notes

The subvector Y should be returned with VecRestoreSubVector(). X and is must be defined on the same communicator

This function may return a subvector without making a copy, therefore it is not safe to use the original vector while modifying the subvector. Other non-overlapping subvectors can still be obtained from X using this function. The resulting subvector inherits the block size from the IS if greater than one. Otherwise, the block size is guessed from the block size of the original vec.

### See Also

MatCreateSubMatrix()

### Level

advanced

### Location

src/vec/vec/interface/rvector.c

### Examples

src/snes/tutorials/ex70.c.html

### Implementations

VecGetSubVector_Nest in src/vec/vec/impls/nest/vecnest.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages