VecDuplicateVecs#
Creates several vectors of the same type as an existing vector.
Synopsis#
#include "petscvec.h"
PetscErrorCode VecDuplicateVecs(Vec v, PetscInt m, Vec *V[])
Collective
Input Parameters#
m - the number of vectors to obtain
v - a vector to mimic
Output Parameter#
V - location to put pointer to array of vectors
Notes#
Use VecDestroyVecs()
to free the space. Use VecDuplicate()
to form a single
vector.
Some implementations ensure that the arrays accessed by each vector are contiguous in memory. Certain VecMDot()
and VecMAXPY()
implementations utilize this property to use BLAS 2 operations for higher efficiency. This is especially useful in KSPGMRES
, see
KSPGMRESSetPreAllocateVectors()
.
Fortran Note#
Vec, pointer :: V(:)
See Also#
Vectors and Parallel Data, Vec
, PETSc for Fortran Users, VecDestroyVecs()
, VecDuplicate()
, VecCreate()
, VecMDot()
, VecMAXPY()
, KSPGMRES
,
KSPGMRESSetPreAllocateVectors()
Level#
intermediate
Location#
Examples#
src/vec/vec/tutorials/ex20f90.F90
src/vec/vec/tutorials/ex19.c
src/ksp/ksp/tutorials/ex49.c
src/tao/pde_constrained/tutorials/parabolic.c
src/vec/vec/tutorials/ex1f90.F90
src/tao/pde_constrained/tutorials/hyperbolic.c
src/vec/vec/tutorials/ex1.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages