The Power of the Homotopy Operator Willy Hereman Department of Applied Mathematics and Statistics Colorado School of Mines, Golden, Colorado Colorado Nonlinear Day University of Colorado–Colorado Springs Saturday, April 30, 2016, 5:00p.m. Acknowledgements Douglas Poole (Chadron State College, Nebraska) Bernard Deconinck (Univ. of Washington, Seattle) Ünal Göktaş (Turgut Özal University, Turkey) Mark Hickman (Univ. of Canterbury, New Zealand) Several undergraduate and graduate students Research was supported in part by NSF under Grant No. CCF-0830783 This presentation was made in TeXpower Outline • Motivation, problem statement, and examples • Calculus-based formulas for the homotopy operator See: Anco & Bluman (2002); Hereman et al. (2007); Olver (1986) • Symbolic integration and inversion of the total divergence operator • Application: symbolic computation of conservation laws of nonlinear PDEs • Conclusions and Future Work Motivation, Problem Statement, Examples Example 1: Computation of conservation laws of nonlinear PDEs Conservation law in (1+1)-dimensions Dt ρ + Dx J = ˙ 0 where = ˙ means evaluated on the PDE. Conserved density ρ and flux J. Example: Short pulse equation (SPE) (nonlinear optics) uxt = u + (u3 )xx = u + 6uu2x + 3u2 uxx for u(x, t) is completely integrable. First of infinitely many non-polynomial conservation laws: p p 1 + 6u2x − Dx 3u2 1 + 6u2x = ˙ 0 Dt p 6ux uxt 2 Dt 1 + 6ux = p 1 + 6u2x −6ux (u + 6uu2x + 3u2 uxx ) p = 1 + 6u2x Let 6ux (u + 6uu2x + 3u2 uxx ) p f = 1 + 6u2x Question: Can the expression be integrated? Z If yes, find F = f dx (so, f = Dx F ) Result (by hand): F = 3u2 p 1 + 6u2x Mathematica cannot compute this integral! Example 2: Integrating an expression in 2 variables While investigating the sine-Gordon equation ut = v, vt = uxx + sin u we obtained f = 8vx vxx −u3x sin u +2ux uxx cos u −6vvx cos u +3ux v 2 sin u Question: Can the expression be integrated? Z If yes, 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! Example 3: Inverting a total divergence For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx Question: Is there an F = (F1 , F2 ) so that f = Div F = Dx F1 + Dy F2 ? If yes, find a F̃. not unique: F̃ = F + (Dy φ, −Dx φ) for any φ Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) Mathematica has no function to compute Div−1 Can this be done without integration by parts? Can the computation be reduced to a single integral in one variable? Example 4: Conservation law of nonlinear PDEs in multiple space dimensions • Conservation law in (2+1)-dimensions D t ρ + ∇ · J = D t ρ + D x J1 + D y J2 = ˙ 0 Conserved density ρ and flux J = (J1 , J2 ). • Conservation law in (3+1)-dimensions Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 + Dz J3 = ˙ 0 Conserved density ρ and flux J = (J1 , J2 , J3 ). Example: The Zakharov-Kuznetsov Equation ut + αuux + β(uxx + uyy )x = 0 models ion-sound solitons in a low pressure uniform magnetized plasma. • Conservation laws: Dt u + Dx α2 u2 + βuxx + Dy βuxy = ˙ 0 3 2 2 Dt u2 + Dx 2α u − β(u − u x y ) + 2βu(uxx + uyy ) 3 + Dy − 2βux uy = ˙ 0 Dt u3 − 3β 2 (u x α − 6βu(u2x − 6β 2 + + u2y ) + Dx 3u2 ( α4 u2 + βuxx ) u2y ) + 3β 2 2 (u xx α − u2yy ) (ux (uxxx + uxyy ) + uy (uxxy + uyyy )) 2 6β 2 + Dy 3βu uxy + α uxy (uxx + uyy ) = ˙ 0 α Mathematica has no function to compute Div−1 The Homotopy Operator • Question: How can one compute F = Div−1 f ? • Theorem (integration by parts): • 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) (Hu(x,y) f, (y) Hu(x,y) f ) The homotopy operator inverts total derivatives and divergences! Peter Olver’s Book Homotopy Concept in Olver’s Book Homotopy Formula in Olver’s Book Zoom into Homotopy Formula in Olver’s Book • 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 i=0 (j) uix k−(i+1) (−Dx ) ∂f (j) ∂ukx (Iu(j) f )[λu] means that in Iu(j) f one replaces u → λu, ux → λux , etc. More general: u → u0 + λ(u − u0 ) = (1 − λ)u0 + λu ux → ux 0 + λ(ux − ux 0 ) = (1 − λ)ux 0 + λux , etc. Homotopy Concept u λ=1 u0 λ=0 T (u0 , u) = u0 + λ(u − u0 ) = (1 − λ)u0 + λu 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 Goal: Find F = 4 vx2 + u2x cos u − 3 v 2 cos u Easy to verify: f = Dx F • Compute Iu f ∂f ∂f + (ux I − uDx ) = u ∂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 0 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) (y) Hu(x,y) Z f = N 1X 0 j=1 Z f = (x) (Iu(j) N 1X 0 j=1 (y) (Iu(j) dλ f )[λu] λ dλ f )[λu] λ where for dependent variable u(x, y) My i+j k+`−i−j−1 M k−1 ` x XX XX k−i−1 (x) Iu 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 ) Easy to verify: f = Div F̃ • Compute Iu(x) f ∂f ∂f = u + (ux I − uDx ) ∂ux ∂uxx ∂f + 21 uy I − 21 uDy ∂uxy = uvy + 12 uy vx − ux vy + 12 uvxy • 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 = λ uvy + 12 uy vx − ux vy + 21 uvxy − uy v + uxy v dλ = 0 1 uvy 2 + 41 uy vx − 21 ux vy + 14 uvxy − 12 uy v + 12 uxy v • Analogously, Z 1 dλ (y) (y) (y) F2 = Hu(x,y) f = Iu f + Iv f [λu] λ 0 Z 1 = λ −uvx − 12 uvxx + 12 ux vx + λ (ux v − uxx v) dλ 0 = − 21 uvx − 41 uvxx + 14 ux vx + 21 ux v − 12 uxx v • 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) After removing the “curl” term K: F̃ = F + K = (uvy − ux vy , −uvx + ux vx ) Avoid curl terms algorithmically! Computer Demo Why does this work? Sketch of Derivation and Proof (in 1D with variable x, and for one component u) Recall: Euler’s theorem for homogeneous functions If f (x1 , x2 , . . . , xn ) is homogeneous of degree p, i.e., f (λx1 , λx2 , . . . , λxn ) = λp f (x1 , x2 , . . . , xn ) then, defining g and P, as follows n X ∂f g = Pf = xi = pf ∂xi i=1 Proof: Differentiate both sides with respect to λ: n n X X ∂f ∂(λxi ) ∂f = = pλp−1 f xi ∂(λxi ) ∂λ ∂(λxi ) i=1 i=1 What is the inverse of P? R1 −1 f = P g(x1 , x2 , . . . , xn ) = 0 g(λx1 , λx2 , . . . , λxn ) dλ λ Proof: Z 1 dλ g(λx1 , λx2 , . . . , λxn ) λ 0 Z 1 dλ = pf (λx1 , λx2 , . . . , λxn )) λ 0 Z 1 dλ p = pλ f (x1 , x2 , . . . , xn )) λ 0 Z 1 = f pλp−1 dλ = f λp |10 = f 0 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 R1 Theorem (inverse operator) M−1 g(u) = 0 g[λu] dλ λ Proof: M M X X d ∂g[λu] d(λuix ) 1 ∂g[λu] 1 g[λu] = = uix = Mg[λu] dλ ∂(λuix ) dλ λ i=0 ∂uix λ i=0 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λ =M g[λu] = Mg[λu] λ λ 0 0 Assuming g(0) = 0, −1 M Z g(u) = 0 1 dλ g[λu] λ Example: If g(u) = (p + q + g[λu] = (p + q + q r p r) u ux u3x , r)λp+q+r then q r p u ux u3x Hence, M−1 g = Z 0 1 (p + q + r) λp+q+r−1 up uqx ur3x dλ = 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 k ∂f Lu(x) f = (−Dx ) ∂u kx 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 M X k ∂f uLu(x) f = u (−Dx ) ∂ukx k=0 M M X X ∂f ∂f ∂f k−1 k−1 + ux = u (−Dx ) − Dx u (−Dx ) ∂u ∂ukx ∂ukx k=1 k=1 M X ∂f ∂f k−1 ∂f = u + ux − Dx u (−Dx ) ∂u ∂ux ∂u kx k=1 M M X X k−2 ∂f k−2 ∂f + u2x +ux (−Dx ) (−Dx ) ∂ukx ∂ukx k=2 k=2 = ... ∂f ∂f ∂f + ux + . . . + uM x = u ∂u ∂ux ∂uM x M M X X ∂f ∂f k−2 k−1 + ux (−Dx ) −Dx u (−Dx ) ∂ukx ∂ukx k=2 k=1 M X k−M ∂f + . . . + u(M −1)x (−Dx ) ∂ukx k=M M M−1 M X X X ∂f ∂f k−(i+1) = uix − Dx uix (−Dx ) ∂uix ∂ukx i=0 i=0 k=i+1 M−1 M X X k−(i+1) ∂f = 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 Apply M−1 and use M−1 Dx = Dx M−1 . M−1 M X X ∂f −1 k−(i+1) f = D x M uix (−Dx ) ∂ukx i=0 k=i+1 −1 . Apply Dx−1 and use the formula for M Z 1 M−1 M X X dλ −1 k−(i+1) ∂f F = Dx f = uix (−Dx ) [λu] ∂u λ 0 kx i=0 k=i+1 Z 1 X M k−1 X dλ k−(i+1) ∂f = uix (−Dx ) [λu] ∂ukx λ 0 i=0 k=1 = Hu(x) f Early work by Kruskal and collaborators Zoom into the formula for computation of fluxes Application: Zakharov-Kuznetsov Equation Computation of Conservation Laws ut + αuux + β(uxx + uyy )x = 0 • Assume that the density if already computed 3β 2 3 ρ=u − (ux + u2y ) α • Compute ∂ρ Dt ρ = + ρ0 (u)[ut ] ∂t My Mx X X ∂ρ ∂ρ = + Dkx D`y ut ∂t ∂u kx `y k=0 `=0 = 3u2 I − 6β (ux Dx + uy Dy ) ut α • Substitute ut = − αuux + β(uxx + uyy )x . Then, E = −Dt ρ = 3u2 A − 6β u A α x x − 6β u A α y y where A = αuux + β(uxxx + uxyy ) • Use the homotopy operator to invert Div: (x) (y) −1 J = Div E = Hu(x,y) E, Hu(x,y) E Z 1 where dλ (x) (x) Hu(x,y) E = (Iu E)[λu] λ 0 with My k−1 ` i+j k+`−i−j−1 M x XX XX k−i−1 (x) uix jy i Iu E = k+` k=1 `=0 i=0 j=0 (−Dx )k−i−1 k `−j ∂E −Dy ∂ukx `y (y) (y) • Similar formulas for Hu(x,y) E and Iu E. • Flux: (x) (y) J = Hu(x,y) E, Hu(x,y) E 2 4 2 2 = 3α + u u + βu (3u + 2u ) − 2βu(3u xx yy x y) 4 + − + − 3β 2 β2 7 u(u + u ) − u ( u + 6uxxx ) 2x2y 4y 4α α x 2 xyy β2 β2 2 3 5 2 3 2 u (4u + u ) + (3u + u + u ) xxy xx α y 2 yyy α 2 xy 4 yy 5β 2 2 u u , βu uxy − 4βuux uy 4α xx yy 3β 2 β2 u(ux3y + u3xy ) − 4α ux (13uxxy + 3uyyy ) 4α − 4α uy (uxxx + 3uxyy ) + 4α uxy (uxx + uyy ) 5β 2 9β 2 • After removal of curl in 2D: J= 3u2 ( α4 u2 − + βuxx ) − 6β 2 (ux (uxxx α 3βu2 uxy 6βu(u2x + u2y ) + 3β 2 2 (u xx α + uxyy ) + uy (uxxy + uyyy )), 2 + 6βα uxy (uxx + uyy ) − u2yy ) Conclusions and Future Work • • The power of the homotopy operator: I Integration (by parts): D−1 x I Computation of Div−1 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 (moving terms amongst the components of the flux; prevent curl terms) • Homotopy operator approach pays off for computing irrational fluxes • Further investigate the conservation laws of short pulse equation • Continue the implementation in Mathematica • Software: http://inside.mines.edu/∼whereman Thank You