Symbolic Computation of Conservation Laws of Nonlinear PDEs in N+1 Dimensions 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/ Joint Meeting of the AMS and NZMS Victoria University of Wellington Wellington, New Zealand Thursday, December 13, 2007, 10:15a.m. Acknowledgements – Collaborators Mark Hickman (University of Canterbury, NZ) Ph.D. student: Douglas Poole Research supported in part by NSF under Grant CCR-9901929 This presentation was made in TeXpower Outline • Conservation laws of PDEs in N+1 dimensions • Example: Shallow water wave equations (Dellar) • Computer demonstration • Tools: • The Euler operator (testing exactness) • The homotopy operator (invert Dx and Div) • Application to shallow water wave equations • Additional examples • Conclusions and future work Notation – Computations on the Jet Space • Independent variables x = (x, y, z) • Dependent variables u = (u(1) , u(2) , . . . , u(j) , . . . , u(N ) ) In examples: u = (u, v, θ, h, . . .) ∂k u , ∂xk ∂ k+l u , ∂xk y l • Partial derivatives ukx = • Differential functions Example: f = uvvx + x2 u3x vx + ux vxx for u(x), v(x) • Total derivative (with respect to x) ukx ly = (1) ∂ Dx = + ∂x (1) Mx M x X k=0 etc. (2) ∂ u(k+1)x + ∂ukx M x X k=0 ∂ v(k+1)x ∂vkx is the order of f in u (with respect to x), etc. Conservation Laws • 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 [P. Dellar, Phys. Fluids 15 (2003) 292-297] 1 ut + (u·∇)u + 2 Ω × u + ∇(θh) − h∇θ = 0 2 θt + u·(∇θ) = 0 ht + ∇·(uh) = 0 where u(x, y, t), θ(x, y, t) and h(x, y, t). • 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 • SWW equations are invariant under (x, y, t, u, v, h, θ, Ω) → (λ−1 x, λ−1 y, λ−b t, λb−1 u, λb−1 v, λa h, λ2b−a−2 θ, λb Ω) where W (h) = a and W (Ω) = b (a, b ∈ Q). • First few densities-flux pairs of SWW system: uh (1) (1) ρ =h J = vh uhθ (2) (2) ρ = hθ J = vhθ 2 uhθ ρ(3) = hθ2 J(3) = vhθ2 3 h + uv 2 h + 2uh2 θ u ρ(4) = (u2 + v 2 )h + h2 θ J(4) = 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 Strategy to Compute Conservation Laws • Density is linear combination of scaling invariant terms with undetermined coefficients. • Compute Dt ρ with total derivative operator. • Use variational derivative (Euler operator) to compute the undetermined coefficients. • Use homotopy operator to compute flux J (invert Dx or Div). • Use linear algebra and variational calculus (algorithmic). • Work with linearly independent pieces in finite dimensional spaces. . Computer Demonstration Tools from the Calculus of Variations • Definition: a differential function f is exact iff f = Dx F • Theorem (exactness test): f = Dx F iff (0) Lu(j) (x) f ≡ 0, j = 1, 2, . . . , N • Definition: a differential function f is a divergence if f = Div F • Theorem (divergence test): f = Div F iff (0) Lu(j) (x) f ≡ 0, j = 1, 2, . . . , N Tools from the Calculus of Variations • Definition: a differential function f is exact iff f = Dx F • Theorem (exactness test): f = Dx F iff (0) Lu(j) (x) f ≡ 0, j = 1, 2, . . . , N • Definition: a differential function f is a divergence if f = Div F • Theorem (divergence test): f = Div F iff (0) Lu(j) (x) f ≡ 0, j = 1, 2, . . . , N The Euler operator annihilates divergences! Formula for Euler operator in 1D: (j) (0) Lu(j) (x) = M x X (−Dx ) k=0 k ∂ (j) ∂ukx ∂ ∂ 2 ∂ 3 ∂ = − Dx (j) + Dx (j) − Dx (j) + · · · (j) ∂u ∂ux ∂u ∂u 2x where j = 1, 2, . . . , N. 3x Formula for Euler operator in 2D: (j) Mx (0,0) Lu(j) (x,y) = (j) My X X kx (−Dx ) (−Dy ) kx =0 ky =0 ∂ ky (j) ∂ukx x ky y ∂ ∂ ∂ = (j) − Dx (j) − Dy (j) ∂u ∂ux ∂uy + D2x ∂ 2 ∂ 3 ∂ +Dx Dy (j) +Dy (j) −Dx (j) (j) ∂u2x ∂uxy ∂u2y ∂u3x where j = 1, 2, . . . , N. ∂ ··· Application: Testing Exactness Example: f = 3ux v 2 sin u − u3x sin u − 6vvx cos u + 2ux u2x cos u + 8vx v2x where u(x) and v(x) • 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: f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x (0) Lu(x) f ∂f ∂f 2 ∂f = − Dx + Dx ≡0 ∂u ∂ux ∂u2x (0) Lv(x) f ∂f ∂f 2 ∂f = − Dx + Dx ≡ 0. ∂v ∂vx ∂v2x Inverting Dx and Div Problem Statement in 1D • Example: f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x • where u(x) and v(x). Z Find F = f dx. So, f = Dx F Inverting Dx and Div Problem Statement in 1D • Example: f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x • where u(x) and v(x). Z Find F = f dx. So, f = Dx F • Result (by hand): F = 4 vx2 + u2x cos u − 3 v 2 cos u Inverting Dx and Div Problem Statement in 1D • Example: f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x • where u(x) and v(x). 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! • Problem Statement in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx where u(x, y) and v(x, y). • Find F = Div−1 f so, f = Div F • Problem Statement in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx where u(x, y) and v(x, y). • Find F = Div−1 f so, f = Div F • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) • Problem Statement in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx where u(x, y) and v(x, y). • Find F = Div−1 f so, f = Div F • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! • Problem Statement in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx where u(x, y) and v(x, y). • 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? • Problem Statement in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx where u(x, y) and v(x, y). • 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 this be reduced to single integral in one variable? • Problem Statement in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx where u(x, y) and v(x, y). • 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 this be reduced to single integral in one variable? Yes! With the Homotopy operator Using the 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 ) • Homotopy Operator in 1D (variable x): Z Hu(x) f = N 1X 0 dλ (Iu(j) f )[λu] λ j=1 with integrand (j) Iu(j) f = MX x −1 i=0 (j) (j) uix M x X (−Dx ) k−(i+1) k=i+1 ∂f (j) ∂ukx N is the number of dependent variables and (Iu(j) f )[λu] means that in Iu(j) f one replaces u → λu, ux → λux , etc. More general: u → λ(u − u0 ) + u0 , ux → λ(ux − ux 0 ) + ux 0 , etc. 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 Iu f ∂f ∂f ∂f = u + ux − uDx ∂ux ∂u2x ∂u2x = 3uv 2 sin u − uu2x sin u + 2u2x cos u • Similarly, Iv f • Finally, ∂f ∂f ∂f = v + vx − vDx ∂vx ∂v2x ∂v2x = −6v 2 cos u + 8vx2 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 • Homotopy Operator in 2D (variables x and y): (x) Hu(x,y) f (y) Hu(x,y) f Z = N 1X 0 j=1 Z = (x) (Iu(j) f )[λu] N 1X 0 j=1 (y) (Iu(j) f )[λu] dλ λ dλ λ where (x) Iu(j) f = (j) (j) (j) Mx My X X X X (j) Mx −1 My ix +iy uix x iy y ix ix =0 iy =0 kx =ix +1 ky =iy (−Dx ) kx −ix −1 −Dy ky −iy ∂f (j) ∂ukx x ky y kx +ky −ix −iy −1 kx −ix −1 kx +ky kx and (j) (y) Iu(j) f = (j) M y −1 x X MX (j) ix +iy iy uix x iy y ix =0 iy =0 (−Dx ) kx −ix M x X (j) My X kx =ix ky =iy +1 −Dy ky −iy −1 ∂f (j) ∂ukx x ky y kx +ky −ix −iy −1 ky −iy −1 kx +ky ky Application of Homotopy Operator in 2D Example: f = ux vy − u2x vy − uy vx + uxy vx By hand: F̃ = (uvy − ux vy , −uvx + ux vx ) • Compute Iu(x) f • ∂f ∂f ∂f = u + ux − uDx ∂ux ∂u2x ∂u2x 1 ∂f ∂f 1 + uy − uDy 2 ∂uxy 2 ∂uxy 1 1 = uvy + uy vx − ux vy + uvxy 2 2 Similarly, Iv(x) f ∂f =v = −uy v + uxy v ∂vx • Hence, Z 1 dλ (x) (x) (x) Iu f + Iv f [λu] F1 = Hu(x,y) f = λ 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) F2 = Hu(x,y) f = Iu f + Iv f [λu] λ 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 + 41 uy vx − 12 ux vy + 14 uvxy − 12 uy v + 21 uxy v − 12 uvx − 14 uv2x + 41 ux vx + 21 ux v − 12 u2x v 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 + 43 ux vx − 21 ux v + 21 u2x v then Div K = 0 • Also, K = (Dy θ, −Dx θ) with θ = 12 uv − 14 uvx − 12 ux v (curl in 2D) Needed: Fast algorithm to remove curl terms (and strategy to avoid curl terms) Computation of Conservation Laws for SWW Quick Recapitulation • Conservation law in (2+1) dimensions Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 = 0 (on PDE) conserved density ρ and flux J = (J1 , J2 ) • Example: Shallow water wave (SWW) equations 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 • Typical density-flux pair: ρ(5) = vx θ − uy θ + 2Ωθ 1 4Ωuθ − 2uuy θ + 2uvx θ − hθθy (5) J = 2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Algorithm • 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 = −( utx + uty + vtx + vty + θt ) ∂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 + 21 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 + 21 θx hy − ux uy − uuxy − uy vy − u2y v +2Ωvy − 21 θ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 ∂E ∂E ∂E 1 ∂E 1 ∂E =u +ux −uDx + uy − uDy ∂ux ∂u2x ∂u2x 2 ∂uxy 2 ∂uxy 1 2 = uvx θ + 2Ωuθ + u θy − uuy θ 2 Similarly, compute 1 2 = vvy θ + v θy + uvx θ 2 1 2 (x) Iθ E = θ hy + 2Ωuθ − uuy θ + uvx θ 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 dλ + v θy + θ hy − θθy h 2 2 2 2 1 1 2 = 2Ωuθ− uuy θ+ uvx θ+ vvy θ+ u θy 3 3 6 1 1 1 2 + 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 1 4Ωuθ − 2uuy θ + 2uvx θ − hθθy (5) J̃ = 2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Needed: Fast algorithm to remove curl terms (and strategy to avoid curl terms) Additional Examples • Example: Kadomtsev-Petviashvili (KP) equation (ut + αuux + u3x )x + σ 2 u2y = 0 parameter α ∈ IR and σ 2 = ±1. The equation be written as a conservation law Dt (ux ) + Dx (αuux + u3x ) + Dy (σ 2 uy ) = 0. Exchange y and t and set ut = v. ut = v vt = −σ 2 (uxy + αu2x + αuu2x + u4x ) • Examples of conservation laws explicitly dependent on t, x, y. 2 Dt (xux ) +Dx 3u − u2x − 6xuux + xu3x +Dy αxuy = 0 Dt (yux ) +Dx (αyuux + yu3x ) +Dy −σ 2 u + σ 2 yuy = 0 1 √ 2 √ σ2y2 σ2y2 α tu + tu2x + √ ut + √ u3x 2 4 t 4 t ! √ √ √ ασ 2 y 2 + √ uux − x tut − αx tuux − x tu3x 4 t ! √ yu y 2 uy +Dy − √ + √ + x tuy = 0 2 t 4 t √ tu + Dx Dt • Example: Potential KP equation Replace u by ux and integrate with respect to x. uxt + αux u2x + u4x + σ 2 u2y = 0 • Examples of conservation laws (not explicitly dependent on x, y, t). 1 2 Dt (ux ) + Dx αux + u3x + Dy (σ 2 uy ) = 0 2 2 3 2 αux − u22x + 2ux u3x − σ 2 u2y Dt (ux ) + Dx 3 +Dy 2σ 2 ux uy = 0 Dt ux uy + Dx αu2x uy + ut uy + 2u3x uy − 2u2x uxy 1 3 2 2 +Dy σ uy − ux − ut ux + u22x = 0 3 Dt 2αuux u2x + 3uu4x − 3σ 2 u2y + Dx 2αut u2x + 3u2t −2αuux utx − 3utx u2x + 3ut u3x + 3ux ut 2x − 3uut 3x ) +Dy 6σ 2 ut uy = 0 Conclusions and Future Work • Scope and limitations of the homotopy operator. −1 Integration by parts, D−1 , and Div . x • Integration of non-exact expressions. Example: f = ux v + uvx + u2 u2x R R 2 f dx = uv + u u2x dx. • Integration of parametrized differential functions. Example: f = aux v + buvx R f dx = uv if a = b. • Broader class of PDEs (other than those of evolution type). • Full implementation in Mathematica. Software packages in Mathematica 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, Symbolic computation of conservation laws of nonlinear partial differential equations in multi-dimensions, Int. J. Quan. Chem. 106(1), 278-299 (2006). 3. W. Hereman, B. Deconinck, and L. D. Poole, Continuous and discrete homotopy operators: A theoretical approach made concrete, Math. Comput. Simul. 74(4-5), 352-360 (2007).