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

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