How to find the optimal SSOR parameter

The symmetric successive overrelaxation method features the iteration matrix

$$P=\left(\frac{D}{\omega}+L\right)\frac{\omega}{2-\omega}D^{-1}\left(\frac{D}{\omega}+U\right)$$

Either as a stationary method or as a preconditioner, a system in that matrix is solved at every iteration.

The method depends on a parameter $$\omega \in (0,2)$$. While it converges for every $$\omega$$ in that parameter range, there is little information in standard textbooks on how to find the optimal parameter in practice. Often, $$\omega = 1$$ is a choice without further discussion.

What are practical ways of picking a relaxation parameter? Or is picking the parameter a purely theoretical issue?

• the book by Axelsson & Barker has a discussion. It comes down to the fact that for SSOR the optimal parameter is much less important than for SOR. Sep 21 at 19:27

In fact, $$\omega=1.2$$ is often used in practice when using SSOR as a preconditioner in an outer iteration. The way to find which value is optimal is simply one of trying many different values and recording how many iterations you need to solve a linear system to a certain accuracy. It's a one-dimensional optimization problem (the parameter is $$\omega$$, the objective function is the number of iterations), so easy enough to solve by simply sampling many different values of $$\omega$$.

• So in practice it comes down to trial and error? That sounds bleak. Sep 24 at 9:25
• It's a 1d optimization problem, that really isn't all that hard. Or you could just accept the value of 1.2 that others have found as gospel. Sep 25 at 3:04

Corless/Fillion book gives a formula for "optimal" $$\omega$$ of SOR but doesn't say where it comes from. Here's the relevant section:

Not sure if this helps in some way, but in the book Numerical Recipes, the authors have this to say about the SOR parameter $$\omega$$ and how it can be iteratively updated:

where

Please note that the context where these conclusions were drawn in the book comes from considerations of a 2D SOR scheme, and they mention nothing about the impact of this update scheme on the SSOR. Also, the intermediate calculation step, denoted with bracketed indices $$1/2$$ and $$n+1/2$$ come from the 2D red-black SOR scheme, where first even-even and odd-odd i,j coordinates are solved, and then even-odd and odd-even i,j are solved. i,j here are indices of the grid points along the $$x$$ and $$y$$ axes, respectively