Continuous and Discrete Homotopy Operators: A Theoretical Approach Made Concrete and Applicable

advertisement
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
Bilkent University, Ankara, Turkey
Thursday, June 23, 2011, 13:30
Acknowledgements
Douglas Poole (Ph.D., 2009, CSM)
Ünal Göktaş (Turgut Özal University, Turkey)
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 No. CCF-0830783
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 multiple
space dimensions
Part II: Discrete Case
•
Simple formula for the homotopy operator
•
Symbolic summation by parts and inversion of the
forward difference operator
•
Analogy: continuous and discrete formulas
•
Application: symbolic computation of
conservation laws of nonlinear DDEs
•
Demonstration of ConservationLawsMD.m
•
Demonstration of DDEDensityFlux.m
•
Conclusions
Motivation of the Research
Conservation Laws for Nonlinear 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 ρ + D x J = 0
evaluated on the PDE.
Conserved density ρ and flux J.
•
Conservation law in (2+1)-dimensions
D t ρ + ∇ · J = D t ρ + D x J1 + D y J2 = 0
evaluated on the PDE.
Conserved density ρ and flux J = (J1 , J2 ).
•
Conservation law in (3+1)-dimensions
Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 + Dz J3 = 0
evaluated on the PDE.
Conserved density ρ and flux J = (J1 , J2 , J3 ).
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
Partial derivatives ukx = ∂xk ,
∂5u
Examples: uxxxxx = u5x = ∂x5
uxx yyyy = u2x 4y =
•
ukx ly =
∂6u
∂x2 y 4
Differential functions
Example: f = uvvx + x2 u3x vx + ux vxx
∂ k+l u
,
∂xk y l
etc.
•
Total derivatives: Dt , Dx , Dy , . . .
Example: Let f = uvvx + x2 u3x vx + ux vxx . Then,
∂f
∂f
∂f
Dx f =
+ ux
+ uxx
∂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
An Example in (2+1) Dimensions
•
Example: Shallow water wave (SWW) equations
[P. Dellar, Phys. Fluids 15 (2003) 292-297]
ut + (u·∇)u + 2 Ω × u + ∇(θh) − 12 h∇θ = 0
θt + u·(∇θ) = 0
ht + ∇·(uh) = 0
with constant Ω
In components:
ut + uux + vuy − 2 Ωv + 12 hθx + θhx = 0
vt + uvx + vvy + 2 Ωu + 21 hθy + θhy = 0
θt + uθx + vθy = 0
ht + hux + uhx + hvy + vhy = 0
where u(x, y, t), θ(x, y, t) and h(x, y, t).
•
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 )
+ Dx 21 g(θ)(4Ωu − 2uuy + 2uvx − hθy )
+ Dy 12 g(θ)(4Ωv − 2uy v + 2vvx + hθx ) = 0
for any functions f (θ) and g(θ)
Conservation Laws for Nonlinear
Differential-Difference Equations (DDEs)
•
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 densities-flux pairs for Toda lattice:
(0)
ρn = ln(vn )
(0)
Jn = un
(1)
ρn = un
(1)
Jn = vn−1
(2)
ρn = 21 u2n
+ vn
(2)
Jn = un vn−1
+ un (vn−1 + vn )
(3)
Jn = un−1 un vn−1
(3)
ρn = 31 u3n
2
+ vn−1
PART I: CONTINUOUS CASE
Problem Statement
Continuous case in 1D:
Example: For u(x) and v(x)
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
Continuous case in 2D or 3D:
Example: For u(x, y) and v(x, y)
f = ux vy − u2x vy − uy vx + uxy vx
Question: Is there an F so that f = Div F ?
If yes, find F.
Result (by hand): F = (uvy − ux vy , −uvx + ux vx )
Can this be done without integration by parts?
Can the computation be reduced to a single integral
in one variable?
Tools from the Calculus of Variations
•
Definition:
A differential function f is a exact iff f = Div F.
Special case (1D): f = Dx F.
•
Question: How can one test that f = Div F ?
•
Theorem (exactness test):
f = Div F iff Lu(j) (x) f ≡ 0,
j = 1, 2, . . . , N.
N is the number of dependent variables.
The Euler operator annihilates divergences
•
Euler operator in 1D (variable u(x)):
M
X
k ∂
Lu(x) =
(−Dx )
∂ukx
k=0
∂
∂
∂
2 ∂
3
=
− Dx
+ Dx
− Dx
+ ···
∂u
∂ux
∂uxx
∂uxxx
•
Euler operator in 2D (variable u(x, y)):
Lu(x,y) =
My
Mx X
X
k=0
∂
(−Dx ) (−Dy )
∂u
kx `y
`=0
k
`
∂
∂
∂
=
− Dx
− Dy
∂u
∂ux
∂uy
∂
∂
2 ∂
2 ∂
3
+ Dx
+Dx Dy
+Dy
−Dx
···
∂uxx
∂uxy
∂uyy
∂uxxx
Application: Testing Exactness – Continous Case
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
•
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
(x)
(y)
F = Div−1 f = (Hu(x,y) f, Hu(x,y) f )
The homotopy operator inverts total
derivatives and divergences!
•
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
(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.
•
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 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
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
∂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!
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
= u +ux
+u2x
+· · ·+uM x
Mf =
uix
∂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)
= 0 g[λu] dλ
λ
Proof:
M
M
X
X
∂g[λu] dλuix
1
∂g[λu]
1
d
g[λu] =
=
uix
= Mg[λu]
dλ
∂λuix dλ
λ i=0
∂uix
λ
i=0
M−1 g(u)
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
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
M
X
k ∂f
uLu(x) f = u
(−Dx )
∂u
kx
k=0


M
M
X
X
∂f
∂f
∂f
k−1
k−1
 + ux
(−Dx )
= u
− Dx u
(−Dx )
∂u
∂ukx
∂ukx
k=1
k=1

M
X
∂f
∂f
k−1 ∂f

= u
+ ux
− Dx u
(−Dx )
∂u
∂ux
∂ukx
k=1

M
M
X
X
k−2 ∂f
k−2 ∂f 
+ u2x
(−Dx )
+ux
(−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
∂f
−1
k−(i+1)

f = D x M
uix
(−Dx )
∂ukx
i=0
k=i+1
Apply Dx−1 and use the formula for M−1 .


Z 1 M−1
M
X
X
∂f
dλ
k−(i+1)
−1

 [λu]
uix
(−Dx )
F = Dx f =
∂ukx
λ
0
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
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
ut + uux + vuy − 2 Ωv + 12 hθx + θhx = 0
vt + uvx + vvy + 2 Ωu + 21 hθy + θhy = 0
θ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
∂E
∂E
+ 21 uy I − 21 uDy
Iu(x) E = u
∂ux
∂uxy
= uvx θ + 2Ωuθ + 21 u2 θy − uuy θ
Similarly, compute
Iv(x) E = vvy θ + 12 v 2 θy + uvx θ
(x)
Iθ E
(x)
Ih E
=
1 2
θ hy
2
+ 2Ωuθ − uuy θ + uvx θ
= − 12 θθy h
Next,
(x)
J1 = Hu(x,y) E
Z 1
Iu(x) E
=
0
Z 1
=
0
dλ
(x)
(x)
(x)
+ Iv E + Iθ E + Ih E [λu]
λ
4λΩuθ + λ2 3uvx θ + 12 u2 θy − 2uuy θ + vvy θ
+ 12 v 2 θy + 12 θ2 hy − 12 θθy h dλ
= 2Ωuθ− 32 uuy θ+ uvx θ+ 13 vvy θ+ 16 u2 θy
+61 v 2 θy − 16 hθθy + 61 hy θ2
Analogously,
J2 =
(y)
Hu(x,y) E
= 2Ωvθ + 23 vvx θ − vuy θ − 31 uux θ − 16 u2 θx − 16 v 2 θx
+ 16 hθθx − 61 hx θ2
Hence,


112Ω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
PART II: DISCRETE CASE
Problem Statement
Discrete case in 1D:
Example:
2
+un+3 vn+2 −un+1 vn
fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1
Question: Can the expression be summed by parts?
If yes, 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
How can this be done algorithmically?
Can this be done as in the continuous case?
Tools from the Discrete Calculus of Variations
•
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 fn = ∆Fn = Fn+1 − Fn )
Analogy Continuous & Discrete Cases
Euler Operators
Continuous Case
Lu(x)
M
X
∂
=
(−Dx )
∂uk x
k=0
k
Discrete Case
Lun =
M
X
k=0
−k
D
∂
∂un+k
M
X
∂
=
D−k
∂un k=0
Analogy Continuous & Discrete Cases
Homotopy Operators & Integrands
Continuous Case
Z
Hu(x) f=
0
Iu(j) f =
Discrete Case
N
1X
Z 1X
N
dλ
dλ
(Iu(j) f )[λu] Hun fn=
(Iu(j) fn )[λun ]
n
λ
λ
0
j=1
j=1
(j)
M
X
Iu(j) fn =
(j) −1
MX
n
k=1
i=0


(j)
k−1
M
X
X (j)
∂
∂f
(j)
k−(i+1)
−(k−i)


u
D
fn
uix (−Dx )
n+i
(j)
(j)
∂ukx
∂un+i k=i+1
i=0
Euler Operators Side by Side
Continuous Case
(for component u)
∂
∂
2 ∂
3 ∂
Lu =
− Dx
+ Dx
− Dx
+ ···
∂u
∂ux
∂u2x
∂u3x
Discrete Case
Lun
(for component un )
∂
∂
∂
∂
−1
−2
−3
+D
+D
+D
+ ···
=
∂un
∂un+1
∂un+2
∂un+3
∂
=
(I + D−1 + D−2 + D−3 + · · · )
∂un
Homotopy Operators Side by Side
Continuous Case
(for components u and v)
Z 1
dλ
Hu(x) f =
(Iu f + Iv f ) [λu]
λ
0
with
M (1)
Iu f =

X
k−1
X


uix (−Dx )
k−(i+1) 
i=0
k=1
∂f
∂ukx
and
Iv f =
(2)
M
X

k−1
X

k=1
i=0

k−(i+1) 
vix (−Dx )
∂f
∂vkx
Discrete Case
(for components un and vn )
Z 1
dλ
Hun fn =
(Iun fn + Ivn fn ) [λun ]
λ
0
with
Iun fn =
(1) −1
MX
un+i
i=0
∂
∂un+i
(1)
M
X
D−(k−i) fn
k=i+1
and
Ivn fn =
(2) −1
MX
i=0
vn+i
∂
∂vn+i
(2)
M
X
k=i+1
D−(k−i) fn
Analogy of Definitions & Theorems
Continuous Case (PDE) Semi-discrete Case (DDE)
ut = F(u, ux , u2x , · · · )
u̇n = F(· · · , un−1 , un , un+1 , · · · )
Dt ρ + D x J = 0
Dt ρn + ∆ Jn = 0
•
Definition: fn is exact iff fn = ∆Fn = Fn+1 − Fn
•
Theorem (exactness test): fn = ∆Fn iff Lun fn ≡ 0
•
Theorem (summation with homotopy operator):
If fn is exact then Fn = ∆−1 fn = Hun (fn )
Testing Exactness – Discrete Case
For example,
2
+un+3 vn+2 −un+1 vn
fn = −un un+1 vn −vn2 +un+1 un+2 vn+1 +vn+1
•
fn is exact
•
After summation by parts (done by hand):
Fn = vn2 + un un+1 vn + un+1 vn + un+2 vn+1
•
Exactness test with Euler operator:
For component un (highest shift 3):
∂ Lun 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,
Lvn fn
∂ =
I + D−1 fn
∂vn
= un un+1 + 2vn − un un+1 − 2vn
≡ 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
Here, M (1) = 3 and M (2) = 2.
Compute
Iun fn
∂
(D−1 + D−2 + D−3 )fn
= un
∂un
∂
+ un+1
(D−1 + D−2 )fn
∂un+1
∂
D−1 fn
+ un+2
∂un+2
= 2un un+1 vn + un+1 vn + un+2 vn+1
Ivn fn
∂
∂
−1
−2
= vn
(D + D )fn + vn+1
(D−1 )fn
∂vn
∂vn+1
= 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
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 )
•
Typical density-flux pair:
ρ(3)
=
n
1 3
u
3 n
+ un (vn−1 + vn )
2
Jn(3) = un−1 un vn−1 + 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
− c3 un un+1 vn − c3 vn2
+c2 un−1 un vn−1 + c2 vn−1
Compute Ẽn = DEn to remove negative shift n − 1
Require that Lun Ẽn = Lvn Ẽn ≡ 0
Solution: c1 = 31 , c2 = c3 = 1 gives
ρn =
1
3
u3n + un (vn−1 + vn )
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
J˜n = DJn = −∆−1 (Ẽn ) = −Hun (Ẽn )
Compute
Iun Ẽn
∂
∂
−1
−2
(D + D )Ẽn + un+1
(D−1 )Ẽn
= un
∂un
∂un+1
= −(2un un+1 vn )
Likewise,
∂
Ivn Ẽn = vn
(D−1 )Ẽn = −(un un+1 vn + 2vn2 )
∂vn
Next, compute
J˜n = −
Z
1
Iun Ẽn + Ivn Ẽn
0
Z
=
dλ
[λ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
Software Demonstration
Demonstrations of ConservationLawsMD.m
Demonstration of DDEDensityFlux.m
Software packages in Mathematica
Codes are available via the Internet:
URL: http://inside.mines.edu/∼whereman/
Conclusions
•
•
•
Continuous Euler and homotopy operators:
I
Testing exactness
I
−1
Integration by parts: D−1
and
Div
x
I
Application: conservation laws of PDEs
Discrete Euler and homotopy operators:
I
Testing exactness (summability)
I
Summation by parts: ∆−1
I
Application: conservation laws of DDEs and
lattices
Useful analogy between the formulas.
Thank You
Publications
1. D. Poole and W. Hereman, Symbolic computation
of conservation laws for nonlinear partial
differential equations in multiple space dimensions,
Journal of Symbolic Computation (2011), 26
pages, in press.
2. 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.
3. 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.
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).
5. W. Hereman, Symbolic computation of
conservation laws of nonlinear partial differential
equations in multi-dimensions, Int. J. Quan.
Chem. 106(1), 278-299 (2006).
6. 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.
Download