:orphan: # VecMDotBegin Starts a split phase multiple dot product computation. ## Synopsis ``` #include "petscvec.h" PetscErrorCode VecMDotBegin(Vec x, PetscInt nv, const Vec y[], PetscScalar result[]) ``` ## Input Parameters - ***x -*** the first vector - ***nv -*** number of vectors - ***y -*** array of vectors - ***result -*** where the result will go (can be `NULL`) ## Notes Each call to `VecMDotBegin()` should be paired with a call to `VecMDotEnd()`. ## See Also `VecMDotEnd()`, `VecNormBegin()`, `VecNormEnd()`, `VecNorm()`, `VecDot()`, `VecMDot()`, `VecTDotBegin()`, `VecTDotEnd()`, `VecMTDotBegin()`, `VecMTDotEnd()`, `PetscCommSplitReductionBegin()` ## Level advanced ## Location src/vec/vec/utils/comb.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/vec/utils/comb.c) [Index of all Vec routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)