Symbolic Computation of Conservation Laws of Nonlinear Partial Differential Equations Willy Hereman Department of Mathematical and Computer Sciences Colorado School of Mines Golden, Colorado whereman@mines.edu http://inside.mines.edu/∼whereman/ Mathematics Department University of Wisconsin, Madison, Wisconsin Monday, October 19, 2009, 2:25p.m. Acknowledgements Douglas Poole (Ph.D. Dissertation, CSM) Mark Hickman (Univ. of Canterbury, New Zealand) Bernard Deconinck(Univ. of Washington, Seattle) Several undergraduate and graduate students Research supported in part by NSF under Grant CCF-0830783 This presentation was made in TeXpower Outline • Examples of conservation laws • Famous example in historical perspective • Example: Shallow water wave equations • Symbolic computation of conservation laws • Computer demonstration • Tools: • The variational derivative (testing exactness) • The homotopy operator (inverting Dx and Div) • Application to shallow water wave equations • Additional examples • Conclusions and future work Examples of Conservation Laws Example 1: Traffic Flow u = density of cars a b x Modeling the density of cars (Bressan, 2009) u(x, t) density of cars on a highway (e.g. number of cars per 100 meters) s(u) mean (equilibrium) speed of the cars (depends on the density) u = density of cars a b x Change in number of cars in segment [a, b] equals the difference between cars entering at a and leaving at b during time interval [t1 , t2 ]: Z b Z t2 u(x, t2 ) − u(x, t1 ) dx = a ! Z Z b t2 ut (x, t) dt a t1 J(a, t) − J(b, t) dt t1 ! Z t2 Z b dx = − Jx (x, t) dx dt t1 a where J(x, t) = u(x, t)s(u(x, t)) is the traffic flow (e.g. in cars per hour) at location x and time t Then, R b R t2 a t1 (ut + Jx ) dt dx = 0 holds ∀(a, b, t1 , t2 ) Yields the conservation law: ut + [s(u) u]x = 0 or Dt ρ + D x J = 0 ρ = u is the conserved density J(u) = s(u) u is the associated flux A simple Lighthill-Whitham-Richards model: u s(u) = smax 1 − , 0 ≤ u ≤ umax umax smax is posted highway speed, umax is the jam density Example 2: Fluid and Gas Dynamics Euler equations for a compressible, non-viscous fluid: ρt + ∇.(ρ u) = 0 (ρ u)t + ∇. u ⊗ (ρu) + ∇p = 0 Et + ∇. (E + p) u = 0 or, in components ρt + ∇.(ρ u) = 0 (ρ ui )t + ∇.(ρ ui u + p ei ) = 0 Et + ∇. (E + p) u = 0 (i = 1, 2, 3) Express conservation of mass, momentum, energy ⊗ is the dyadic product ρ is the mass density u = u1 e1 + u2 e2 + u3 e3 is the velocity p is the pressure p(ρ, e) E is the energy density per unit volume E = 12 ρ|u|2 + ρe e is internal energy density per unit of mass (related to temperature) Conservation Laws for PDEs • System of evolution equations of order M ut = F(u(M ) (x)) with u = (u, v, w, . . .) and x = (x, y, z) • 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 ) Famous Example in Historical Perspective • Example: Korteweg-de Vries (KdV) equation ∂u ∂u ∂3u +u + =0 3 ∂t ∂x ∂x Diederik Korteweg or ut + uux + uxxx = 0 Gustav de Vries • First six (of ∞ many) densities-flux pairs: ! u2 Dt (u) + Dx + uxx = 0 2 2 3 2 Dt u + Dx u − ux 2 + 2uuxx = 0 3 Dt u3 − 3ux 2 + 3 4 u −6uux 2 +3u2 uxx +3uxx 2 −6ux uxxx = 0 Dx 4 108 2 5 2 2 2 uxxx + Dt u − 30 u ux + 36 uuxx − 7 5 6 216 3 2 Dx u − 40u ux − . . . − uxxx u5x = 0 6 7 Dt u6 − 60 u3 ux 2 − 30 ux 4 + 108 u2 uxx 2 648 216 720 3 2 uxx − uuxxx + u4x 2 + + 7 7 7 6 7 432 4 2 Dx u − 75u ux − . . . + u4x u6x = 0 7 7 • Third conservation law: Gerald Whitham, 1965 • Fourth and fifth: Norman Zabusky, 1965-66 • Sixth: algebraic mistake, 1966 • Seventh (sixth thru tenth): Robert Miura, 1966 Robert Miura • First five: IBM 7094 computer with FORMAC (1966) −→ storage space problem! IBM 7094 Computer • First eleven densities: Control Data Computer CDC-6600 computer (2.2 seconds) −→ large integers problem! Control Data CDC-6600 Control Data CDC-6600 in Museum • 2006 Leroy P. Steele Prize (AMS): Gardner, Greene, Kruskal, and Miura • National Medal of Science, von Neumann Prize (SIAM), . . .: Martin Kruskal Martin D. Kruskal (1925-2006) Reasons to Compute Conservation Laws • Conservation of physical quantities (linear momentum, mass, energy, electric charge, ... ) • Verify the closure of a model • Testing of complete integrability and application of Inverse Scattering Transform • Testing of numerical integrators • Study of quantitative and qualitative properties of PDEs (Hamiltonian structure, recursion operators, . . . ) • Key property: Dilation invariance • Example: KdV equation and its density-flux pairs are invariant under the scaling symmetry x t (x, t, u) → ( , 3 , λ2 u) = (x̃, t̃, ũ) λ λ λ is arbitrary parameter • Examples of conservation laws 2 3 2 Dt u + Dx u − ux 2 + 2uuxx = 0 3 Dt u3 − 3ux 2 + 3 4 Dx u −6uux 2 +3u2 uxx +3uxx 2 −6ux uxxx = 0 4 Transcendental Equations in (1+1)-dimensions • Example: sine-Gordon equation UXT = sin U or utt − uxx = sin u Written as a first order system: ut = v vt = uxx + α sin u • Scaling invariance (trick!) x t 0 (x, t, u, v, α) → ( , , λ u, λv, λ2 α) λ λ λ is arbitrary parameter • First few densities-flux pairs ρ(1) = 2α cos u + v 2 + ux 2 ρ(2) = 2ux v J(1) = −2ux v J(2) = 2α cos u − v 2 − ux 2 ρ(3) = 12vux cos u + 2v 3 ux + 2vux 3 − 16vx uxx ρ(4) = 2 cos2 u − 2 sin2 u + v 4 + 6v 2 ux 2 + ux 4 + 4v 2 cos u + 20ux 2 cos u − 16vx 2 − 16uxx 2 J(3) and J(4) are not shown (too long) An Example in (2+1)-Dimensions • 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: u (1) ρ(1) = h J =h v u (2) ρ(2) = h θ J = hθ v u 2 (3) 2 ρ(3) = h θ J = hθ v 2 + v 2 + 2hθ) u (u ρ(4) = h (u2 + v 2 + hθ) J(4) = h v (v 2 + u2 + 2hθ) ρ(5) = θ (2Ω + vx − uy ) 4Ωu − 2uuy + 2uvx − hθy 1 (5) J =2θ 4Ωv + 2vvx − 2vuy + hθx Generalizations: Dt f (θ)h + Dx f (θ)hu + Dy f (θ)hv = 0 Dt g(θ)(2Ω + vx − ux ) 1 g(θ)(4Ωu − 2uuy + 2uvx − hθy ) + Dx 2 1 + Dy g(θ)(4Ωv − 2uy v + 2vvx + hθx ) = 0 2 for any functions f (θ) and g(θ) Notation – Computations on the Jet Space I Independent variables x = (x, y, z) I Dependent variables u = (u(1) , u(2) , . . . , u(j) , . . . , u(N ) ) In examples: u = (u, v, θ, h, . . .) I ∂k u Partial derivatives ukx = ∂xk , ∂5u Examples: uxxxxx = u5x = ∂x5 ∂6u uxx yyyy = u2x 4y = ∂x2 y4 I Differential functions Example: f = uvvx + x2 u3x vx + ux vxx ukx ly = ∂ k+l u , ∂xk y l etc. I Total derivatives: Dt , Dx , Dy , . . . Example: Let f = uvvx + x2 u3x vx + ux vxx Then ∂f ∂f ∂f + ux + uxx Dx f = ∂x ∂u ∂ux ∂f ∂f ∂f +vx + vxx + vxxx ∂v ∂vx ∂vxx = 2xu3x vx + ux (vvx ) + uxx (3x2 u2x vx + vxx ) +vx (uvx ) + vxx (uv + x2 u3x ) + vxxx (ux ) = 2xu3x vx + vux vx + 3x2 u2x vx uxx + uxx vxx +uvx2 + uvvxx + x2 u3x vxx + ux vxxx A Method to Compute Conservation Laws I Density is linear combination of scaling invariant terms with undetermined coefficients I Compute Dt ρ with total derivative operator I Use variational derivative (Euler operator) to compute the undetermined coefficients I Use homotopy operator to compute flux J (invert Dx or Div) I Use linear algebra, calculus, and variational calculus (algorithmic) I Work with linearly independent pieces in finite dimensional spaces Algorithm for PDEs in (1+1)-dimensions I Example: Rank 6 density for KdV equation ut + uux + uxxx = 0 I Step 1: Compute the dilation symmetry Set (x, t, u) → ( λx , λta , λb u) = (x̃, t̃, ũ) Apply change of variables (chain rule) λ−(a+b) ũt̃ +λ−(2b+1) ũũx̃ +λ−(b+3) ũ3x̃ = 0 Solve a + b = 2b + 1 = b + 3. Solution: a = 3 and b = 2 x t (x, t, u) → ( , 3 , λ2 u) λ λ I Step 2: Determine the form of the density List powers of u, up to rank 6 : [u, u2 , u3 ] Differentiate with respect to x to increase the rank u has weight 2 → apply D4x u2 has weight 4 → apply D2x u3 has weight 6 → no derivatives needed Apply the Dx derivatives Remove total and highest derivative terms: D4x u → {u4x } → empty list D2x u2 → {ux 2 , uuxx } → {ux 2 } since uuxx = (uux )x −ux 2 D0x u3 → {u3 } → {u3 } Linearly combine the “building blocks” Candidate density: ρ = c1 u3 + c2 ux 2 I Step 3: Compute the coefficients ci Compute ∂ρ Dt ρ = + ρ0 (u)[ut ] ∂t M X ∂ρ ∂ρ k Dx ut = + ∂t ∂u kx k=0 = (3c1 u2 I + 2c2 ux Dx )ut Substitute ut by −(uux + uxxx ) E = −Dt ρ = (3c1 u2 I + 2c2 ux Dx )(uux + uxxx ) = 3c1 u3 ux + 2c2 u3x + 2c2 uux uxx +3 c1 u2 uxxx + 2c2 ux u4x Apply the Euler operator (variational derivative) m X δ k ∂ Lu (x) = = (−Dx ) δu ∂ukx k=0 Here, E has order m = 4, thus ∂E ∂E 2 ∂E 3 ∂E 4 ∂E Lu (x)E = −Dx +Dx −Dx +Dx ∂u ∂ux ∂uxx ∂u3x ∂u4x = −6(3c1 + c2 )ux uxx This term must vanish! So, c1 = − 13 c2 . Set c2 = −3, then c1 = 1 Hence, the final form density is ρ = u3 − 3ux 2 I Step 4: Compute the flux J Method 1: Integrate by parts (simple cases) Now, E = 3u3 ux + 3u2 uxxx − 6u3x − 6uux uxx − 6ux uxxxx Integration of Dx J = E yields the flux 3 4 J = u − 6uux 2 + 3u2 uxx + 3uxx 2 − 6ux uxxx 4 Method 2: Build the form of J (cumbersome) Note: Rank J = Rank ρ + Rank Dt − 1 Build up form of J. Compute m X ∂J ∂J Dx J = u(k+1)x + ∂x k=0 ∂ukx m is the order of J. Match Dx J = E Method 3: Use the homotopy operator Z Z 1 dλ −1 J = Dx E = E dx = Hu(x) E = (Iu E)[λu] λ 0 with integrand M k−1 X X ∂E k−(i+1) Iu E = uix (−Dx ) ∂ukx i=0 k=1 Here M = 4, thus ∂E ∂E Iu E = (uI)( ) + (ux I − uDx )( ) ∂ux ∂uxx ∂E 2 +(uxx I − ux Dx + uDx )( ) ∂uxxx ∂E ) +(uxxx I − uxx Dx + − ∂uxxxx = (uI)(3u3 + 18u2x − 6uuxx − 6uxxxx ) ux D2x uD3x )( +(ux I − uDx )(−6uux ) +(uxx I − ux Dx + uD2x )(3u2 ) +(uxxx I − uxx Dx + ux D2x − uD3x )(−6ux ) = 3u4 − 18uu2x + 9u2 uxx + 6u2xx − 12ux uxxx Note: correct terms but incorrect coefficients! Finally, Z J = Hu(x) E = 0 = Z 1 1 dλ (Iu E)[λu] λ 3λ3 u4 − 18λ2 uu2x + 9λ2 u2 uxx + 6λu2xx 0 −12λux uxxx ) dλ 3 4 = u − 6uu2x + 3u2 uxx + 3u2xx − 6ux uxxx 4 Final form of the flux: 3 4 J = u − 6uux 2 + 3u2 uxx + 3uxx 2 − 6ux uxxx 4 Computer Demonstration I Review of Vector Calculus Definition: F is conservative if F = ∇f I Definition: F is irrotational or curl free if ∇×F=0 I Theorem: F = ∇f iff ∇ × F = 0 The curl annihilates gradients! I Review of Vector Calculus Definition: F is conservative if F = ∇f I Definition: F is irrotational or curl free if ∇×F=0 I Theorem: F = ∇f iff ∇ × F = 0 The curl annihilates gradients! I Definition: F is incompressible or divergence free if ∇ · F = 0 I Theorem: F = ∇ × G iff ∇ · F = 0 The divergence annihilates curls! Question: How can one test that f = ∇ · F ? I Review of Vector Calculus Definition: F is conservative if F = ∇f I Definition: F is irrotational or curl free if ∇×F=0 I Theorem: F = ∇f iff ∇ × F = 0 The curl annihilates gradients! I Definition: F is incompressible or divergence free if ∇ · F = 0 I Theorem: F = ∇ × G iff ∇ · F = 0 The divergence annihilates curls! Question: How can one test that f = ∇ · F ? No theorem from vector calculus! Tools from the Calculus of Variations I Definition: A differential function f is exact iff f = Dx F I Theorem (exactness test): f = Dx F iff Lu(j) (x) f ≡ 0, j = 1, 2, . . . , N I Definition: A differential function f is a divergence iff f = Div F I Theorem (exactness test): f = Div F iff Lu(j) (x) f ≡ 0, j = 1, 2, . . . , N The Euler operator annihilates divergences! Formula for Euler operator in 1D for dependent variable u(x) M X k ∂ Lu(x) = (−Dx ) ∂ukx k=0 ∂ ∂ ∂ 2 ∂ 3 = − Dx + Dx − Dx + ··· ∂u ∂ux ∂uxx ∂uxxx Formula for Euler operator in 2D for dependent variable u(x, y) Lu(x,y) = My Mx X X k=0 ∂ (−Dx ) (−Dy ) ∂ukx `y `=0 k ` ∂ ∂ ∂ − Dy = − Dx ∂u ∂ux ∂uy ∂ ∂ 2 ∂ 2 ∂ 3 + Dx +Dx Dy +Dy −Dx ··· ∂uxx ∂uxy ∂uyy ∂uxxx Application: Testing Exactness Example: f = 8vx vxx −u3x sin u +2ux uxx cos u −6vvx cos u +3ux v 2 sin u 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 = 8vx vxx −u3x sin u +2ux uxx cos u −6vvx cos u +3ux v 2 sin u ∂f ∂f 2 ∂f − Dx + Dx ≡0 Lu(x) f = ∂u ∂ux ∂uxx ∂f ∂f 2 ∂f Lv(x) f = − Dx + Dx ≡0 ∂v ∂vx ∂vxx Inverting Dx and Div Problem Statement in 1D • Example: f = 8vx vxx −u3x sin u +2ux uxx cos u −6vvx cos u +3ux v 2 sin u Z • Find F = • Result (by hand): f dx. So, f = Dx F F = 4 vx2 + u2x cos u − 3 v 2 cos u Inverting Dx and Div Problem Statement in 1D • Example: f = 8vx vxx −u3x sin u +2ux uxx cos u −6vvx cos u +3ux v 2 sin u Z • Find F = • Result (by hand): f dx. So, f = Dx F F = 4 vx2 + u2x cos u − 3 v 2 cos u Mathematica cannot compute this integral! Problem Statement in 2D • Example: f = ux vy − uxx 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 − uxx 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 − uxx 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 − uxx 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 − uxx 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 = 0 N 1X dλ (Iu(j) f )[λu] λ j=1 with integrand (j) Mx Iu(j) f = X k−1 X k=1 (j) uix k−(i+1) (−Dx ) i=0 ∂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 = 8vx vxx −u3x sin u +2ux uxx cos u −6vvx cos u +3ux v 2 sin u • Compute Iu f ∂f ∂f = u + (ux I − uDx ) ∂ux ∂uxx = −uu2x sin u + 3uv 2 sin u + 2u2x cos u • Similarly, Iv f • Finally, ∂f ∂f = v + (vx I − vDx ) ∂vx ∂vxx = −6v 2 cos u + 8vx2 Z F = Hu(x) f = 0 = Z 1 1 dλ (Iu f + Iv f ) [λu] λ 3λ2 uv 2 sin(λu) − λ2 uu2x sin(λu) 0 +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 for dependent variable u(x, y) k+`−i−j−1 M i+j y M k−1 ` x X X XX k−i−1 Iu(x) f = uix jy i k+` k=1 `=0 (−Dx ) i=0 j=0 k−i−1 −Dy k `−j ∂f ∂ukx `y Application of Homotopy Operator in 2D • Example: f = ux vy − uxx vy − uy vx + uxy vx • By hand: F̃ = (uvy − ux vy , −uvx + ux vx ) • Compute Iu(x) f ∂f ∂f = u + (ux I − uDx ) ∂ux ∂uxx 1 1 ∂f + uy I − uDy 2 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) 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) F2 = Hu(x,y) f = Iu f + Iv f [λu] λ 0 ! Z 1 1 1 = λ −uvx − uvxx + ux vx + λ (ux v − uxx v) dλ 2 2 0 1 1 1 1 1 = − uvx − uvxx + ux vx + ux v − uxx v 2 4 4 2 2 • So, 1 2uvy + uy vx − 2ux vy + uvxy − 2uy v + 2uxy v F= 4 −2uvx − uvxx + ux vx + 2ux v − 2uxx v Let K = F̃−F then 1 2uvy − uy vx − 2ux vy − uvxy + 2uy v − 2uxy v K= 4 −2uvx + uvxx + 3ux vx − 2ux v + 2uxx v then Div K = 0 • Also, K = (Dy φ, −Dx φ) with φ = 41 (2uv − uvx − 2ux v) (curl in 2D) Needed: Strategy to avoid curl terms dynamically! Why does this work? Sketch of Derivation and Proof (in 1D with variable x, and for one component u) Definition: Degree operator M M X ∂f ∂f ∂f ∂f ∂f Mf = uix = u +ux +u2x +· · ·+uM x ∂uix ∂u ∂ux ∂u2x ∂uM x i=0 f is of order M in x Example: f = up uqx ur3x (p, q, r non-negative integers) 3 X ∂f g = Mf = uix = (p + q + r) up uqx ur3x ∂uix i=0 Application of M computes the total degree Theorem (inverse operator) M−1 g(u) = R1 0 g[λu] dλ λ Proof: d g[λu] = dλ M X ∂g[λu] dλuix i=0 ∂λuix dλ M X 1 ∂g[λu] 1 = uix = Mg[λu] λ i=0 ∂uix λ Integrate both sides with respect to λ Z 1 λ=1 d g[λu] dλ = g[λu]λ=0 = g(u) − g(0) 0 dλ Z 1 Z 1 dλ dλ = Mg[λu] =M g[λu] λ λ 0 0 Assuming g(0) = 0, −1 M Z g(u) = 0 1 dλ g[λu] λ Example: If g(u) = (p + q + r) up uqx ur3x , then g[λu] = (p + q + r)λp+q+r up uqx ur3x Hence, M−1 g = Z 1 (p + q + r) λp+q+r−1 up uqx ur3x dλ 0 = up uqx ur3x λ=1 p+q+r λ = up uqx ur3x λ=0 Theorem: If f is an exact differential function, then Z F = Dx−1 f = f dx = Hu(x) f Proof: Multiply M X (0) k ∂f Lu(x) f = (−Dx ) ∂ukx k=0 by u to restore the degree. Split off u ∂f . ∂u ∂f Split off ux ∂u . x Integrate by parts. Repeat the process. Lastly, split off uM x ∂u∂f . Mx Explicitly, M X (0) k ∂f uLu(x) f = u (−Dx ) ∂ukx k=0 M M X X ∂f k−1 ∂f k−1 ∂f + ux (−Dx ) = u − Dx u (−Dx ) ∂u ∂ukx ∂ukx k=1 k=1 M X ∂f ∂f ∂f k−1 = u (−Dx ) + ux − Dx u ∂u ∂ux ∂ukx k=1 M M X X k−2 ∂f k−2 ∂f +ux (−Dx ) + u2x (−Dx ) ∂ukx ∂ukx k=2 k=2 = ... ∂f ∂f ∂f = u + ux + . . . + uM x ∂u ∂ux ∂uM x M M X X k−1 ∂f k−2 ∂f (−Dx ) −Dx u + ux (−Dx ) ∂ukx ∂ukx k=1 k=2 M X k−M ∂f + . . . + u(M −1)x (−Dx ) ∂u kx k=M M M−1 M X X X ∂f k−(i+1) ∂f = uix − Dx uix (−Dx ) ∂uix ∂ukx i=0 i=0 k=i+1 M−1 M X X ∂f k−(i+1) = Mf − Dx uix (−Dx ) ∂ukx i=0 k=i+1 = 0 M−1 X Mf = Dx i=0 uix M X k−(i+1) (−Dx ) k=i+1 ∂f ∂ukx −1 D = D M−1 . Apply M−1 and use M x x M−1 M X X k−(i+1) ∂f −1 uix (−Dx ) f = Dx M ∂ukx i=0 k=i+1 Apply Dx−1 and use the formula for M−1 . Z 1 M−1 M X X dλ k−(i+1) ∂f −1 (−Dx ) F = Dx f = uix [λu] ∂ukx λ 0 i=0 k=i+1 Z 1 X M k−1 X dλ k−(i+1) ∂f = uix (−Dx ) [λu] ∂u λ 0 kx i=0 k=1 = Hu(x) f 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 for PDEs in (2+1)-dimensions • 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 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 + uvxx + vx vy + vvxy + 2Ωux + 21 θx hy − ux uy − uuxy − uy vy − uyy 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: J = (J1 , J2 ) = Div −1 E= (x) (y) (Hu(x,y) E, Hu(x,y) E) Compute Iu(x) E ∂E =u + ∂ux 1 1 ∂E uy I − uDy 2 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 + 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 +v 2 )θy −hθθy +hy θ2 J= 6 12Ωvθ+4vvx θ−6vuy θ−2uux θ−(u2 +v 2 )θx +hθθx −hx θ2 There are curl terms in J Indeed, subtract K where Div K = 0 Here 1 −(2uuy θ+2vvy θ+u2 θy +v 2 θy +2hθθy +hy θ2 ) K= 6 2vvx θ+2uux θ+u2 θx +v 2 θx +2hθθx +hx θ2 Note that K = (Dy φ, −Dx φ) with φ = −(hθ2 + u2 θ + v 2 θ) (curl in 2D) After removing the curl term K, 1 4Ωu − 2uuy + 2uvx − hθy (5) J̃ = θ 2 4Ωv + 2vvx − 2vuy + hθx Needed: Strategy to avoid curl terms dynamically! Additional Examples • Example: Kadomtsev-Petviashvili (KP) Equation (ut + αuux + uxxx )x + σ 2 uyy = 0 parameter α ∈ IR and σ 2 = ±1. The equation be written as a conservation law Dt (ux ) + Dx (αuux + uxxx ) + Dy (σ 2 uy ) = 0. Exchange y and t and set ut = v ut = v vt 1 = − 2 (uxy + αu2x + αuuxx + uxxxx ) σ • Examples of conservation laws explicitly dependent on t, x, and y 2 Dt (xux ) +Dx 3u −uxx −6xuux +xuxxx +Dy αxuy = 0 Dt (yux ) +Dx y(αuux + uxxx ) +Dy σ 2 (yuy − u) = 0 1 √ 2 √ σ2y2 σ2y2 α tu + tuxx + √ ut + √ uxxx 2 4 t 4 t ! √ √ √ ασ 2 y 2 + √ uux − x tut − αx tuux − x tuxxx 4 t ! √ yu y 2 uy +Dy − √ + √ + x tuy = 0 2 t 4 t √ tu + Dx Dt • More general conservation laws for KP equation: Dt f (t)u + Dx f (t)( 12 αu2 + uxx ) +( 21 σ 2 f 0 (t)y 2 − f (t)x)(ut + αuux + u3x ) +Dy uy ( 21 f 0 (t)y 2 − σ 2 f (t)x) − f 0 (t)yu = 0 Dt f (t)yu + Dx f (t)y( 21 αu2 + uxx ) +( 61 σ 2 f 0 (t)y 3 − f (t)xy)(ut + αuux + u3x ) +Dy uy ( 61 f 0 (t)y 3 − σ 2 f (t)xy) −u( 21 f 0 (t)y 2 − σ 2 f (t)x) = 0 where f (t) is arbitrary function. • Example: Potential KP Equation Replace u by ux and integrate with respect to x. uxt + αux uxx + uxxxx + σ 2 uyy = 0 • Examples of conservation laws (not explicitly dependent on x, y, t) 1 2 Dt (ux ) + Dx αux + uxxx + Dy σ 2 uy = 0 2 2 3 2 αux − u2xx + 2ux uxxx − σ 2 uyy Dt ux + Dx 3 +Dy 2σ 2 ux uy = 0 Dt ux uy + Dx αu2x uy + ut uy + 2uxxx uy − 2uxx uxy 1 3 2 2 +Dy σ uy − ux − ut ux + u2xx = 0 3 Dt 2αuux uxx + 3uu4x − 3σ 2 u2y + Dx 2αut u2x + 3u2t −2αuux utx − 3utx uxx + 3ut uxxx + 3ux ut xx − 3uut xxx ) +Dy 6σ 2 ut uy = 0 Various generalizations exist • Example: Khoklov-Zabolotskaya Equation (describes e.g. sound waves in nonlinear media) (ut − uux )x − uyy = 0 • Examples of conservation laws (with f (t)): Dt (ux ) + Dx (−uux ) + Dy (−uy ) = 0 1 2 1 0 2 Dt (f u) + Dx −(f x + 2 f y )(ut − uux ) − f u 2 +Dy (f x + 12 f 0 y 2 )uy − f 0 yu = 0 1 0 3 1 Dt (f yu) + Dx −(f xy + f y )(ut − uux ) − f yu2 6 2 1 0 3 1 0 2 +Dy (f xy + f y )uy − (f x + f y )u = 0 6 2 • Example: Zakharov-Kuznetsov Equation (describes e.g. ion acoustic solitons in magnetic plasma) ut + αuux + β∇2 ux = 0 in 2-D, • ∇2 = ∂2 ∂x2 + ∂2 ∂y 2 Examples of conservation laws: α 2 Dt (u) + Dx u + βuxx + Dy βuxy = 0 2 2α 3 2 Dt u + D x u − β(u2x − u2y ) + 2βu(uxx + uyy ) 3 +Dy −2βux uy = 0 3α 4 3β 2 2 3 (ux + uy ) + Dx u + 3βu2 uxx Dt u − α 4 2 3β −6βu(u2x +u2y )+ (u2xx −u2yy ) α ! 6β 2 − (ux (uxxx +uxyy )+uy (uxxy +uyyy )) α ! 2 6β +Dy 3βu2 uxy + uxy (uxx + uyy ) = 0 α 2α 3 2 2 Dt tu − xu + Dx t( u − β(u2x − u2y ) α 3 2 α 2 2β +2βu(uxx + uyy )) − x( u + βuxx ) + ux α 2 α 1 −Dy 2β(tux uy + xuxy ) = 0 α • Example: Navier’s Equation (describes e.g. wave motion in elastic solids) ∂2u ρ 2 = (λ + µ)∇(∇ · u) + µ∆u ∂t where u = (u, v, w), λ and µ are the Lamé constants In components, ρu2t = (λ + µ) uxx + vxy + wxz + µ uxx + uyy + uzz ρv2t = (λ + µ) uxy + vyy + wyz + µ vxx + vyy + vzz ρw2t = (λ + µ) uxz + vyz + wzz + µ wxx + wyy + wzz • Examples of densities (fluxes are long): ρ(1) = ρut ρ(2) = ρvt ρ(3) = ρwt ρ(4) = ux (vtz − wty ) − vx (utz − wtx ) + wx (uty − vtx ) ρ(5) = uy (vtz − wty ) + vx wty − vy utz − wx vty + wy uty ρ(6) = (uy − vx )wtz − (uz − wx )vtz + (vz − wy )utz ρ(7) = ρ(vt utz −wt (uty −vtx ))+µ uy wzz +vx (uxz −wyy −wzz ) + vy uyz + vz uzz + wx (vxx − uxy ) − wy uyy and many more.... Conclusions and Future Work • • The power of Euler and homotopy operators: I Testing exactness I −1 Integration by parts: D−1 and Div x Integration of non-exact expressions Example: f = ux v + uvx + u2 uxx R R 2 f dx = uv + u uxx dx • Use other homotopy formulas (prevent curl terms) • Treat broader class of PDEs (beyond evolution type) Example: short pulse equation (nonlinear optics) uxt = u + (u3 )xx = u + 6uu2x + 3u2 uxx with non-polynomial conservation law p p Dt 1 + 6u2x − Dx 3u2 1 + 6u2x = 0 • Continue the implementation in Mathematica Thank You Software packages in Mathematica Codes are available via the Internet: URL: http://inside.mines.edu/∼whereman/ Publications 1. W. Hereman, P. J. Adams, H. L. Eklund, M. S. Hickman, and B. M. Herbst, Direct Methods and Symbolic Software for Conservation Laws of Nonlinear Equations, In: Advances of Nonlinear Waves and Symbolic Computation, Ed.: Z. Yan, Nova Science Publishers, New York (2009), Chapter 2, pp. 19-79. 2. 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. 3. W. Hereman, Symbolic computation of conservation laws of nonlinear partial differential equations in multi-dimensions, Int. J. Quan. Chem. 106(1), 278-299 (2006). 4. 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).