slepc-3.22.2 2024-12-02
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