Skip to main content
`Ctrl`+`K`

# PCSORSetSymmetric

Sets the SOR preconditioner to use symmetric (SSOR), backward, or forward relaxation. The local variants perform SOR on each processor. By default forward relaxation is used.

## Synopsis

    #include "petscpc.h"
    PetscErrorCode PCSORSetSymmetric(PC pc, MatSORType flag)

Logically Collective

## Input Parameters

- pc - the preconditioner context

- flag - one of the following

        SOR_FORWARD_SWEEP
        SOR_BACKWARD_SWEEP
        SOR_SYMMETRIC_SWEEP
        SOR_LOCAL_FORWARD_SWEEP
        SOR_LOCAL_BACKWARD_SWEEP
        SOR_LOCAL_SYMMETRIC_SWEEP

## Options Database Keys

- -pc_sor_symmetric - Activates symmetric version

- -pc_sor_backward - Activates backward version

- -pc_sor_local_forward - Activates local forward version

- -pc_sor_local_symmetric - Activates local symmetric version

- -pc_sor_local_backward - Activates local backward version

## Note

To use the Eisenstat trick with SSOR, employ the PCEISENSTAT preconditioner, which can be chosen with the option

- -pc_type eisenstat - Activates Eisenstat trick

## See Also

KSP: Linear System Solvers, `PCSOR`, `PCEisenstatSetOmega()`, `PCSORSetIterations()`, `PCSORSetOmega()`

## Level

intermediate

## Location

src/ksp/pc/impls/sor/sor.c

## Implementations

PCSORSetSymmetric_SOR() in src/ksp/pc/impls/sor/sor.c

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