Continuous and Discrete Homotopy Operators: A Theoretical Approach Made Concrete

advertisement
Continuous and Discrete
Homotopy Operators:
A Theoretical Approach
Made Concrete
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
IMACS International Conference, Athens, Georgia
Monday, April 11, 2004, 3:45p.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
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
The divergence annihilates curls!
•
Question: How can one verify that f = ∇ · F ?
No theorem from vector calculus!
Problem Statement
Continuous case in 1D:
Example:
f = 3 ux v 2 sin u−u3x sin u−6 v vx cos u+2 ux u2x cos u+8 vx 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:
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
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
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
(−Dx ) (−Dy )
kx =0 ky =0
ky
∂
∂ukx x ky y
∂
∂
∂
=
− Dx
− Dy
∂u
∂ux
∂uy
∂
2 ∂
2 ∂
3 ∂
+ Dx
+ Dx D y
+ Dy
− Dx
− ···
∂u2x
∂uxy
∂u2y
∂u3x
(0,0,0)
Lu(x,y,z)
=
∞
∞
∞
X
X
X
kx =0 ky =0 kz =0
kx
ky
kz
(−Dx ) (−Dy ) (−Dz )
∂
∂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 (done 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 ∂
=
(−Dx )
∂ukx
i
k=i
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 )
ky −iy
kx −ix
Lu(x,y)=
(−Dy )
(−Dx )
∂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 ∂
− Dx
+ ···
Lu(x,y) =
− 2Dy
+ 3Dy
∂uy
∂u2y
∂uyx
∂u3y
∂
∂
∂
∂
(1,1)
2
− 2Dy
+ 3Dx
+ ···
Lu(x,y) =
− 2Dx
∂uxy
∂u2xy
∂ux2y
∂u3xy
∂
∂
∂
∂
(2,1)
2
− 3Dx
− 2Dy
+ 6Dx
+ ···
Lu(x,y) =
∂u2xy
∂u3xy
∂u2x2y
∂u4xy
(1,0)
Lu(x,y) =
•
In 3D (with variables x, y, and z):
∞
∞
∞ ³ ´³ ´³ ´
X
X
X
kx ky kz
(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
kz −iz
(−Dz )
(i)
Lu(x) (f )
≡ 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
Z
F = D−1
x f =
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=0
³
´
(i+1)
Dix uj Luj (x) (f )
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)):
Z
Hu(x) (f ) =
1
0
¡
¢ dλ
Iu (f )[λu] + Iv (f )[λu]
λ
where
Iu (f ) =
∞
X
³
´
(i+1)
Dix u Lu(x) (f )
i=0
and
Iv (f ) =
∞
X
i=0
³
´
(i+1)
i
Dx v Lv(x) (f )
•
In 2D (with variables x and y):
Z
(x)
Hu(x,y) (f )
=
N
1X
0 j=1
(f )[λu]
Iu(x)
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 )
³
and
(1+ix ,iy )
uj Luj (x,y) (f )
(y)
Iuj (f )
´
•
In 3D (with variables x, y, and z):
Z
(x)
Hu(x,y,z) (f )
=
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
!
i
Dixx Dyy Dizz
³
´
(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
− 2uDx
+ Dx u
= u
∂ux
∂u2x
∂u2x
= 3uv 2 sin u − uu2x sin u + 2u2x cos u
•
Similarly,
³
´
(1)
(2)
Iv (f ) = vLv(x) (f ) + Dx vLv(x) (f )
µ
¶
µ
¶
∂f
∂f
∂f
− 2vDx
+ Dx v
= v
∂vx
∂v2x
∂v2x
•
Finally,
= −6v 2 cos u + 8vx2
Z
F = Hu(x) (f ) =
Z
=
0
1
0
1
¡
¢ dλ
Iu (f )[λu] + 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,0)
(2,0)
(1,1)
(x)
Iu (f ) = uLu(x,y) (f ) + Dx uLu(x,y) (f ) + Dy uLu(x,y) (f )
Ã
! 2
∂f
∂f
∂f
= u
− Dy
− 2Dx
∂ux
∂u2x
∂uxy
!
Ã
¶
µ
1
∂f
∂f
+ Dy u
+ Dx u
∂u2x
2
∂uxy
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
´ dλ
³
(x)
Iu(x) (f )[λu] + Iv(x) (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
1
•
Analogously,
Z
³
´ dλ
(y)
F2 = Hu(x,y) (f ) =
Iu(y) (f )[λu] + Iv(y) (f )[λu]
λ
0
!
¶
Z 1Ã µ
1
1
=
λ −uvx − uv2x + ux vx + λ (ux v − u2x v) dλ
2
2
0
1
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 − 12 ux vy + 14 uvxy − 12 uy v + 12 uxy v
− 12 uvx − 14 uv2x + 14 ux vx + 12 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 + 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
•
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
•
ρ(1)
First few densities-flux pairs:

=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Ωθ


2 θ +v 2 θ −hθθ +h θ 2
12Ωuθ−4uu
θ+6uv
θ+2vv
θ+u
y
x
y
y
y
y
y
1
(5)

J =6
12Ωvθ+4vvx θ−6vuy θ−2uux θ−u2 θx −v 2 θx +hθθx −hx θ2
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 =
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 + 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
´
³
(2,0)
(1,0)
(x)
Iu (E) = uLu(x,y) (E) + Dx uLu(x,y) (E)
³
´
1
(1,1)
+ Dy uLu(x,y) (E)
2


Ã
!
¶
µ
∂E
∂E 
∂E

= u
− 2Dx
− Dy
∂ux
∂u2x
∂uxy
Ã
!
¶
µ
1
∂E
∂E
+ Dy u
+ Dx u
∂u2x
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)
θθy h
Ih (E) =
2
Iv(x) (E)
Next,
J1 =
=
(x)
−Hu(x,y) (E)
Z 1³
−
Iu(x) (E)[λu]
0
(x)
+Iθ (E)[λu]
Z 1Ã
=
0
+
+ Iv(x) (E)[λu]
(x)
Ih (E)[λu]
´ dλ
λ
µ
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,


1 12Ω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
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
∂un+k
k=0
∞
∞
∂ 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
Iuj (f ) =
∞
X
i=0
∞
³
´
³
´
X
(i+1)
Dix uj Luj (x) (f ) Iuj,n (f ) =
∆i uj,n L(i+1)
uj,n (f )
i=0
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 )[λu] + I2 (f )[λu]
λ
0
with
I1 (f ) =
∞
X
³
´
Dix uL(i+1)
(f )
u
i=0
and
I2 (f ) =
∞
X
i=0
³
Dix vLv(i+1) (f )
´
Discrete Case
(for components un and vn )
Z
Hun (f ) =
0
1
¢ dλ
¡
I1,n (f )[λun ] + 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 , · · · )
D t ρ + Dx 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
(0)
∆r Fn
iff
(i)
Lun (fn )
•
Theorem: fn =
i = 0, 1, . . . , r−1
≡ 0 for
•
Theorem (summation with homotopy operator):
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
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)
Iun (fn ) = 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
³
´
(2)
(f
)
+
∆
v
L
Ivn (fn ) = vn L(1)
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 )[λun ] + 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
•
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)
Jn = un
ρn = un
(1)
Jn = vn−1
(2)
ρn
+ vn
(2)
Jn
= un vn−1
+ un (vn−1 + vn )
(3)
Jn
2
= un−1 un vn−1 + vn−1
ρn = ln(vn )
(3)
ρn
=
1 2
u
2 n
=
1 3
u
3 n
(0)
(1)
Computation of 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 = 31 , 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 1
dλ
˜
(Iun (−Ẽn )[λun ] + Ivn (−Ẽn )[λun ])
Jn =
λ
0
Z 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)
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 differential-difference 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