#include "slepceps.h" PetscErrorCode EPSKrylovSchurUpdateSubcommMats(EPS eps,PetscScalar s,PetscScalar a,Mat Au,PetscScalar t,PetscScalar b,Mat Bu,MatStructure str,PetscBool globalup)Collective
eps | - the eigenproblem solver context | |
s | - scalar that multiplies the existing A matrix | |
a | - scalar used in the axpy operation on A | |
Au | - matrix used in the axpy operation on A | |
t | - scalar that multiplies the existing B matrix | |
b | - scalar used in the axpy operation on B | |
Bu | - matrix used in the axpy operation on B | |
str | - structure flag | |
globalup | - flag indicating if global matrices must be updated |
It is possible to update one of the matrices, or both.
The matrices Au and Bu must be equal in all subcommunicators.
The str flag is passed to the MatAXPY() operations to perform the updates.
If globalup is true, communication is carried out to reconstruct the updated matrices in the parent communicator. The user must be warned that if global matrices are not in sync with subcommunicator matrices, the errors computed by EPSComputeError() will be wrong even if the computed solution is correct (the synchronization may be done only once at the end).