KSPIDRSetCosine#

Sets the omega stabilization cosine threshold for the KSPIDR solver.

Synopsis#

#include "petscksp.h" 
PetscErrorCode KSPIDRSetCosine(KSP ksp, PetscReal cth)

Logically Collective

Input Parameters#

  • ksp - the Krylov solver context

  • cth - stabilization cosine threshold in [0,1) (default 0.7, 0 = off)

Options Database Key#

  • -ksp_idr_cosine cth - omega stabilization cosine threshold

Notes#

When the cosine of the angle between the residual and the preconditioned residual drops below this threshold, omega is scaled to prevent the near-orthogonality stalling described in [SF93, SvdV95]. Setting cth to 0 disables stabilization.

References#

[SF93]

G. L. G. Sleijpen and D. R. Fokkema. Bicgstab(ℓ) for linear equations involving unsymmetric matrices with complex spectrum. Electronic Transactions on Numerical Analysis, 1:11–32, 1993.

[SvdV95]

G. L. G. Sleijpen and H. A. van der Vorst. An overview of approaches for the stable computation of hybrid BiCG methods. Applied Numerical Mathematics, 19(3):235–254, 1995. doi:10.1016/0168-9274(95)00085-2.

See Also#

KSP: Linear System Solvers, KSPIDR, KSPIDRGetCosine(), KSPIDRSetS(), KSPIDRSetRandom()

Level#

intermediate

Location#

src/ksp/ksp/impls/idr/idr.c

Implementations#

KSPIDRSetCosine_IDR() in src/ksp/ksp/impls/idr/idr.c


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