#include "slepcbv.h" PetscErrorCode BVSumQuadrature(BV S,BV Y,PetscInt M,PetscInt L,PetscInt L_max,PetscScalar *w,PetscScalar *zn,VecScatter scat,PetscSubcomm subcomm,PetscInt npoints,PetscBool useconj)Collective
Y | - input basis vectors | |
M | - number of moments | |
L | - block size | |
L_max | - maximum block size | |
w | - quadrature weights | |
zn | - normalized quadrature points | |
scat | - (optional) VecScatter object to communicate between subcommunicators | |
subcomm | - subcommunicator layout | |
npoints | - number of points to process by the subcommunicator | |
useconj | - whether conjugate points can be used or not |
S | - output basis vectors |
When using subcommunicators, Y is stored in the subcommunicators for a subset of integration points. In that case, the computation is done in the subcomm and then scattered to the whole communicator in S using the VecScatter scat. The value npoints is the number of points to be processed in this subcomm and the flag useconj indicates whether symmetric points can be reused.