Numerical Continuation of Bifurcations - An Introduction, Part I given at the London Dynamical Systems Group Graduate School 2005 Thomas Wagenknecht, Jan Sieber Bristol Centre for Applied Nonlinear Mathematics funded by the EPSRC Department of Engineering Mathematics University of Bristol 24 Oct 2005
Outline Continuation motivation pseudo-arclength continuation Boundary value problems Periodic orbits Detection of bifurcations (later) Continuation of bifurcations (later) Further reading/software
Motivation for Using Continuation Techiques (see Krauskopf/Lenstra: Fundamental Issues of Nonlinear Laser Dynamics, 2000) Problem: discover UK mainland, classify into England, Wales, Schottland Alternative A: Simulation, test on a fine grid of points Alternative B: Continuation, start in point you know (L), go ahead, always checking were you are detect borders go along borders detect cross points branch off at cross points = flip through animation on next slide
L
E L E
SE E WE L E
SE SE WE E WE L E
SE SE WE E WE L E
Newton iteration Solve nonlinear system of equations f(x) = 0, f : R n R n, x R n, p R Initial guess x 0 R n = iteration x k+1 = x k [ f(x k )] 1 f(x k ) Assumption: Solution x exists, is regular = det f(x ) 0 Pro: good convergence Con: x 0 x required
Parameter Continuation Find x R n s.t. f(x, p) = 0, f : R n R R n, p R Assumption: solution for p 0 known: f(x 0, p 0 ) = 0, 1 f(x 0, p 0 ) regular Implicit Function Theorem = solution curve x(p) for f(x(p), p) = 0 iterate: 1. choose p k+1 p k = 2. old solution x k initial guess for f(x, p k+1 ) = 0 3. solve f(x, p k+1 ) = 0 with Newton iteration = x k+1 points (x k, p k ) on solution curve x(p) fails if 1 f(x 0, p 0 ) not regular
Pseudo-arclength continuation Find y R n+1 s.t. f(y) = 0, f : R n+1 R n Assumption: y 0, z 0 R n+1 s.t. f(y 0 ) = 0, dim rg f(y 0 ) = n, f(y 0 )z 0 = 0. Implicit function theorem = solution curve y(s) (s ( δ, δ)), s.t. f(y(s)) = 0, y(0) = y 0, y (0) = z 0.
Iteration 1. predictor step y P k+1 = y k + hz k 2. corrector step = Newton iteration for y k+1 0 = f(y k+1 ) 0 = z T k (y k+1 y P k+1 ) with initial guess y k+1 = y P k+1 3. new tangent 0 = f(y k+1 )z k+1 1 = z T k z k+1 if y k is on solution curve = Jacobian R (n+1) (n+1) regular [ ] f(yk ) z T k
Geometric illustration x y = (x, p) 0 = f(y) = x 2 + p 2 1 y 0 z 0 p
Geometric illustration x y = (x, p) h 0 = f(y) y1 P z 0 = x 2 + p 2 1 y 0 p
Geometric illustration x y = (x, p) h 0 = f(y) y1 P z 0 = x 2 + p 2 1 y 0 y 1 stepsize h 1 p corrector step Newton iteration orthogonal to tangent
Geometric illustration x y = (x, p) h 0 = f(y) y1 P z 0 = x 2 + p 2 1 y 0 y 1 stepsize h 1 p z 1 corrector step Newton iteration orthogonal to tangent
Geometric illustration x y = (x, p) h 0 = f(y) y1 P z 0 = x 2 + p 2 1 y 0 y 1 h stepsize h 1 y P 2 p z 1 corrector step Newton iteration orthogonal to tangent
Geometric illustration x y = (x, p) h 0 = f(y) y1 P z 0 = x 2 + p 2 1 y 0 y 1 h stepsize h 1 y 2 y P 2 p z 1 corrector step Newton iteration orthogonal to tangent
Geometric illustration x y = (x, p) h 0 = f(y) y1 P z 0 = x 2 + p 2 1 y 0 y 1 h stepsize h 1 y 2 y P 2 p z 1 corrector step Newton iteration orthogonal to tangent
Boundary Value Problems (BVP) solution u( ) R n dim of dimension n dim parameter p R ncp of dimension n cp u solves differential equation (ODE) on interval [0, 1] u(t) = f(u(t), p) with n bc boundary conditions g(u(0), u(1), p) = 0, g : R 2n dim+n cp R n bc and n int integral conditions 1 0 h(u(t), p) dt = 0, h : R n dim+n cp R n int
initial value problem generates flow map Φ u(t) = f(u(t), p), u(0) = x = u(t) = Φ(t; x) (Φ(0; x) = x) BVP is nonlinear system with n dim + n cp variables (x, p) and n bc + n int equations 0 = g(x, Φ(1; x), p) 0 = 1 0 h(φ(t; x), p) dt pseudo-arclength continuation for y = (x, p) possible if n dim + n cp = n bc + n int + 1
Discretization subdivide interval [0, 1] into N subintervals I k 0 = t 0 < t 1 <... t N = 1 in each subinterval I k = [t k 1, t k ]: approximate solution u(t) by polynomial of order m: u(t) q k (t) for t I k q k satisfies ODE at m points in I k : t j k, j = 1... m Gauss points (orthogonal collocation) = error of order N 2m. + continuity conditions, boundary conditions, integral conditions
Equations and Variables Variables: N (m + 1) n dim coefficients of polynomials q k, n cp parameters Equations: ODE: q k (t j k ) = f(q k(t j k ), p) for j = 1... m, k = 1... N = N m n dim equations Continuity: q k (t k ) = q k+1 (t k ) for k = 1... N 1 = (N 1) n dim equations Boundary conditions: g(q 1 (0), q N (1), p) = 0 = n bc equations Integral conditions: N k=1 I k h(q k (t), p) dt = 0 = n int equations = N (m + 1) n dim + n cp variables, = N (m + 1) n dim n dim + n bc + n int equations
Continuation of Periodic Orbits u(t) is periodic orbit of u(t) = f(u(t), p) if it satisfies for some period T the boundary condition u(0) u(t) = 0 period T is unknown Phase invariance = u is not unique: if u(t) is periodic then u(t + δ) is periodic How to set up a regular BVP?
rescale time: u(t) = Tf(u(t), p) =ODE 0 = u(0) u(1) =boundary c. T additional free parameter = one additional condition to fix phase for example: Poincaré section: u k (0) = fixed for some k n dim computationally optimal for mesh-adaption during continuation 0 = 1 0 u old (t) T u(t) dt where u old is the previous solution along the branch This guarantees 1 0 u old (t) u(t)] 2 dt min
Continuation of Periodic Orbits final form u(t) = Tf(u(t), p) =ODE 0 = u(0) u(1) =boundary c. 0 = 1 0 u old (t) T u(t) dt =integral c. n bc = n dim, n int = 1 = continuation needs n cp = 2 parameters: p (one-dimensional) and period T continuation variable y consists of (u( ), p, T)
Bifurcation detection equilibria Special functions (as used by AUTO) for continuation of equilbria 0 = f(y) = f(x, p) Fold (turning point, saddle-node): (last component of tangent vector) z k,n+1 / z k Hopf (equilibria): imaginary part of complex eigenvalues of 1 f(x k, p k ) Branching point: det [ ] f(yk ) z T k
Bifurcation detection periodic orbits Continuation variable y = (u([t j k, t k]), p, T) for k = 1... N, j = 1... m overall dimension n = N m n dim + n cp Fold (for general BVP) z k,n ncp+1/ z k, for periodic orbits z k,n 1 / z k Branching points: determinant of reduced linearization Period doubling, Torus bifurcation: magnitude of Floquet multipliers (excluding one trivial Floquet multiplier 1) see Kuznetsov 04: Elements of Applied Bifurcation Theory for alternatives
Continuation of Bifurcations Equilibria Fully extended systems (see Kuznetsov 04 for alternatives): Fold: variables x, v R n, p R 2, v nullvector of linearization equations: 0 = f(x, p) 0 = 1 f(x, p) v 1 = v T v = 2n + 2 variables, 2n + 1 equations
Continuation of Bifurcations Equilibria Hopf: variables x, q r, q i R n, r ω R, p R 2 q r + iq i eigenvector for imaginary eigenvalue ir 1 ω equations: 0 = f(x, p) [ ] [ ] rω 0 = 1 f(x, p) I qr I r ω 1 f(x, p) 1 = q T r q r + q T i q i q i 0 = q T i,old(q r q r,old ) q T r,old(q i q i,old ) = 3n + 3 variables, 3n + 2 equations period of periodic solution branch will be 2πr ω
Continuation of Bifurcations Periodic Orbits Fold (for other bifurcations see AUTO or Kuznetsov): variables: u( ),v( ) R n on [0, 1], p R 2, T, β R v generalized eigenvector of Floquet multiplier 1, T period equations: u = Tf(u, p) v = T 1 f(u, p)v + βf(u, p) =ODE =ODE 0 = u(0) u(1) =boundary c. 0 = v(0) v(1) =boundary c. 0 = 0 = c = 1 0 1 0 1 0 u old (t) T u(t) dt =integral c. u old (t) T v(t) dt =integral c. v(t) T v(t) dt + β 2 =integral c.
Further software AUTO current versions: AUTO97 (fortran), AUTO2000 (C, python) documentation: manual, lecture notes on http://indy.cs.concordia.ca/auto/ help for AUTO2000 (and 97): Bart Oldeman software performing similar tasks: MATCONT (implemented in Matlab), currently maintained at Gent (Belgium), http://www.matcont.ugent.be XPPAUT (simulation package has interface for AUTO) http://www.math.pitt.edu/~bard/xpp/xpp.html Delay-differential equations: DDE-BIFTOOL, PDDECONT invariant manifolds: invariant tori (Torcont) 1D stable/unstable manifolds of periodic orbits (part of DsTool) see http://www.dynamicalsystems.org/sw/sw/ for more