Begins a generalized scatter from one vector to another. Complete the scattering phase with
sf - scatter context generated by VecScatterCreate()
x - the vector from which we scatter
y - the vector to which we scatter
The vectors x and y need not be the same vectors used in the call
VecScatterCreate(), but x must have the same parallel data layout
as that passed in as the x to
VecScatterCreate(), similarly for the y.
Most likely they have been obtained from VecDuplicate().
y[iy[i]] = x[ix[i]], for i=0,…,ni-1
This scatter is far more general than the conventional scatter, since it can be a gather or a scatter or a combination, depending on the indices ix and iy. If x is a parallel vector and y is sequential, VecScatterBegin() can serve to gather values to a single processor. Similarly, if y is parallel and x sequential, the routine can scatter from one processor to many processors.