Continuous and Discrete Homotopy Operators: A Theoretical Approach Made Concrete and Applicable Willy Hereman Department of Mathematical and Computer Sciences Colorado School of Mines Golden, Colorado, U.S.A. whereman@mines.edu http://www.mines.edu/fs home/whereman/ Department of Mathematics Colorado State University, Fort Collins, CO Thursday, September 29, 2005, 3:10p.m. Acknowledgements Collaborators: Mark Hickman, Bernard Deconinck Michael Colagrosso several undergraduate and graduate students Research supported in part by NSF under Grant CCR-9901929 This presentation was made in TeXpower Outline Part I: Continuous Case • Calculus-based formulas for the continuous homotopy operator (in multi-dimensions) • Symbolic integration by parts and inversion of the total divergence operator • Application: symbolic computation of conservation laws of nonlinear PDEs in multi-dimensions Part II: Discrete Case • Calculus-based formula for the discrete homotopy operator • Symbolic summation by parts and inversion of the forward difference operator • Application: symbolic computation of conservation laws of nonlinear differentialdifference equation (DDEs) in (1 + 1) dimensions Motivation of the Research Computation of Conservation Laws Continuous Case • System of PDEs ut = F(u, ux , u2x , · · · ) • Conservation law in (1 + 1) dimensions Dt ρ + Dx J = 0 (on PDE) conserved density ρ and flux J • Conservation law in (3 + 1) dimensions Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 + Dz J3 = 0 (on PDE) conserved density ρ and flux J = (J1 , J2 , J3 ) • Example: Shallow water wave (SWW) equations 1 ut + (u·∇)u + 2 Ω × u + ∇(θh) − h∇θ = 0 2 θt + u·(∇θ) = 0 ht + ∇·(uh) = 0 In components: 1 ut + uux + vuy − 2 Ωv + hθx + θhx = 0 2 1 vt + uvx + vvy + 2 Ωu + hθy + θhy = 0 2 θt + uθx + vθy = 0 ht + hux + uhx + hvy + vhy = 0 • First few densities-flux pairs: ρ(1) =h J(1) = ρ(2) = hθ J(2) = ρ(3) = hθ2 J(3) = ρ(4) = (u2 + v 2 )h + h2 θ J(4) = uh vh uhθ vhθ uhθ2 vhθ2 u3 h + uv 2 h + 2uh2 θ v 3 h + u2 vh + 2vh2 θ ρ(5) = vx θ − uy θ + 2Ωθ 4Ωuθ − 2uuy θ + 2uvx θ − hθθy 1 (5) J =2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Discrete Case • System of DDEs u̇n = F(· · · , un−1 , un , un+1 , · · · ) • Conservation law in (1 + 1) dimensions Dt ρn + ∆Jn = 0 (on DDE) conserved density ρn and flux Jn • Example: Toda lattice u̇n = vn−1 − vn v̇n = vn (un − un+1 ) • First few density-flux pairs: (0) J n = un (1) Jn = vn−1 ρn = 21 u2n + vn (2) Jn = un vn−1 (3) ρn = 31 u3n (3) Jn = un−1 un vn−1 ρn = ln(vn ) (0) (1) ρn = u n + un (vn−1 + vn ) (2) 2 + vn−1 . COMPUTER DEMO PART I: CONTINUOUS CASE Review Vector Calculus • In multivariate calculus: all scalar fields f including the components Fi of vector fields F = (F1 , F2 , F3 ) are functions of (x, y, z) • Definition: F is conservative if F = ∇f • Definition: F is irrotational or curl free if ∇×F=0 • Theorem (gradient test): F = ∇f iff ∇ × F = 0 PART I: CONTINUOUS CASE Review Vector Calculus • In multivariate calculus: all scalar fields f including the components Fi of vector fields F = (F1 , F2 , F3 ) are functions of (x, y, z) • Definition: F is conservative if F = ∇f • Definition: F is irrotational or curl free if ∇×F=0 • Theorem (gradient test): F = ∇f iff ∇ × F = 0 The curl annihilates gradients! • Definition: F is incompressible or divergence free if ∇ · F = 0 • Theorem (curl test): F = ∇ × G iff ∇ · F = 0 • Definition: F is incompressible or divergence free if ∇ · F = 0 • Theorem (curl test): F = ∇ × G iff ∇ · F = 0 The divergence annihilates curls! • Definition: F is incompressible or divergence free if ∇ · F = 0 • Theorem (curl test): F = ∇ × G iff ∇ · F = 0 The divergence annihilates curls! • Question: How can one verify that f = ∇ · F ? • Definition: F is incompressible or divergence free if ∇ · F = 0 • Theorem (curl test): F = ∇ × G iff ∇ · F = 0 The divergence annihilates curls! • Question: How can one verify that f = ∇ · F ? No theorem from vector calculus! Problem Statement Continuous case in 1D: Example: For u(x) and v(x) f = 3ux v 2 sin u − u3x sin u − 6vvx cos u + 2ux u2x cos u + 8vx v2x Z Find F = f dx so, f = Dx F Result (by hand): F = 4 vx2 + u2x cos u − 3 v 2 cos u Problem Statement Continuous case in 1D: Example: For u(x) and v(x) f = 3ux v 2 sin u − u3x sin u − 6vvx cos u + 2ux u2x cos u + 8vx v2x Z Find F = f dx so, f = Dx F Result (by hand): F = 4 vx2 + u2x cos u − 3 v 2 cos u Mathematica cannot compute this integral! Continuous case in 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx Find F = Div−1 f so, f = Div F Result (by hand): F = (uvy − ux vy , −uvx + ux vx ) Continuous case in 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx Find F = Div−1 f so, f = Div F Result (by hand): F = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! Continuous case in 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx Find F = Div−1 f so, f = Div F Result (by hand): F = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! Can this be done without integration by parts? Continuous case in 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx Find F = Div−1 f so, f = Div F Result (by hand): F = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! Can this be done without integration by parts? Can the problem be reduced to a single integral in one variable? Discrete case in 1D: Example: 2 fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn Find Fn = ∆−1 fn so, fn = ∆Fn = Fn+1 − Fn Result (by hand): Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Discrete case in 1D: Example: 2 fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn Find Fn = ∆−1 fn so, fn = ∆Fn = Fn+1 − Fn Result (by hand): Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Mathematica cannot do this! Discrete case in 1D: Example: 2 fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn Find Fn = ∆−1 fn so, fn = ∆Fn = Fn+1 − Fn Result (by hand): Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Mathematica cannot do this! How can this be done algorithmically? Discrete case in 1D: Example: 2 fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn Find Fn = ∆−1 fn so, fn = ∆Fn = Fn+1 − Fn Result (by hand): Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Mathematica cannot do this! How can this be done algorithmically? Can this be done in the same way as the continuous case? Calculus of Variations and Differential Geometry • In differential geometry: f and Fi depend on arbitrary functions u(x, y, z), v(x, y, z), etc. and their mixed derivatives (up to a fixed order) with respect to the independent variables (x, y, z) Such functions are called differential functions • • Definition: f is exact iff f = Dx F Theorem (exactness test): f = Dx F iff (0) Lu(x) (f ) ≡0 • Definition: f is a divergence if f = DivF • Theorem (divergence test): f = DivF iff (0) Lu(x) (f ) ≡ 0 • Definition: f is a divergence if f = DivF • Theorem (divergence test): f = DivF iff (0) Lu(x) (f ) ≡ 0 The Euler operator annihilates divergences! Formulas for Euler operators (variational derivatives): (0) Lu(x) ∞ X ∂ = (−Dx ) ∂u kx k=0 k ∂ ∂ 2 ∂ 3 ∂ = − Dx − Dx + ··· + Dx ∂u ∂ux ∂u2x ∂u3x (0,0) Lu(x,y) = ∞ ∞ X X kx =0 ky =0 kx (−Dx ) (−Dy ) ky ∂ ∂ukx x ky y ∂ ∂ ∂ = − Dx − Dy ∂u ∂ux ∂uy ∂ 2 ∂ 2 ∂ 3 ∂ + Dx + D x Dy + Dy − Dx − ··· ∂u2x ∂uxy ∂u2y ∂u3x (0,0,0) Lu(x,y,z) = ∞ ∞ ∞ X X X kx =0 ky =0 kz =0 kx ky (−Dx ) (−Dy ) (−Dz ) kz ∂ ∂ukx x ky y kz z ∂ ∂ ∂ ∂ = − Dx − Dy − Dz ∂u ∂ux ∂uy ∂uz 2 ∂ 2 ∂ 2 ∂ + Dx + Dy + Dz ∂u2x ∂u2y ∂u2z ∂ ∂ ∂ +Dx Dy + Dx Dz + Dy Dz −· · · ∂uxy ∂uxz ∂uyz Application: Testing Exactness Consider, for example, f = 3ux v 2 sin u − u3x sin u − 6vvx cos u + 2ux u2x cos u + 8vx v2x • f is exact • After integration by parts (by hand): Z F = f dx = 4 vx2 + u2x cos u − 3 v 2 cos u • Exactness test with Euler operator: For example, for component u (of order 2): (0) Lu(x) (f ) ∂f ∂f 2 ∂f = − Dx + Dx ∂u ∂ux ∂u2x = 3ux v 2 cos u − u3x cos u + 6v vx sin u − 2ux u2x sin u −Dx [3v 2 sin u − 3u2x sin u + 2u2x cos u] + D2x [2ux cos u] = 3ux v 2 cos u − u3x cos u + 6v vx sin u − 2ux u2x sin u −[3ux v 2 cos u + 6v vx sin u − 3u3x cos u − 6u u2x sin u −2ux u2x sin u + 2u3x cos u] +[−2u3x cos u − 6ux u2x sin u + 2u3x cos u] ≡ 0 Higher Euler Operators • In 1D (with variable x): (i) Lu(x) = ∞ X k k=i i (−Dx ) k−i ∂ ∂ukx Examples for component u(x): (1) Lu(x) (2) Lu(x) (3) Lu(x) ∂ ∂ 2 ∂ 3 ∂ = − 2Dx + 3Dx − 4Dx + ··· ∂ux ∂u2x ∂u3x ∂u4x ∂ ∂ 2 ∂ 3 ∂ = − 3Dx + 6Dx − 10Dx + ··· ∂u2x ∂u3x ∂u4x ∂u5x ∂ ∂ 2 ∂ 3 ∂ = − 4Dx + 10Dx − 20Dx + ··· ∂u3x ∂u4x ∂u5x ∂u6x • In 2D (with variables x and y): ∞ X ∞ X kx ky ∂ (ix ,iy ) kx −ix ky −iy Lu(x,y)= (−Dx ) (−Dy ) ∂u i i x y kx x k y y k =i k =i x x y y Examples for component u(x, y): ∂ ∂ ∂ 2 ∂ − 2Dx − Dy + 3Dx + ··· ∂ux ∂u2x ∂uxy ∂u3x ∂ ∂ ∂ (0,1) 2 ∂ Lu(x,y) = − 2Dy − Dx + 3Dy + ··· ∂uy ∂u2y ∂uyx ∂u3y ∂ ∂ ∂ ∂ (1,1) 2 Lu(x,y) = − 2Dx − 2Dy + 3Dx + ··· ∂uxy ∂u2xy ∂ux2y ∂u3xy ∂ ∂ ∂ ∂ (2,1) 2 Lu(x,y) = − 3Dx − 2Dy + 6Dx + ··· ∂u2xy ∂u3xy ∂u2x2y ∂u4xy (1,0) Lu(x,y) = • In 3D (with variables x, y, and z): ∞ ∞ ∞ X X X kx ky k z (ix ,iy ,iz ) Lu(x,y,z) = ix iy iz k =i k =i k =i x x y (−Dx ) • Theorem: f = i = 0, 1, . . . , r−1 y z kx −ix Dxr F z (−Dy ) iff ky −iy (−Dz ) (i) Lu(x) (f ) kz −iz ≡ 0 for ∂ ∂ukx x ky y kz z Integration by Parts with Homotopy Operator • Theorem (integration with homotopy operator): • In 1D: If f is exact then F = D−1 x f = Z f dx = Hu(x) (f ) • In 2D: If f is a divergence then F = Div −1 f = (x) (y) (Hu(x,y) (f ), Hu(x,y) (f )) • In 3D: If f is a divergence then (x) (y) (z) F = Div−1 f = (Hu(x,y,z) (f ), Hu(x,y,z) (f ), Hu(x,y,z) (f )) Continuous Homotopy Operators • In 1D (with variable x): Z Hu(x) (f ) = 0 N 1X dλ Iuj (f )[λu] λ j=1 where uj is jth component of u and integrand Iuj (f ) = ∞ X (i+1) Dix uj Luj (x) (f ) i=0 N is the number of dependent variables and Iuj (f )[λu] means that in Iuj (f ) one replaces u(x) → λu(x), ux (x) → λux (x), etc. Example: u(x) = (u1 (x), u2 (x)) = (u(x), v(x)): 1 Z dλ Iu (f ) + Iv (f ) [λu] λ Hu(x) (f ) = 0 where Iu (f ) = ∞ X (i+1) (i+1) v Lv(x) (f ) Dix u Lu(x) (f ) i=0 and Iv (f ) = ∞ X i=0 Dix • In 2D (with variables x and y): (x) Hu(x,y) (f ) Z = N 1X 0 j=1 Iu(x) (f )[λu] j dλ λ with Iu(x) (f ) = j ∞ X ∞ X ix =0 iy =0 1 + ix 1 + ix + iy Analogous formulas for ! ix iy Dx Dy (y) Hu(x,y) (f ) (1+ix ,iy ) uj Luj (x,y) (f ) and (y) Iuj (f ) • In 3D (with variables x, y, and z): (x) Hu(x,y,z) (f ) Z = N 1X 0 j=1 Iu(x) (f )[λu] j dλ λ with Iu(x) (f ) = j ∞ X ∞ X ∞ X ix =0 iy =0 iz =0 1 + ix 1 + ix + iy + iz ! ix iy iz Dx Dy Dz (1+ix ,iy ,ix ) uj Luj (x,y,z) (f ) Analogous formulas for y and z-operators Application of Homotopy Operator in 1D Example: f = 3ux v 2 sin u − u3x sin u − 6vvx cos u + 2ux u2x cos u + 8vx v2x • Compute (1) (2) Iu (f ) = uLu(x) (f ) + Dx uLu(x) (f ) ∂f ∂f ∂f = u − 2uDx + Dx u ∂ux ∂u2x ∂u2x = 3uv 2 sin u − uu2x sin u + 2u2x cos u • Similarly, Iv (f ) = (1) vLv(x) (f ) (2) vLv(x) (f ) + Dx ∂f ∂f ∂f = v − 2vDx + Dx v ∂vx ∂v2x ∂v2x • = −6v 2 cos u + 8vx2 Finally, Z F = Hu(x) (f ) = 0 Z = 0 1 1 dλ Iu (f ) + Iv (f ) [λu] λ 3λ2 uv 2 sin(λu) − λ2 uu2x sin(λu) + 2λu2x cos(λu) −6λv 2 cos(λu) + 8λvx2 dλ = 4vx2 + u2x cos u − 3v 2 cos u Application of Homotopy Operator in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx Recall (done by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) • Compute 1 (1,1) (2,0) Iu(x) (f ) = + Dx uLu(x,y) (f ) + Dy uLu(x,y) (f ) !2 ∂f ∂f ∂f = u − 2Dx − Dy ∂ux ∂u2x ∂uxy ! ∂f 1 ∂f + Dx u + Dy u ∂u2x 2 ∂uxy (1,0) uLu(x,y) (f ) 1 1 = uvy + uy vx − ux vy + uvxy 2 2 • Similarly, Iv(x) (f ) • = (1,0) vLv(x,y) (f ) ∂f =v = −uy v + uxy v ∂vx Hence, Z 1 dλ (x) (x) (x) F1 = Hu(x,y) (f ) = Iu (f ) + Iv (f ) [λu] λ 0 Z 1 1 1 = λ uvy + uy vx − ux vy + uvxy − uy v + uxy v dλ 2 2 0 1 1 1 1 1 1 = uvy + uy vx − ux vy + uvxy − uy v + uxy v 2 4 2 4 2 2 • Analogously, Z 1 dλ (y) (y) (y) Iu (f ) + Iv (f ) [λu] F2 = Hu(x,y) (f ) = λ 0 ! Z 1 1 1 = λ −uvx − uv2x + ux vx + λ (ux v − u2x v) dλ 2 2 0 1 1 1 1 1 = − uvx − uv2x + ux vx + ux v − u2x v 2 4 4 2 2 • So, F= 1 uvy 2 + 14 uy vx − 21 ux vy + 14 uvxy − 12 uy v + 12 uxy v − 12 uvx − 14 uv2x + 14 ux vx + 12 ux v − 12 u2x v Recall F̃ = (uvy − ux vy , −uvx + ux vx ) Let K = F̃−F then 1 1 1 1 1 1 uv − u v − u v − uv + u v − uxy v y y x x y xy y 2 4 2 4 2 2 K= − 12 uvx + 14 uv2x + 34 ux vx − 12 ux v + 12 u2x v then ∇ · K = 0 • Also, K = (Dy θ, −Dx θ) with θ = 12 uv − 14 uvx − 12 ux v (curl in 2D) Application: Computation of Conservation Laws • System of PDEs ut = F(u, ux , u2x , · · · ) • Conservation law in (1 + 1) dimensions Dt ρ + Dx J = 0 (on PDE) conserved density ρ and flux J • Conservation law in (3 + 1) dimensions Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 + Dz J3 = 0 (on PDE) conserved density ρ and flux J = (J1 , J2 , J3 ) • Example: Shallow water wave (SWW) equations 1 ut + (u·∇)u + 2 Ω × u + ∇(θh) − h∇θ = 0 2 θt + u·(∇θ) = 0 ht + ∇·(uh) = 0 In components: 1 ut + uux + vuy − 2 Ωv + hθx + θhx = 0 2 1 vt + uvx + vvy + 2 Ωu + hθy + θhy = 0 2 θt + uθx + vθy = 0 ht + hux + uhx + hvy + vhy = 0 • First few densities-flux pairs: ρ(1) =h J(1) = ρ(2) = hθ J(2) = ρ(3) = hθ2 J(3) = ρ(4) = (u2 + v 2 )h + h2 θ J(4) = uh vh uhθ vhθ uhθ2 vhθ2 u3 h + uv 2 h + 2uh2 θ v 3 h + u2 vh + 2vh2 θ ρ(5) = vx θ − uy θ + 2Ωθ 4Ωuθ − 2uuy θ + 2uvx θ − hθθy 1 (5) J = 2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Computation of Conservation Laws for SWW • Step 1: Construct the form of the density The SWW equations are invariant under the scaling symmetries (x, y, t, u, v, θ, h, Ω) → (λ−1 x, λ−1 y, λ−2 t, λu, λv, λθ, λh, λ2 Ω) and (x, y, t, u, v, θ, h, Ω) → (λ−1 x, λ−1 y, λ−2 t, λu, λv, λ2 θ, λ0 h, λ2 Ω) Construct a candidate density, for example, ρ = c1 Ωθ + c2 uy θ + c3 vy θ + c4 ux θ + c5 vx θ which is scaling invariant under both symmetries • Step 2: Determine the constants ci Compute E = −Dt ρ and remove time derivatives ∂ρ ∂ρ ∂ρ ∂ρ ∂ρ E = −( θt ) utx + uty + vtx + vty + ∂ux ∂uy ∂vx ∂vy ∂θ = c4 θ(uux + vuy − 2Ωv + 12 hθx + θhx )x + c2 θ(uux + vuy − 2Ωv + 12 hθx + θhx )y + c5 θ(uvx + vvy + 2Ωu + 12 hθy + θhy )x + c3 θ(uvx + vvy + 2Ωu + 12 hθy + θhy )y + (c1 Ω + c2 uy + c3 vy + c4 ux + c5 vx )(uθx + vθy ) Require that (0,0) (0,0) (0,0) (0,0) Lu(x,y) (E) = Lv(x,y) (E) = Lθ(x,y) (E) = Lh(x,y) (E) ≡ 0 • Solution: c1 = 2, c2 = −1, c3 = c4 = 0, c5 = 1 gives ρ = 2Ωθ − uy θ + vx θ • Step 3: Compute the flux J E = θ(ux vx + uv2x + vx vy + vvxy + 2Ωux + 12 θx hy − ux uy − uuxy − uy vy − u2y v +2Ωvy − 12 θy hx ) +2Ωuθx + 2Ωvθy − uuy θx −uy vθy + uvx θx + vvx θy Apply the 2D homotopy operator: (x) (y) J = (J1 , J2 ) = Div−1 E = (Hu(x,y) (E), Hu(x,y) (E)) Compute Iu(x) (E) = (1,0) uLu(x,y) (E) + Dx (2,0) uLu(x,y) (E) 1 (1,1) + Dy uLu(x,y) (E) 2 ∂E ∂E = u − 2Dx − Dy ∂ux ∂u2x ! ∂E 1 ∂E + Dx u + Dy u ∂u2x 2 ∂uxy 1 2 = uvx θ + 2Ωuθ + u θy − uuy θ 2 ! ∂E ∂uxy Similarly, compute 1 2 = vvy θ + v θy + uvx θ 2 1 2 (x) θ hy + 2Ωuθ − uuy θ + uvx θ Iθ (E) = 2 1 (x) Ih (E) = − θθy h 2 Iv(x) (E) Next, J1 = = (x) Hu(x,y) (E) Z 1 Iu(x) (E) 0 Z = 0 1 dλ (x) (x) (x) + Iv (E) + Iθ (E) + Ih (E) [λu] λ 1 2 2 4λΩuθ + λ 3uvx θ + u θy − 2uuy θ + vvy θ 2 ! 1 2 1 2 1 + v θy + θ hy − θθy h dλ 2 2 2 2 1 1 2 = 2Ωuθ− uuy θ+ uvx θ+ vvy θ+ u θy 3 3 6 1 2 1 1 + v θy − hθθy + hy θ2 6 6 6 Analogously, J2 = (y) Hu(x,y) (E) 2 1 1 2 1 2 = 2Ωvθ + vvx θ − vuy θ − uux θ − u θx − v θx 3 3 6 6 1 1 + hθθx − hx θ2 6 6 Hence, 112Ωuθ−4uuy θ+6uvx θ+2vvy θ+u2 θy +v 2 θy −hθθy +hy θ2 J= 6 12Ωvθ+4vvx θ−6vuy θ−2uux θ−u2 θx −v 2 θx +hθθx −hx θ2 After removing the curl term (by hand) J (5) 1 4Ωuθ − 2uuy θ + 2uvx θ − hθθy = 2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Needed: Algorithm to remove curl terms! PART II: DISCRETE CASE • Definitions: D is the up-shift (forward or right-shift) operator DFn = Fn+1 = Fn |n→n+1 D−1 the down-shift (backward or left-shift) operator D−1 Fn = Fn−1 = Fn |n→n−1 ∆ = D − I is the forward difference operator ∆Fn = (D − I)Fn = Fn+1 − Fn • Problem to be solved: Given fn Find Fn = ∆−1 fn so that fn = ∆Fn = Fn+1 − Fn Analogy Continuous & Discrete Cases Zeroth & Higher Euler Operators Continuous Case (0) Lu(x) ∞ X k ∂ = (−Dx ) ∂uk x k=0 Discrete Case (0) Lun = ∞ X k=0 D −k ∂ ∂un+k ∞ ∂ X −k = D ∂un k=0 (i) Lu(x) = ∞ X k k=i ∞ k X ∂ ∂ (i) k−i −k (−Dx ) Lun = D i ∂uk x i ∂u n+k k=i ∞ ∂ X k −k = D ∂un k=i i Analogy Continuous & Discrete Cases Homotopy Operators & Integrands Continuous Case Discrete Case Z 1X Z 1X N N dλ dλ Hu(x) (f ) = Iuj (f )[λu] Hun (f )= Iuj,n (f )[λun ] λ λ 0 j=1 0 j=1 ∞ X (i+1) Iuj (f )= Dix uj Luj (x) (f ) i=0 Iuj,n (f ) = ∞ X i=0 ∆i uj,n L(i+1) uj,n (f ) Euler Operators Side by Side Continuous Case L(0) u = L(1) = u L(2) = u L(3) = u (for component u) ∂ ∂ 2 ∂ 3 ∂ − Dx + Dx − Dx + ··· ∂u ∂ux ∂u2x ∂u3x ∂ ∂ 2 ∂ 3 ∂ − 2Dx + 3Dx − 4Dx + ··· ∂ux ∂u2x ∂u3x ∂u4x ∂ ∂ 2 ∂ 3 ∂ − 3Dx + 6Dx − 10Dx + ··· ∂u2x ∂u3x ∂u4x ∂u5x ∂ ∂ 2 ∂ 3 ∂ − 4Dx + 10Dx − 20Dx + ··· ∂u3x ∂u4x ∂u5x ∂u6x Discrete Case L(0) un = L(1) un = L(2) un = L(3) un = (for component un ) ∂ (I + D−1 + D−2 + D−3 + · · · ) ∂un ∂ (D−1 + 2D−2 + 3D−3 + 4D−4 + · · · ) ∂un ∂ (D−2 + 3D−3 + 6D−4 + 10D−5 + · · · ) ∂un ∂ (D−3 + 4D−4 + 10D−5 + 20D−6 + · · · ) ∂un Homotopy Operators Side by Side Continuous Case (for components u and v) Z 1 dλ Hu(x) (f ) = I1 (f ) + I2 (f ) [λu] λ 0 with I1 (f ) = ∞ X Dix uL(i+1) (f ) u i=0 and I2 (f ) = ∞ X i=0 Dix vL(i+1) (f ) v Discrete Case (for components un and vn ) Z 1 Hun (f ) = 0 dλ I1,n (f ) + I2,n (f ) [λun ] λ with I1,n (f ) = ∞ X ∆i un L(i+1) un (f ) i=0 and I2,n (f ) = ∞ X i=0 ∆i vn L(i+1) (f ) vn Parallelism of Definitions & Theorems Continuous Case (PDE) Semi-discrete Case (DDE) ut = F(u, ux , u2x , · · · ) u̇n = F(· · · , un−1 , un , un+1 , · · · ) Dt ρ + Dx J = 0 Dt ρ n + ∆ J n = 0 • Definition: fn is exact iff fn = ∆Fn = Fn+1 − Fn • Theorem (exactness test): fn = ∆Fn iff Lun (fn ) ≡ 0 • Theorem: fn = ∆r Fn iff Lun (fn ) ≡ 0 for i = 0, 1, . . . , r−1 • Theorem (summation with homotopy operator): (0) (i) If fn is exact then Fn = ∆−1 fn = Hun (fn ) Testing Exactness Consider, for example, 2 fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn • fn is exact • After summation by parts (done by hand): Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Testing Exactness Consider, for example, 2 fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn • fn is exact • After summation by parts (done by hand): Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Mathematica cannot do this! • Exactness test with Euler operator: For component un (highest shift 3): L(0) un (fn ) ∂ = [I + D−1 + D−2 + D−3 ](fn ) ∂un = [−un+1 vn ] + [−un−1 vn−1 +un+1 vn −vn−1 ] + [un−1 vn−1 ]+[vn−1 ] ≡ 0 Similarly, (0) Lvn (fn ) ≡0 Application of Discrete Homotopy Operator Example: 2 fn=−un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1 +un+3 vn+2 −un+1 vn Compute (2) 2 (3) un L(1) (f ) + ∆ u L (f ) + ∆ u L n un n n un (fn ) un n ∂ −1 = un D + 2D−2 + 3D−3 (fn ) ∂un ∂ + ∆ un D−2 + 3D−3 (fn ) ∂un ∂ 2 + ∆ un D−3 (fn ) ∂un = 2un un+1 vn + un+1 vn + un+2 vn+1 Iun (fn ) = (2) Ivn (fn ) = vn L(1) (f ) + ∆ v L n n vn (fn ) vn ∂ ∂ −2 −1 −2 = vn D + 2D (fn ) + ∆ vn D (fn ) ∂vn ∂vn = un un+1 vn + 2vn2 + un+1 vn + un+2 vn+1 Finally, Z 1 dλ Fn = Iun (fn ) + Ivn (fn ) [λun ] λ 0 Z 1 = 2λvn2 + 3λ2 un un+1 vn + 2λun+1 vn + 2λun+2 vn+1 dλ 0 = vn2 + un un+1 vn + un+1 vn + un+2 vn+1 Application: Computation of Conservation Laws • System of DDEs u̇n = F(· · · , un−1 , un , un+1 , · · · ) • Conservation law in (1 + 1) dimensions Dt ρn + ∆Jn = 0 (on DDE) conserved density ρn and flux Jn • Example: Toda lattice u̇n = vn−1 − vn v̇n = vn (un − un+1 ) • First few density-flux pairs: (0) J n = un (1) Jn = vn−1 ρn = 21 u2n + vn (2) Jn = un vn−1 (3) ρn = 31 u3n (3) Jn = un−1 un vn−1 ρn = ln(vn ) (0) (1) ρn = u n + un (vn−1 + vn ) (2) 2 + vn−1 Computation Conservation Laws for Toda Lattice Step 1: Construct the form of the density The Toda lattice is invariant under scaling symmetry (t, un , vn ) → (λ−1 t, λun , λ2 vn ) Construct a candidate density, for example, ρn = c1 u3n + c2 un vn−1 + c3 un vn which is scaling invariant under the symmetry Step 2: Determine the constants ci Compute En = Dt ρn and remove time derivatives En = (3c1 − c2 )u2n vn−1 + (c3 − 3c1 )u2n vn + (c3 − c2 )vn−1 vn 2 +c2 un−1 un vn−1 + c2 vn−1 − c3 un un+1 vn − c3 vn2 Compute Ẽn = DEn to remove negative shift n − 1 Require that (0) Lun (Ẽn ) = (0) Lvn (Ẽn ) ≡0 Solution: c1 = 13 , c2 = c3 = 1 gives 1 3 ρn = un + un (vn−1 + vn ) 3 Step 3: Compute the flux Jn 2 Ẽn = DEn = un un+1 vn + vn2 − un+1 un+2 vn+1 − vn+1 Apply the homotopy operator Jn = ∆−1 (−Ẽn ) = Hun (−Ẽn ) Compute Iun (−Ẽn ) = 2un un+1 vn and Ivn (−Ẽn ) = un un+1 vn + 2vn2 Next, compute Z J˜n = 1 0 Z = dλ Iun (−Ẽn ) + Ivn (−Ẽn ) [λun ] λ 1 (3λ2 un un+1 vn + 2λvn2 ) dλ 0 = un un+1 vn + vn2 Finally, backward shift Jn = D−1 (J˜n ) given 2 Jn = un−1 un vn−1 + vn−1 Implementation in Mathematica & Software Codes are available via the Internet URL: http://www.mines.edu/fs home/whereman/ and via anonymous FTP from mines.edu in directory pub/papers/math cs dept/software/ Publications 1. W. Hereman, M. Colagrosso, R. Sayers, A. Ringler, B. Deconinck, M. Nivala, and M. S. Hickman, Continuous and Discrete Homotopy Operators and the Computation of Conservation Laws. In: Differential Equations with Symbolic Computation, Eds.: D. Wang and Z. Zheng, Birkhäuser Verlag, Basel (2005), Chapter 15, pp. 249-285. 2. W. Hereman, J.A. Sanders, J. Sayers, and J.P. Wang, Symbolic computation of polynomial conserved densities, generalized symmetries, and recursion operators for nonlinear differentialdifference equations, CRM Proceedings and Lecture Series 39, Eds.: P. Winternitz and D. Gomez-Ullate, American Mathematical Society, Providence, Rhode Island (2004), pp. 267-282. 3. W. Hereman, Symbolic computation of conservation laws of nonlinear partial differential equations in multi-dimensions, Int. J. Quan. Chem. (2005) in press.