The SOR-Newton method

Directly to the input form

 
  • The SOR-Newton method is meant for the solution of large nonlinear systems of equations F(x)=0.
  • It is a combination of the ideas of Newton's method and the SOR method for linear systems, in the form first relax then linearize.
  • Given an approximation xk for the zero x* in a cycle of n substeps new coordinates are computed as
    xk+1,i = xk,i -ω*Fi(xk+1,1,..,xk+1,i-1,xk,i,..,xk,n)/((d/d xi) Fi(xk+1,1,..,xk+1,i-1,xk,i,..,xk,n)), i=1,...,n .
    That means we take a onedimensional Newton's step with stepsize variation for the i-th equation, considered as a function of the i-th variable only.
  • The relaxation parameter ω has the same role as in the linear case.
  • If F(x)=Ax-b, then this is identical to the SOR method for linear equations.
  • Proofs of local convergence are possible under the same assumptions on the Jacobian of F at x* as used in the linear case. Global convergence can be shown if F is the gradient of an uniformly convex function on Rn (this means that the Jabobian is symmetric and its eigenvalues have a globally valid upper and lower bound > 0). In addition ω needs to be ''sufficiently small'' or otherwise one needs to use a test for sufficient decrease of the principal function of F. Even if this principal function is available its computation (for each k,i) is as costly as a complete cycle in this iteration. Hence this is never realized in practice, rather one tries a ''small'' omega first, tries to check the ''optimal'' one and continues. Here we work with a fixed user defined ω.
  • The advantage of this method is the fact that it is completely ''matrix free'', the required diagonal of the Jacobian might well be approximated by finite differences.
  • The convergence conditions however are very restrictive. Local convergence can be shown under the condition that the Jacobian of F at the solution has properties which are sufficient for proving convergence in the case of a linear system. For example for an irreducible and positive definite symmetrix tridiagonal matrix one knows that an unique optimal relaxation parameter exists which is larger than one and approximately
    ωopt = 2/(1+2/√(cond(JF(x*))))
    with the convergence rate
    ρ = ωopt -1 = 1 - O(1/√(cond(JF(x*)))).
 

Input

 
  • For the nonlinear system
    F(x) = (F1(x1,...,xn) ,..., Fn(x1,...,xn)) = 0
    there is a predefined case with chooseable dimension (in {60,1200}), namely the standard discretization of the nonlinear two point boundary problem
    y''(t) = γ sin(π y(t)) + t(1-t), 0 <= t <= 1 , y(0) = 1 , y(1) = 2
    by finite differences of second order consistency. This is well defined for γ <= 1/2 but for larger values it becomes illdefined. You may set γ as you wish, but don't complain if it does not work! If you know a little bit more about the theory: think about the eigenvalues of the tridiagonal matrix with the typical entries
    -1 , 2 + γ π cos(π y(j))/(n+1)2 , -1 .
    You have also the possibility to provide your own testcase by code for computing the i-th component of F yourself. The partial derivatives (d/dxi)Fi are computed by a high precision numerical differentiation (sixth order Richardson extrapolation), hence you need not to bother about that.
  • In the case of a selfdefined problem input is the dimension n, four indices I in the range {1,...,n} for which you will see the graph of xi, i in I over the stepnumber k and the initial point (x0,1,...,x0,n).
  • in both cases:
  • The relaxation parameter ω. Important: 0 < ω < 2 ! This does not necessarily yield convergence!
  • The required precision ε in the norm of F. We require
    ||F||2 <= ε ||diag(JF)||
    for the current point for successful termination.
  • The maximum number of iterations allowed.
  • A bound C for the allowed groth of ||F|| (there is normally no monotonic decrease!). We diagnose ''divergence'' and give up if
    ||F(xk)|| > C ||F(x0)|| .
  • You might want to see in addition to the graphical output a printed table of some components of x and ||F||. Since the step numbers might be quite large, you can decide to see only every k-th step.
 

Output

 
  • Three 2D-Plots showing the sequence xI for the selected indices and ||F||, and xi=1,...,n over i.
  • A table of results with this sequence if you did require this.
  • A table of the final solution.
 

Questions?!

 
  • When can you observe monotonic convergence in the euclidean sense?
  • Which influence has the relaxation parameter ?
  • In which cases you observe convergence, in which divergence?
 

To the input form

 
Back to the top!

24.05.2016