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
X
to 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/dm/tutorials/ex22.c
src/ksp/ksp/tutorials/ex81.c
src/snes/tutorials/ex63.c
src/snes/tutorials/ex70.c
src/ts/tutorials/ex77.c
src/vec/vec/tutorials/ex44.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