slepc-3.22.1 2024-10-28
DSSynchronize
Make sure that all processes have the same data, performing communication if necessary.
Synopsis
#include "slepcds.h"
PetscErrorCode DSSynchronize(DS ds,PetscScalar eigr[],PetscScalar eigi[])
Collective
Input Parameter
| ds | - the direct solver context
|
Input/Output Parameters
| eigr | - (optional) array with the computed eigenvalues (real part)
|
| eigi | - (optional) array with the computed eigenvalues (imaginary part)
|
Notes
When the DS has been created with a communicator with more than one process,
the internal data, especially the computed matrices, may diverge in the
different processes. This happens when using multithreaded BLAS and may
cause numerical issues in some ill-conditioned problems. This function
performs the necessary communication among the processes so that the
internal data is exactly equal in all of them.
Depending on the parallel mode as set with DSSetParallel(), this function
will either do nothing or synchronize the matrices computed by DSSolve()
and DSSort(). The arguments eigr and eigi are typically those used in the
calls to DSSolve() and DSSort().
See Also
DSSetParallel(), DSSolve(), DSSort()
Level
developer
Location
src/sys/classes/ds/interface/dsops.c
Index of all DS routines
Table of Contents for all manual pages
Index of all manual pages