slepc-3.20.2 2024-03-15
Report Typos and Errors

EPSKrylovSchurUpdateSubcommMats

Update the eigenproblem matrices stored internally in the subcommunicator to which the calling process belongs.

Synopsis

#include "slepceps.h" 
PetscErrorCode EPSKrylovSchurUpdateSubcommMats(EPS eps,PetscScalar s,PetscScalar a,Mat Au,PetscScalar t,PetscScalar b,Mat Bu,MatStructure str,PetscBool globalup)
Collective

Input Parameters

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

Notes

This function modifies the eigenproblem matrices at the subcommunicator level, and optionally updates the global matrices in the parent communicator. The updates are expressed as A <-- s*A + a*Au, B <-- t*B + b*Bu.

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).

See Also

EPSSetInterval(), EPSKrylovSchurSetPartitions(), EPSKrylovSchurGetSubcommMats()

Level

advanced

Location

src/eps/impls/krylov/krylovschur/krylovschur.c

Index of all EPS routines
Table of Contents for all manual pages
Index of all manual pages