VecGetSubVector#
Gets a vector representing part of another vector
Synopsis#
#include "petscvec.h"
PetscErrorCode VecGetSubVector(Vec X, IS is, Vec *Y)
Collective
Input Parameters#
X - vector from which to extract a subvector
is - index set representing portion of
Xto extract
Output Parameter#
Y - subvector corresponding to
is
Notes#
The subvector Y should be returned with VecRestoreSubVector().
X and 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 is if greater than one. Otherwise, the block size is guessed from the block size of the original X.
See Also#
Vectors and Parallel Data, Vec, IS, VECNEST, MatCreateSubMatrix()
Level#
advanced
Location#
Examples#
src/vec/vec/tutorials/ex44.c
src/snes/tutorials/ex70.c
src/dm/tutorials/ex22.c
src/ts/tutorials/ex77.c
src/ksp/ksp/tutorials/ex81.c
src/snes/tutorials/ex63.c
Implementations#
VecGetSubVector_MPIKokkos() in src/vec/vec/impls/mpi/kokkos/mpikok.kokkos.cxx
VecGetSubVector_Nest() in src/vec/vec/impls/nest/vecnest.c
VecGetSubVector_SeqKokkos() in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages