Symbolic Computation of Conserved Densities and Fluxes for Nonlinear Systems of Differential-Difference Equations by Holly Eklund c 2003 Holly Eklund, Copyright All rights reserved. ii A thesis submitted to the Faculty and the Board of Trustees of the Colorado School of Mines in partial fulfillment of the requirements for the degree of Masters of Science (Mathematical and Computer Sciences). Golden, Colorado Date Signed: Holly Eklund Approved: Dr. Willy Hereman Mathematical and Computer Sciences Thesis Advisor Golden, Colorado Date Dr. Graeme Fairweather Head Department Mathematical and Computer Sciences iii ABSTRACT Two algorithms are presented to find conserved densities and fluxes of nonlinear systems of differential-difference equations. Both algorithms utilize the scaling properties of lattice equations to reduce the problem to a calculus and linear algebra problem. The two algorithms are illustrated for the Kac-van Moerbeke, Toda, and Ablowitz-Ladik lattices. The first method leads to a three step algorithm which utilizes the dilation invariance of the conservation laws to construct the form of the density. For this method, the discrete Euler operator or discrete variational derivative is an advantageous tool. The algorithm is implemented in Mathematica. The package is called DDEDensityFlux.m. The key applications are to analyze the discretizations of the Korteweg-de Vries (KdV), and modified Korteweg-de Vries (mKdV) lattices. A combination of the KdV and mKdV lattices is also considered. The second method leads to a five step algorithm that is primarily useful in determining fluxes. Both of the algorithms presented could be used to investigate the integrability of semi-discrete lattices. iv TABLE OF CONTENTS ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Chapter 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 2 DIFFERENTIAL-DIFFERENCE EQUATIONS . . . . 6 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . Conservation laws . . . . . . . . . . . . . . . . . . . . . . . Example: The Kac-van Moerbeke lattice . . . . . . . . . . Dilation Invariance: The concept behind our algorithms . . Density-flux pairs . . . . . . . . . . . . . . . . . . . . . . . Tool 1: Equivalence criterion . . . . . . . . . . . . . . . . . Tool 2: The discrete Euler operator (variational derivative) Chapter 3 3.1 3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9 11 13 15 19 20 THE FIRST MATHEMATICAL METHOD AND ALGORITHM . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 IMPLEMENTATION AND SOFTWARE . . . . . . . . Existing software . . . . . . . . . . . The new code DDEDensityFlux.m . . Using the software: A sample session Options for the user . . . . . . . . . Implementation issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 29 31 32 36 38 COMPUTATION OF CONSERVATION LAWS . . . . 42 The Kac-van Moerbeke lattice . . . . . . . . . . . . . . . . . . . . . . The Toda lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Ablowitz-Ladik lattice . . . . . . . . . . . . . . . . . . . . . . . . 42 48 55 v . . . . . 25 25 . . . . . Chapter 5 5.1 5.2 5.3 . . . . . . . The method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Steps of the algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 4 4.1 4.2 4.3 4.4 4.5 . . . . . . . 5.3.1 5.3.2 5.3.3 Chapter 6 6.1 6.2 6.3 6.4 The The The The 55 56 59 A SECOND METHOD TO DETERMINE DENSITIES AND FLUXES . . . . . . . . . . . . . . . . . . . . . . . . . 67 . . . . 67 71 73 75 . . . . . . . . . . . . . . . . . . . . . . . 81 Discretization of the combined KdV-mKdV equation . . . . . . . . . Discretization of the Korteweg-de Vries equation . . . . . . . . . . . . Discretization of the modified Korteweg-de Vries equation . . . . . . 81 91 96 Chapter 7 7.1 7.2 7.3 Introducing a first weighted parameter (α) . . . . . . . . . . . Introducing a second weighted parameter (β) . . . . . . . . . Introducing Shifts . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 8 second algorithm . . . . . Kac-van Moerbeke lattice Toda lattice . . . . . . . Ablowitz-Ladik lattice . . APPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . 101 REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Appendix A DATA FILES . . . . . . . . . . . . . . . . . . . . . . . . . . 107 vi LIST OF TABLES 5.1 Ranks of terms in density candidate (R=3) for the KvM lattice . . . 44 5.2 Ranks of terms in density candidate (R=3) for the Toda lattice . . . 50 5.3 Ranks of terms in density candidate (R= 12 ) for the AL lattice . . . . 57 5.4 Ranks of terms in density candidate (R= 21 ) for the AL lattice . . . . 61 7.1 Ranks of terms in density candidate (R= 21 ) for the combined equation 83 7.2 Ranks of terms in density candidate (R= 43 ) for the combined equation 84 7.3 Ranks of terms in density candidate (R=1) for the combined equation 85 7.4 Ranks of terms in density candidate (R= 21 ) for the combined equation 87 7.5 Ranks of terms in density candidate (R= 85 ) for the combined equation 88 7.6 Ranks of terms in density candidate (R= 43 ) for the combined equation 90 7.7 Ranks of terms in density candidate (R=1) for the KdV discretization 92 7.8 Ranks of terms in density candidate (R=1) for the KdV discretization 94 7.9 Ranks of terms in density candidate (R= 21 ) for the mKdV discretization 97 7.10 Ranks of terms in density candidate (R=1) for the mKdV discretization 98 7.11 Ranks of terms in density candidate (R= 12 ) for the mKdV discretization 99 vii ACKNOWLEDGMENTS I greatly appreciate the help of Dr. Willy Hereman, my thesis advisor for his clear explanations, helpful input, and patience throughout. Without the support of the National Science Foundation Computer Science, Engineering and Mathematics Scholarships program, and the National Science Foundation research award CCR-9901929, this research would not have been possible. Many thanks go to my thesis committee members, Dr. Barbara Moskal and Dr. Paul Martin for all of their comments and suggestions. Finally, my sincere gratitude goes to my fiancé Jeffrey Bellman and my family for their support and encouragement throughout. viii 1 Chapter 1 INTRODUCTION Differential-difference equations (DDEs) have been the focus of many nonlinear studies since the original work of Fermi, Pasta, and Ulam in the nineteen sixties [9]. Nonlinear DDEs describe many interesting physical phenomena including vibrations of particles in lattices and currents in electrical networks, Langmuir waves, and interactions between competing populations. Also, DDEs play an important role in queuing problems and discretizations in solid state physics and quantum fields. Lastly, they are used in numerical simulations of nonlinear PDEs [1]. Recently, there has been a renewed interest in DDEs (see e.g. [40] for a review of the literature). DDEs are semi-discretized as the single space variable is discretized, and time is kept continuous. This is in contrast to their fully discretized counterparts, called difference equations, in which there currently is also a great deal of interest (see e.g. [7, 21, 27, 28]). In this thesis we focus on one aspect of the integrability of DDEs, namely the computation of polynomial conserved densities and associated fluxes via direct methods which can be implemented in computer algebra systems. The first few conservation laws of a DDE may have a physical meaning, for instance conserved momentum and energy. Additional ones may facilitate the study of both quantitative and qualitative properties of solutions [23]. Also, the existence of a sequence of conserved densities predicts integrability of DDEs [13]. However, the absence of conserved densities does not preclude integrability. The integrable DDEs could indeed be disguised with a co- 2 ordinate transformation so that the transformed equation no longer admits conserved densities of polynomial type. The main result of this thesis is two-fold. First, I added several new aspects to the previously existing method used in condens.m [10], InvariantsSymmetries.m [12] and diffdens.m [11]. Second, I implemented the new components in Mathematica. The new package DDEDensityFlux.m is much more reliable than previous versions, and it calculates conservation laws for new, more complicated systems of DDEs. In this thesis, I describe two novel methods [20] to construct families of conserved densities and apply them to specific examples. (1) The first method relies heavily on the notion of dilation invariance. It is shown in this thesis that conservation laws for DDEs are dilation invariant. We utilize this fact and construct the form of the density, ρn . Then, we may either use a “shifting” technique or the discrete Euler operator to find the unknown constants. Using the “shifting” technique to determine the constants, gives the flux, Jn , automatically. Using the discrete Euler operator to find the unknown constants simplifies the calculation of the flux, Jn , but does not determine it directly. The first method leads to the first algorithm which was implemented in Mathematica as DDEDensityFlux.m. (2) The second method, suggested by Hickman [20], is more theoretical and is primarily useful in determining fluxes. It leads to a five step algorithm that uses repeated decomposition of the identity operator I to find pieces in and outside the image (Im) of the operator ∆ = D − I, where D is the up-shift operator. First, we determine the furthest negative shifted variable in expression E (i.e. Dt ρn after replacement from the system). The expression E is then split into two parts, A(j) and A(j+1) , where A(j) contains all terms that are independent of the lowest shifted variable 3 and A(j+1) has terms dependent on the lowest shifted variable. We then down-shift A(j) and add D−1 A(j) to A(j+1) . This process is repeated until D−1 A(j) + A(j+1) = 0. The constraint determines the unknown coefficients leading to the final form of the density, ρn , and the flux, Jn . The techniques described in this thesis are applicable to complicated nonlinear systems of DDEs. Yet, to keep the ideas transparent and avoid lengthy computation (which are best performed with Maple, Mathematica, or muPAD) we use the Kac-van Moerbeke (KvM), Toda, and Ablowitz-Ladik (AL) lattices to illustrate our methods. Like the algorithms and Mathematica codes (for densities and generalized symmetries) in [14, 15, 17, 19], the methods in the present paper are restricted to polynomial densities and fluxes. There is a vast body of work on DDEs, including investigations of integrability criteria via the computation of densities, generalized and master symmetries, recursion operators, etc. For nonlinear DDEs several solution methods and integrability tests are applicable. The solution methods include symmetry reduction [29], and an extension of the spectral transform method [26]. Adaptations of the singularity confinement approach [33], the Wahlquist-Estabrook method [8], and the master symmetry technique [6] allow one to test integrability of DDEs. The most comprehensive integrability study of DDEs was done by Levi and colleagues [26, 30], Yamilov [46, 47] and co-workers [4, 5, 6, 36, 37, 38]. Their papers provide a classification of semi-discrete equations possessing infinitely many local conservation laws. Using the formal symmetry approach, they derive the necessary and sufficient conditions for the existence of local conservation laws, and provide an algorithm to construct them. In contrast to these algorithms, in this thesis we present new direct algorithms that allow one to compute conserved densities and fluxes of DDEs. Our algorithms are 4 fairly straightforward. They only rely on algebra, calculus, and a tool from variational calculus. Therefore, they can be implemented in computer algebra languages. The first algorithm is implemented in Mathematica as DDEDensityFlux.m. DDEDensityFlux.m is based on previously existing methods used in condens.m, InvariantsSymmetries.m, and diffdens.m. The program condens.m automatically carries out the lengthy symbolic computations for the construction of conserved densities [13]. The package InvariantsSymmetries.m is a straightforward algorithm for the symbolic computation of generalized (higher-order) symmetries of nonlinear evolution equations and lattice equations [15, 16]. The code diffdens.m calculates conserved densities for several well-known lattice equations [17, 14]. The thesis is organized as follows. Chapter 2 covers preliminary material about conservation laws of DDEs. Here we utilize equivalence criteria to simplify our calculations. An analogy to a result for PDEs, the discrete Euler operator (or variational derivative) is introduced as a valuable tool to test conserved densities. We prove the necessary and sufficient condition for a function of a discrete variable (and its shifts) to be the total difference of another function of discrete variables. A few simple examples illustrate the concepts. Chapter 3 describes the first algorithm for determining densities and fluxes. The first algorithm is organized into three steps. In Chapter 4, we address existing related algorithms. In addition, we explain how to use the developed software called DDEDensityFlux.m. Chapter 4 also includes a description of how the computation of the fluxes and the discrete Euler operator were implemented. The KvM, Toda, and AL lattices are used as examples to illustrate the three step algorithm in Chapter 5. The importance of introducing shifts in the density 5 (specifically for complicated examples) is demonstrated for the AL lattice. The chapter concludes with applications of the Euler operator to find densities and fluxes of the KvM, Toda, and AL lattices. In Chapter 6 we focus on the computation of the associated fluxes. We illustrate how the second method could be used to compute densities as well as fluxes. We revisit the KvM, Toda, and AL lattices to illustrate the method. We show some additional applications of the first algorithm in Chapter 7. Here we use our methods to compute densities and fluxes for discretizations of the Kortewegde Vries (KdV) and modified Korteweg-de Vries (mKdV) equations, as well as a combined equation. We draw some conclusions in Chapter 8. In summary, the original contribution of this thesis is two-fold: improved algorithms to determine conserved densities and fluxes of DDEs, and their implementation in Mathematica. We offer the scientific community a symbolic package called DDEDensityFlux.m that carries out the tedious calculations of conserved densities and fluxes of nonlinear DDEs. The software and data files are available from various sources. 6 Chapter 2 DIFFERENTIAL-DIFFERENCE EQUATIONS In this chapter we review preliminary material [20] about densities and fluxes of nonlinear DDEs. We also show a few simple examples. 2.1 Definitions Definition 2.1 Differential-difference equations (DDEs) are equations that are continuous in time and discretized in space. They are of the following form: u̇n = f (un−l , un−l+1 , . . . , un , . . . , un+m−1 , un+m ) (2.1) with ∂f ∂f ∂ un−l ∂ un+m 6= 0, where n is an arbitrary integer. In general, f is a nonlinear vector-valued function of a finite number of dynamical variables, each un is a vector-valued function of t, and u̇n is the usual time derivative of un (t). The index n may lie in Z, or the un+k may be periodic, un+k = un+k+N . The integer l is the furthest negative shift, and m is the furthest positive shift of any variable in (2.1). If l = m = 0 then the equation is local and reduces to a system of ordinary differential equations. 7 There are two notations for DDEs. The index n, may be omitted identifying un ≡ u0 , un±p ≡ u±p , etc. However, for clarity we commit to including the index n. Definition 2.2 The up-shift operator D is defined by D un+k = un+k+1 . (2.2) Definition 2.3 Its inverse, the down-shift operator, is given by D−1 un+k = un+k−1 . (2.3) Thus we have un+k = Dk un . The action of D and D−1 is extended to functions by acting on their arguments. For example, D g(un−p , un−p+1 , . . . , un+q ) = g(D un−p , D un−p+1 , . . . , D un+q ) = g(un−p+1 , un−p+2 , . . . , un+q+1 ). In particular, we have D ∂ u∂ g(un−p , un−p+1 , . . . , un+q ) = ∂ u ∂ g(un−p+1 , un−p+2 , . . . , un+q+1 ). n+k n+k+1 In order to standardize notation, we consider p and q to be positive integers. Identify p with the furthest negative shift of any variable in the system, and q with the furthest positive shift of any variable in the system. Moreover, for equations of type (2.1), the shift operator commutes with the time derivative D ddt un = D f (un−l , un−l+1 , . . . , un , . . . , un+m−1 , un+m ) = f (un−l+1 , un−l+2 , . . . , un+1 , . . . , un+m , un+m+1 ) 8 = ddt un+1 = ddt (D un ) . Definition 2.4 Next, we define the (forward) difference operator, ∆ = D − I, by ∆ un+k = (D − I) un+k = un+k+1 − un+k , where I is the identity operator. This operator takes the role of a spatial derivative on the shifted variables as many examples of DDEs arise from the discretizations of a PDE in (1 + 1) variables [35]. The difference operator extends to functions and we have ∆ g(un−p , un−p+1 , . . . , un+q ) = (D − I) [g(un−p , un−p+1 , . . . , un+q )] = D [g(un−p , un−p+1 , . . . , un+q )] − I [g(un−p , un−p+1 , . . . , un+q )] = g(un−p+1 , un−p+2 , . . . , un+q+1 ) − g(un−p , un−p+1 , . . . , un+q ). Definition 2.5 For any function g = g(un−p , un−p+1 , . . . , un+q ), the total time derivative Dt g is computed as ∂g ∂ g )u̇ Dt g(un−p , un−p+1 , . . . , un+q ) = ( ∂ u n−p + · · · + ( ∂ u )u̇n + · · · n−p n g +( ∂ ∂ u )u̇n+q n+q = = = ∂ g )D−p u̇ + · · · + ( ∂ g )D0 u̇ + · · · + ( ∂ g )Dq u̇ (∂ u n n n ∂u ∂u n−p ( q X k=−p q X ( k=−p n n+q ∂g k ∂ un+k D )u̇n ∂g k ∂ un+k D )f (un−l , un−l+1 , . . . , un+m−1 , un+m ) (2.4) 9 on solutions of (2.1). A simple calculation shows that the shift operator D commutes with Dt . Note that we consider only autonomous functions and systems, i.e f and g do not explicitly depend on t. Hence, ∂∂ ft = 0 and ∂∂ gt = 0. 2.2 Conservation laws Definition 2.6 A function ρn = ρn (un−p , un−p+1 , . . . , un+q ) is a (conserved) density of (2.1) if there exists a function Jn = Jn (un−r , un−r+1 , . . . , un+s ), called the (associated) flux, such that Dt ρn + ∆ Jn = 0 or equivalently, Dt ρn = −∆ Jn = −(D − I)Jn = [Jn − Jn+1 ] is satisfied on the solutions of (2.1). (2.5) is called a local conservation law. Any shift of a density, Dk ρn , is trivially a density since Dt Dk ρn + ∆ Dk Jn = Dk (Dt ρn + ∆ Jn ) = Dt 0 = 0. The associated flux is Dk Jn . (2.5) 10 Constants of motion for (2.1) are easily obtained from densities and their shifts. Indeed, for any density ρn with corresponding flux Jn , consider q X Ω= Dk ρn . (2.6) k=−p The total time derivative of Ω is Dt Ω = = − − q X ∆Dk Jn k=−p q X Dk+1 − Dk Jn k=−p = − Dq+1 − D−p Jn . Applying appropriate boundary conditions, for example, lim un = 0, lim un+p = 0, n→∞ n→∞ (2.7) one gets the conservation law Dt ∞ X Dk ρn = − lim Dq+1 Jn + lim D−p Jn = 0. q→∞ k=−∞ p→∞ For a periodic chain, where uk = uk+N , after summing over a period, one obtains Dt N X ! k D ρn = −DN +1 Jn + D0 Jn = −Jn + Jn = 0. k=0 In either case, Ω is a constant of motion of (2.1) since Ω does not change with time. 11 Definition 2.7 A density which is a total difference, ρn = ∆ Fn , (2.8) (so that Dt ρn = ∆ Dt Fn and therefore Jn = −Dt Fn is an associated flux), is called trivial. These densities lead to trivial conservation laws since Ω= q X Dk ∆ Fn = Dq+1 Fn − D−p Fn k=−p holds identically, not just on solutions of (2.1). 2.3 Example: The Kac-van Moerbeke lattice Example 2.1 Consider the semi-discrete KvM lattice u̇n = un (un+1 − un−1 ), (2.9) where as usual, u̇n = dun /dt. Note that (2.9) is equivalent to the notationally simpler u̇0 = u0 (u1 − u−1 ). However, as previously mentioned, for the sake of illustration we shall commit to the first standard notation. Eq. (2.9) is often referred to as a Volterra lattice [45, 47], although it is a special case of the two-component Volterra system [22, 36]. 12 It arises in the study of Langmuir oscillations in plasmas, population dynamics, quantum field theory, polymer science, and appears in the context of matrix factorization (see references in [40]). Eq. (2.9) appears in the literature in other forms, including Ṙn = 21 (e−Rn−1 − e−Rn+1 ), (2.10) 2 2 ẇn = wn (wn+1 − wn−1 ), (2.11) and which relate to (2.9) by simple transformations [40]. However, (2.9) most conveniently illustrates this algorithm. It has the following pairs of conserved densities and fluxes [17] of rank ≤ 3: ρ(1) = un , n ρ(2) = n 1 u 2 2 n Jn(1) = −un−1 un , (2.12) + un un+1 , (2.13) Jn(2) = −un−1 un 2 − un−1 un un+1 , (2.14) ρ(3) = n (2.15) 1 u 3 3 n + un un+1 (un + un+1 + un+2 ), Jn(3) = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ). (2.16) Then clearly (2.5) holds since (1) (1) (1) Dt ρ(1) n = u̇n = un (un+1 − un−1 ) = [Jn − Jn+1 ] = −∆ Jn and Dt ρ(2) = un u̇n + u̇n un+1 + un u̇n+1 n 13 = un 2 (un+1 − un−1 ) + un un+1 (un+1 − un−1 ) + un un+1 (un+2 − un ) (2) = [Jn(2) − Jn+1 ] = −∆ Jn(2) . This holds for all density flux pairs of (2.1). 2.4 Dilation Invariance: The concept behind our algorithms Many definitions and key ideas are given here. These concepts will be used repeatedly throughout this thesis. Definition 2.8 Key to our methods is the concept of dilation symmetry or (scaling) (t, u, v) → (λa t, λb u, λc v), (2.17) where λ is an arbitrary parameter. Note that a, b, and c could be fractions. If a 6= 0, without loss of generality we may d set w( dt ) = 1. Therefore, a = 1 and u corresponds to b derivatives with respect to t. We denote this by u ∼ v∼ dc . dtc db , dtb and v corresponds to c derivatives with respect to t, or The terms on the right hand side of (2.9) both have rank R = 2, since each of these (monomial) terms is quadratic [24]. Recall the KvM lattice given by (2.9). The equation is invariant under a dilation (scaling) symmetry. Indeed, (2.9) is invariant under (t, un ) → (λ−1 t, λun ). Therefore, un corresponds to one derivative with respect to t. We denote this un ∼ d/dt. We d say the weight of un is one. By choice, we set w(t) = −1 or w( dt ) = −1. Definition 2.9 The weight, w, of a variable is equal to the number of derivatives with respect to t the variable carries. 14 Weights of dependent variables and parameters are non-negative, rational, and independent of n. Note that weights may be fractions. The weight of each term in a single equation is equal to the weights of the other terms in the same equation. It is always legitimate to consider w(un ) 6= 0 and w(vn ) 6= 0, since zero weights would lead to a trivial case. Definition 2.10 The rank of a monomial is defined as the total weight of the monomial. Once an equation is made scaling invariant, all the terms (monomials) in a particular equation have the same rank. This property is called uniformity in rank. A system is uniform in rank if every equation is uniform in rank. Note that the ranks of the various equations may differ from each other. By definition, (2.9) is uniform in rank and the rank is 2. Conservation laws are also uniform in rank. This property will be addressed in further detail shortly. Definition 2.11 An equation is scaling invariant iff weights can be assigned to each term in the equation so that the total weights of all the terms are equal. A system of DDEs is scaling invariant is every equation is scaling invariant. If a system is scaling invariant, there is a consistent system of equations for the unknown weights. So, we may assign the appropriate resulting weights to the variables. Note that different equations in the vector equation (2.1) may have different ranks. For more complicated DDEs, it is also convenient to consider the case when d ) = 0, i.e. a = 0. Using this extra scale lets us to group terms in ρn according to w( dt d w( dt ) = 0. This allows for much simpler calculations because for any given density that is uniform in rank under Scale 1, we may separate it into pieces which are uniform in rank under Scale 0. We now give the formal definitions of the two scales. 15 Definition 2.12 When computing the weights in a system of DDEs, one may choose d w( dt ) = 1, and calculate the weights of the variables accordingly. We will call this d ) = 1. Scale 1. In other words, Scale 1 corresponds to the choice w( dt Definition 2.13 When computing the weights in a system of DDEs, one may choose d ) = 0, and calculate the weights of the variables accordingly. We will call this w( dt d Scale 0. In other words, Scale 0 corresponds to the choice w( dt ) = 0. For systems that are not scaling invariant, we use the following trick: We introduce one (or more) auxiliary parameter(s), and treat them as dependent variables with an appropriate scaling. When introducing the parameter(s), it is vital to assume that no parameter equals 0. Setting parameters zero would make some terms vanish and this would alter the problem entirely. By introducing auxiliary parameters and assigning weights to them, we can make each term in a single equation of the same weight as the other terms. This process creates a modified, but scaling invariant system of DDEs. Furthermore, by extending the action of the dilation symmetry to the space of independent and dependent variables and parameters, we are able to apply our first algorithm to any polynomial system of DDEs. However, this comes at a great cost because by introducing such auxiliary parameter(s), the resulting ρn and Jn are no longer linearly independent. 2.5 Density-flux pairs Example 2.2 Recall the density flux pair in (2.15) and (2.16), namely: ρ(3) = n 1 u 3 3 n + un un+1 (un + un+1 + un+2 ), (2.18) Jn(3) = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ). (2.19) 16 We can verify that (2.18) and (2.19) indeed obey (3) (3) Dt ρ(3) n = [Jn − Jn+1 ] since Dt ( 13 un 3 + un un+1 (un + un+1 + un+2 )) = un 2 u˙n + 2un u˙n un+1 + un 2 un+1 ˙ + u˙n un+1 2 + 2un un+1 un+1 ˙ + u̇n un+1 un+2 +un u̇n+1 un+2 + un un+1 un+2 ˙ = −un−1 un 3 − 2un−1 un 2 un+1 + un un+1 3 − un−1 un un+1 2 + 2un un+1 2 un+2 −un−1 un un+1 un+2 + un un+1 un+2 2 + un un+1 un+2 un+3 = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ) +(un un+1 3 + 2un un+1 2 un+2 + un un+1 un+2 2 + un un+1 un+2 un+3 ) = (3) [Jn(3) − Jn+1 ]. In general, for any conservation law Dt ρn + ∆Jn = 0, rank(Jn(3) ) = w(Dt ) + rank(ρ(3) n ) = 1 + rank(ρ(3) n ). The reason for the uniformity in rank of the conservation law is obvious: In computing Dt ρn we use the scaling invariant DDE to replace all time derivatives. In doing so, the conservation law “inherits” the scaling symmetry of the given DDE. Therefore, ρn , Jn , and the terms in the conservation law must all be uniform in rank. So, we will use the fact that (2.5) is uniform in rank when computing conserved densities 17 and fluxes. Indeed, in Step 2 of our first algorithm we will build a candidate ρn as a linear combination of monomials of a given rank (say R). Example 2.3 Now consider the Toda lattice [18, 41] ÿn = exp (yn−1 − yn ) − exp (yn − yn+1 ). (2.20) In (2.20), yn is the displacement from equilibrium of the nth particle with unit mass under an exponential decaying interaction force between nearest neighbors. With the change of variables, un = ẏn , vn = exp (yn − yn+1 ), lattice (2.20) can be written in algebraic form u̇n = vn−1 − vn , v̇n = vn (un − un+1 ). We can compute a couple of conservation laws for (2.21) by hand. Indeed, u̇n = Dt ρn = vn−1 − vn = [Jn − Jn+1 ] with Jn = vn−1 . We denote this first pair by ρ(1) n = un , Jn(1) = vn−1 . (2.21) 18 After some work, we obtain a second pair: 2 1 ρ(2) n = 2 un + vn , Jn(2) = un vn−1 . Key to our method is the observation that (2.5) and (2.21), together with the above densities and fluxes, are invariant under the dilation symmetry (t, un , vn ) → (λ−1 t, λun , λ2 vn ), (2.22) where λ is an arbitrary parameter. The result of this dimensional analysis can be stated as follows: un corresponds to one derivative with respect to t; for short, un ∼ Similarly, vn ∼ d2 . dt2 d . dt Scaling invariance, which is a special Lie-point symmetry, is an intrinsic property of many integrable nonlinear DDEs. For scaling invariant systems such as (2.9) and (2.21), it suffices to consider the dilation symmetry on the space of independent and dependent variables. Certainly, we may verify (2) (2) Dt ρ(2) n = [Jn − Jn+1 ], since Dt [ 12 un 2 + vn ] = un u˙n + v˙n = un (vn−1 − vn ) + vn (un − un+1 ) = un vn−1 − un+1 vn = [Jn(2) − Jn+1 (2) ]. 19 2.6 Tool 1: Equivalence criterion Definition 2.14 Two densities ρn , ρ̃n are called equivalent if ρn − ρ̃n ∈ Im ∆, i.e. ρn − ρ̃n = ∆Fn for some Fn . Equivalent densities, denoted as ρn ∼ ρ̃n , yield the same conservation law. Note that (2.8) expresses that ρn ∼ 0. It is easy to verify that compositions of D and D−1 define an equivalence relation on monomials. The equivalence criterion will be used in Step 3 of our first algorithm. Definition 2.15 In the algorithms in this thesis, we will use the following equivalence criterion: if two monomials, m1 and m2 , are equivalent, m1 ≡ m2 , then m1 − m2 = ∆Mn for some polynomial Mn that depends on un and its shifts. For example, m1 = un−2 un ≡ un−1 un+1 = m2 since un−2 un − un−1 un+1 = ∆Mn = Mn+1 − Mn = −un−1 un+1 − (−un−2 un ), (2.23) with Mn = −un−2 un . Definition 2.16 We call the main representative of an equivalence class, the monomial of that class with n as lowest label on u (or v). For example, un un+2 is the main representative of the class with elements un−2 un , un−1 un+1 , un+1 un+3 , etc. We use lexicographical ordering to resolve conflicts. That is, un vn+2 (not un−2 vn ) is the main representative in the class with elements un−3 vn−1 , un+2 vn+4 , etc. 20 Simply stated, all shifted monomials are equivalent. For example, un−1 vn+1 ≡ un+2 vn+4 ≡ un−3 vn−1 , with un vn+2 as the main representative. This equivalence relation holds for any function of the dependent variables, but for the construction of conserved densities we will apply it only to monomials. 2.7 Tool 2: The discrete Euler operator (variational derivative) Completely integrable PDEs and DDEs exhibit unique analytic properties. For instance, most completely integrable differential equations have infinitely many symmetries and conserved densities. For PDEs, in the computation of ρn and Jn , one has to determine whether or not E = Dt ρn can be written as −Dx Jn . To verify whether or not Jn exists, one can use a tool from variational calculus. It is well-known that a (continuous) function g(u(x), u0 (x), u00 (x), ..., un (x)) can be integrated with respect to x if and only if (iff) the variational derivative, Lu , of g vanishes. Formally, g = Dx h for some function h(u(x), u0 (x), u00 (x), ..., um (x)) iff Lu (g) = 0. Here, Dx refers to total differentiation with respect to x and Lu is the continuous Euler operator (variational derivative). In particular, a function is a conserved density of a PDE iff its time-derivative is in the kernel (Ker) of the Euler operator (see e.g. [13]). We now present a discrete analog of this important result. One can test for complete integrability by examining conservation laws of DDEs. Namely, E = Dt ρn = −∆Jn , where ρn is the density and Jn is the flux. If E = Dt ρn is a total difference, then E = Dt ρn can be written as [Jn −Jn+1 ], and if E = Dt ρn is not a total difference, then the nonzero terms must vanish identically. The discrete Euler operator (discrete variational derivative) is one tool to test if a discrete expression is a total difference. To verify whether or not E is a total difference we will now introduce the discrete analog of the Euler operator, denoted Lun . 21 Definition 2.17 The discrete Euler operator or discrete variational derivative, Lu , is identified with the following equation: q X Lun (g) = k=−p ∂g D−k ∂ u n+k ∂ g + Dp−1 ∂ g 0 ∂g −q ∂ g = Dp ∂ u ∂ un−p+1 + . . . + D ∂ un + . . . + D ∂ un+q .(2.24) n−p Note that we can rewrite the Euler operator as Lun (g) = ∂∂u n q X D−k g , (2.25) k=−p and that q X Dk ∆ = Dq+1 − D−p . k=−p If we know that ρn is a density, then E = Dt ρn is a total difference because E = Dt ρn = −∆Jn , where Jn is the flux associated with ρn . In summary, if Lun (E) = 0, then E = Dt ρn equals −∆Jn for some Jn , and vice versa. So, the Euler operator is most useful in our first algorithm. It will be utilized in Step 3 of our first algorithm. Example 2.4 Recall the semi-discrete KvM lattice identified by (2.9) . It is well known that ρ(3) = n 1 3 un 3 + un un+1 (un + un+1 + un+2 ), (2.26) Jn(3) = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ) (2.27) are a density-flux pair for (2.9). If we replace the correct numerical constants by 22 arbitrary constants, then 3 2 2 ρ(3) n = c1 un + c2 un un+1 + c3 un un+1 + c4 un un+1 un+2 (2.28) is the form of the density candidate. We compute Dt ρ(3) = 3c1 un 2 u̇n + c2 un 2 u̇n+1 + 2c2 un un+1 u̇n + 2c3 un un+1 u̇n+1 n +c3 un+1 2 u̇n + c4 un un+1 u̇n+2 + c4 un un+2 u̇n+1 + c4 un+1 un+2 u̇n .(2.29) After replacing the time derivatives (using (2.9)) we get E = Dt ρ(3) = 3c1 un 3 un+1 − 3c1 un−1 un 3 + c2 un 2 un+1 un+2 − c2 un 3 un+1 n +2c2 un 2 un+1 2 − 2c2 un−1 un 2 un+1 + 2c3 un un+1 2 un+2 − 2c3 un 2 un+1 2 +c3 un un+1 3 − c3 un−1 un un+1 2 + c4 un un+1 un+2 un+3 + c4 un un+1 un+2 2 +c4 un 2 un+1 un+2 − c4 un−1 un un+1 un+2 . (2.30) Applying the discrete Euler operator to E gives Lun (E) = q X k=−p D−k ∂ ∂u E n+k = Dp ∂ ∂u E + Dp−1 ∂ u∂ E + . . . + D0 ∂∂ uE + . . . + D−q ∂ ∂u E n−p n−p+1 n n+q = (9c1 un 2 un+1 − 3c2 un 2 un+1 − 9c1 un−1 un 2 + 2c2 un un+1 un+2 −2c4 un un+1 un+2 + 4c2 un u2n+1 − 4c3 un u2n+1 − 4c2 un−1 un un+1 +2c3 un+1 2 un+2 + c3 un+1 3 − c3 un−1 un+1 2 + c4 un+1 un+2 un+3 +c4 un+1 un+2 2 − c4 un−1 un+1 un+2 ) + D−1 (3c1 un 3 − c2 un 3 + c2 un 2 un+2 −c4 un 2 un+2 + 4c2 un 2 un+1 − 4c3 un 2 un+1 − 2c2 un−1 un 2 + 4c3 un un+1 un+2 23 +3c3 un un+1 2 − 2c3 un−1 un un+1 + c4 un un+2 un+3 + c4 un un+2 2 −c4 un−1 un un+2 ) + D−2 (c2 un 2 un+1 − c4 un 2 un+1 + 2c3 un un+1 2 +c4 un un+1 un+3 + 2c4 un un+1 un+2 − c4 un−1 un un+1 ) + D−3 (c4 un un+1 un+2 ) +D(−3c1 un 3 − 2c2 un 2 un+1 − c3 un un+1 2 − c4 un un+1 un+2 ) = 9c1 un 2 un+1 − 3c2 un 2 un+1 − 9c1 un−1 un 2 + 2c2 un un+1 un+2 −2c4 un un+1 un+2 + 4c2 un un+1 2 − 4c3 un un+1 2 − 4c2 un−1 un un+1 +2c3 un+1 2 un+2 + c3 un+1 3 − c3 un−1 un+1 2 + c4 un+1 un+2 un+3 + c4 un+1 un+2 2 −c4 un−1 un+1 un+2 + 3c1 un−1 3 − c2 un−1 3 + c2 un−1 2 un+1 − c4 un−1 2 un+1 +4c2 un−1 2 un − 4c3 un−1 2 un − 2c2 un−2 un−1 2 + 4c3 un−1 un un+1 + 3c3 un−1 un 2 −2c3 un−2 un−1 un + c4 un−1 un+1 un+2 + c4 un−1 un+1 2 − c4 un−2 un−1 un+1 +c2 un−2 2 un−1 − c4 un−2 2 un−1 + 2c3 un−2 un−1 2 + c4 un−2 un−1 un+1 +2c4 un−2 un−1 un − c4 un−3 un−2 un−1 + c4 un−3 un−2 un−1 − 3c1 un+1 3 −2c2 un+1 2 un+2 − c3 un+1 un+2 2 − c4 un+1 un+2 un+3 . Grouping like terms gives Lun (E) = (9c1 − 3c2 )un 2 un+1 + (−9c1 + 3c3 )un−1 un 2 + (2c2 − 2c4 )un un+1 un+2 +(4c2 − 4c3 )un un+1 2 + (−4c2 + 4c3 )un−1 un un+1 + (2c3 − 2c2 )un+1 2 un+2 +(−3c1 + c3 )un+1 3 + (−c3 + c4 )un−1 un+1 2 + (c4 − c4 )un+1 un+2 un+3 +(c4 − c3 )un+1 un+2 2 + (−c4 + c4 )un−1 un+1 un+2 + (3c1 − c2 )un−1 3 +(c2 − c4 )un−1 2 un+1 + (4c2 − 4c3 )un−1 2 un + (−2c2 + 2c3 )un−2 un−1 2 +(−2c3 + 2c4 )un−2 un−1 un + (−c4 + c4 )un−2 un−1 un+1 +(c2 − c4 )un−2 2 un−1 + (−c4 + c4 )un−3 un−2 un−1 . (2.31) 24 So, ρn will be a true density if E = Dt ρn is a total difference. Hence, Lun (E) = 0, which leads to the system −3c1 + c3 = 0, c3 − c4 = 0, 3c1 − c2 = 0, c2 − c4 = 0, c2 − c3 = 0. (2.32) Solving this linear system gives 3c1 = c2 = c3 = c4 . If we let c1 = 31 , then c2 = c3 = c4 = 1. So, application of the discrete variational derivative to E = Dt ρn and setting the resulting expression equal to zero provides the linear system of ci . Hence, once the form of ρn is known, we have reduced the problem of determining the constants to simple calculus and linear algebra. 25 Chapter 3 THE FIRST MATHEMATICAL METHOD AND ALGORITHM 3.1 The method The first algorithm requires solving the “total-difference” condition for the un- known density (ρn ) and then constructing the associated flux (Jn ). It can be described in three basic steps. First, it is necessary to determine the weights of the variables according to both Scale 1 and Scale 0. More formal definitions for Scale 1 and Scale 0 were discussed in Chapter 2. Then, we must construct the form of the density candidate. Finally, we determine the unknown coefficients in the density and the associated flux. Computation of the unknown coefficients can be done in two different ways. One may choose to compute the coefficients by using a “shifting” routine. Or, one may choose to compute the coefficients by employing the discrete Euler operator. 3.2 Steps of the algorithm Step 1: Determine the weights of the variables according to both Scales As mentioned previously in Chapter 2, (2.1) is either scaling invariant or can be made scaling invariant by introducing auxiliary weighted parameters. Therefore, every monomial in (2.1) has the same rank R. So, we get two different systems for the weights of the dependent variables. In Chapter 2, we used one scale, Scale 1, where d ) = 1. One can also consider the t is replaced by λ−1 t. This scale corresponds to w( dt 26 d ) = 0. case where t is left unscaled, i.e. t is replaced by λ0 t. Hence, w(t) = 0 or w( dt We call this Scale 0. The multiple-scale approach was suggested by Sanders [34]. We may then solve the two systems for the weights of the dependent variables. Step 2: Construct the form of the density This step involves finding the building blocks (monomials) of a polynomial density with a prescribed rank R. Recall that all terms in the density must have the same rank R. Since we may introduce parameters with weights, the fact that the density is a sum of monomials of uniform rank does not necessarily imply that the density must be uniform in rank with respect to the dependent variables. Let V be the list of all the variables with positive weights, including the parameters with weight. The following procedure is used to determine the form of the density of rank R: • Form the set G of all monomials of rank R or less by taking all appropriate combinations of different powers of the variables in V. • For each monomial in G, introduce the appropriate number of derivatives with respect to t so that all the monomials exactly have weight R. Gather in set H all the terms that result from computing the various derivatives. • Identify the monomials that belong to the same equivalence classes and replace them by the main representatives. Call the resulting simplified set I, which consists of the building blocks of the density with desired rank R. • Linear combinations of the elements in I with constant coefficients, ci , gives the form of polynomial density of rank R. 27 Using the linear combinations, construct a table of the terms in ρn based on Scale 1, d where w( dt ) = 1. Adjacent to the terms, record the rank of each term according to Scale 1 and also Scale 0. We may now group the terms by rank according to Scale 0. The new ρn candidate is a linear combination of any one of these groups of terms with constants ci for i = 1, 2, ...n. Note that for simple examples, using the multiple scale technique may not eliminate terms. Step 3: Determine the unknown coefficients The following “shifting” procedure simultaneously determines the constants, ci , and the form of the flux Jn : • Compute Dt ρn and use (2.1) to remove all t derivatives. Once we have replaced from (2.1) we represent Dt ρn as E. • Prior to replacement from (2.1), ρn depends on un , un+1 , . . . , un+q−1 , un+q , so ρn (un , un+1 , . . . , un+q−1 , un+q ), (3.1) where q is a positive integer as before, and q is furthest positive shift of any variable in ρn . However, after replacement from (2.1), Dt ρn = E depends on un−p̃ , un−p̃+1 , . . . , un+q̃−1 , un+q̃ , thus E(un−p̃ , un−p̃+1 , . . . , un+q̃−1 , un+q̃ ), (3.2) where p̃ and q̃ are positive integers as before, and p̃ is the furthest negative shift of any variable in E, and q̃ is furthest positive shift of any variable in E. For simplicity of notation, we will replace p̃ → p and q̃ → q. So, p always refers to the furthest negative shift of any variable and q represents the furthest positive shift of any variable. 28 • Use the equivalence criterion to modify E. The goal is to introduce the main representatives and to identify the terms that match the pattern [Jn − Jn+1 ]. In order to do so, we may add and subtract up-shifted or down-shifted monomials repeatedly to E until all main representatives are introduced. For example, if E = c1 un−1 un vn−1 , then we may add and subtract up-shifted or down-shifted monomials to get E = c1 un un+1 vn + [c1 un−1 un vn−1 − c1 un un+1 vn ]. Clever grouping ensures that E matches the pattern [Jn − Jn+1 ], where the flux is the first piece in the pattern [Jn − Jn+1 ]. Definition 3.1 If there are terms in E that do not match the pattern [Jn − Jn+1 ], then these terms form the obstruction. They must vanish identically (i.e. the coefficients for any combination of the components of un and their shifts must be zero). • We know from (2.5) that E = Dt ρn = −∆Jn = [Jn − Jn+1 ]. Setting the obstruction equal to zero leads to a linear system S in the unknowns, ci . • If S has parameters, careful analysis leads to conditions on these parameters guaranteeing the existence of densities. See [13] for a description of this compatibility analysis. Note that if we artificially introduced parameters to ensure scaling invariance, then there may be freedom in many of the constant coefficients in ρn . We set such arbitrary coefficients equal to 1 one at a time when determining the density. The first algorithm is implemented in Mathematica as DDEDensityFlux.m. A description of how the code was developed based on previous work is described in Chapter 4. We also explain how the software is used, and various implementation issues that were encountered. 29 Chapter 4 IMPLEMENTATION AND SOFTWARE As noted previously, the methods used in the new code DDEDensityFlux.m are based on some existing methods. These methods were already incorporated in condens.m, diffdens.m, and InvariantsSymmetries.m which were implemented in Mathematica. 4.1 Existing software An algorithm for the symbolic computation of polynomial conserved densities for systems of nonlinear evolution equations is presented in [13]. The algorithm is implemented in Mathematica and is called condens.m [10]. The code is tested on several well-known partial differential equations from soliton theory. For systems with parameters, condens.m can be used to determine the conditions on these parameters so that a sequence of conserved densities might exist. As with DDEs, the existence of a large number of conservation laws is a predictor for integrability of the system. A straightforward algorithm for the symbolic computation of generalized (higherorder) symmetries of nonlinear evolution equations and lattice equations is presented in [15] and [16]. The scaling properties of the evolution or lattice equations are used to determine the polynomial form of the generalized symmetries. The coefficients of the symmetry can be found by solving a linear system. The method applies to polynomial systems of PDEs of first-order in time and arbitrary order in one space variable. Likewise, lattices must be of first order in time but may involve arbitrary 30 shifts in the discretized space variable. The algorithm InvariantsSymmetries.m [12] is implemented in Mathematica and can be used to test the integrability of both nonlinear evolution equations and semi-discrete lattice equations. With InvariantsSymmetries.m, generalized symmetries are obtained for several well-known systems of evolution and lattice equations in [15] and [16]. For PDEs and lattices with parameters, the code allows one to determine the conditions on these parameters so that a sequence of generalized symmetries exists. The existence of a sequence of such symmetries is a predictor for integrability. The software package InvariantsSymmetries.m was used by Sakovich (Institute of Physics, National Academy of Sciences, Minsk, Belarus) and Tsuchida (Dept. of Physics, University of Tokyo, Tokyo, Japan) in the investigation of the integrability of coupled nonlinear Schrödinger equations. The new algorithm DDEDensityFlux.m is based on diffdens.m [11] described in [17] and [14]. The code diffdens.m computes conserved densities of nonlinear differential-difference equations. The code diffdens.m for conservation laws of DDEs was successfully used by Tsuchida, Ujino and Wadati in a study of integrable semi-discretizations of the coupled modified Korteweg- de Vries equations [42, 43] and the study of integrable semidiscretizations of the coupled nonlinear Schrödinger equations [44]. Although condens.m, InvariantsSymmetries.m, and diffdens.m are precursors to the new algorithm DDEDensityFlux.m, there are many notable improvements to the new code. The additions included in DDEDensityFlux.m make the software much more reliable and able to calculate conservation laws for a much broader class of DDEs. 31 4.2 The new code DDEDensityFlux.m New to DDEDensityFlux.m is the implementation of the direct computation of the flux. This is a great improvement to the package because now the software is completely self-testing. In fact, the code automatically verifies (2.5). The implementation of the discrete Euler operator to solve for the unknown constants is also new. The previous method of solving for such constants involved a “shifting” technique that is also described in this thesis. Utilizing the discrete Euler operator gives a much more mathematical calculation of conserved densities. However, as mentioned earlier, the discrete Euler operator does not solve for the flux directly. In addition, earlier versions of this package only consider a single-scale approach. The multi-scale approach is an improvement since now we can simplify the density candidate by separating it into pieces that are uniform in rank according to Scale 0. Therefore, we can calculate densities and fluxes for much more complicated systems of DDEs. This version of the software includes implementation of a new way to form the density including shifts on the dependent variable. Computation of some conservation laws is greatly simplified by introducing shifts on the dependent variable when building up the density candidate. The new code allows for two different choices to determine the shifted dependent variables. The two ways to consider the shifts are explained more in detail in Introducing Shifts in Chapter 5. Finally, DDEDensityFlux.m has an improved linear systems analyzer. New to the code is the simplification of the linear system before it is analyzed. In other words, it eliminates any duplicate results for the ci and uses any ci equal to zero when analyzing the rest of the equations in the linear system. So, the new code may now 32 handle more complicated linear systems for the unknown constants, ci . So, the ideas used in condens.m, InvariantsSymmetries.m, and diffdens.m are utilized in our new software package DDEDensityFlux.m. Although some of the algorithm was previously developed and implemented in diffdens.m, the new version of DDEDensityFlux.m includes many important improvements. These improvements not only make the DDEDensityFlux.m more reliable than previous versions, but they also make it possible to compute conservation laws for much more complicated DDEs. Some of these more complex systems are investigated in Chapter 7 of this thesis. DDEDensityFlux.m is written and implemented in Mathematica. The program DDEDensityFlux.m and all data files are available via anonymous FTP from mines.edu. The login name is anonymous and the password is your email address. The files are in the subdirectory pub/papers/math cs dept/software/DDEDensityFlux.m. The software is also available from the scientific section of Hereman’s homepage with URL: http://www.mines.edu/fs home/whereman/. DDEDensityFlux.m automatically carries out the tedious calculations needed to determine conserved densities and fluxes for nonlinear systems of DDEs. The code is completely menu driven which makes it very easy to use. We now proceed with an example of how the software is used. 4.3 Using the software: A sample session Consider the example for determining ρn and Jn of the KvM lattice of rank R=3. In[1]:= << DDEDensityFlux.m Reads in the code << DDEDensityFlux.m, and produces the following menu: *** MENU INTERFACE *** (page: 1) 33 ------------------------------------------------------------1) Kac-van Moerbeke Equation (d kdv.m) 2) Modified KdV Equation (with parameter) (d mkdv.m) 3) Modified (quadratic) Volterra Equation (d molvol.m) 4) Ablowitz-Ladik Discretization of NLS Equation (d ablnl1.m) 5) Toda Lattice (d toda.m) 6) Standard Discretization of NLS Equation (d stdnls.m) 7) Herbst/Taha Discretization of KdV Equation (d diskdv.m) 8) Herbst/Taha Discretization of mKdV Equation (d dimkdv.m) 9) Herbst/Taha Discretization of combined KdV-mKdV Equation (d herbs1.m) 10) Self-Dual Network Equations (d dual.m) nn) Next Page tt) Your System qq) Exit Program ------------------------------------------------------------Taking option nn shows the remaining data cases *** MENU INTERFACE *** (page: 2) ------------------------------------------------------------11) Parameterized Toda Lattice (d ptoda.m) 12) Generalized Toda Lattice-1 (d gtoda1.m) 13) Generalized Toda Lattice-2 (d gtoda2.m) 14) Henon System (d henon.m) nn) Next Page 34 tt) Your System qq) Exit Program ------------------------------------------------------------Selecting choice 1 in the menu, the code continues with **************************************************************** WELCOME TO THE MATHEMATICA PROGRAM by UNAL GOKTAS, WILLY HEREMAN, AND HOLLY EKLUND FOR THE COMPUTATION OF CONSERVED DENSITIES AND FLUXES. Version 3 released on January 10, 2003 Copyright 1998-2003 **************************************************************** Working with the data file for the Kac-van Moerbeke (or Volterra) Equation. Equation 1 of the system with 1 equation(s): (u1,n )0 = u1,n (−(u1,−1+n ) + u1,1+n ) Note that u1,n is representative of un . If there were a u2,n , it would represent of vn , and u3,n would represent wn , etc. LINEAR SYSTEM FOR THE WEIGHTS CORRESPONDING TO w(d/dt)=0: {zeroweightu[1]==2 zeroweightu[2]} SOLUTION OF THE SCALING EQUATIONS for w(d/dt)=0: {zeroweightu[1] → 0} LINEAR SYSTEM FOR THE WEIGHTS CORRESPONDING TO w(d/dt)=1: 35 {2 weightu[1]==1+weightu[1]} SOLUTION OF THE SCALING EQUATIONS for w(d/dt)=1: {weightu[1] → 1} Program determines the weights of the variables (and parameters) corresponding to w(d/dt)=1. For the given system: * weight of u[1] and all its shifts is 1. The rank of the rho should be an integer multiple of the lowest weight of the DEPENDENT variable(s). Fractional weights are allowed. ENTER YOUR CHOICE: 1 Enter the rank of rho: 3 This produces the following density-flux pair: **************************************************************** This is the density, rho: 1 3 (u1,n )3 + (u1,n )2 (u1,1+n ) + (u1,n )(u1,1+n 2 ) + (u1,n )(u1,1+n )(u1,2+n ) The density has no free coefficients. Saving the density in an output file. **************************************************************** 36 The corresponding flux J is: −(u1,−1+n )(u1,n 3 ) − 2(u1,−1+n )(u1,n 2 )(u1,1+n ) − (u1,−1+n )(u1,n )(u1,1+n 2 ) − (u1,−1+n )(u1,n )(u1,1+n )(u1,2+n ) The flux has no free coefficients. **************************************************************** Apart from having access to Mathematica, users need to have the program and the data files ready in the same directory. One may create a data file similar to those given in the Appendix, and import it by choosing the tt option. 4.4 Options for the user Our software package leaves a great deal of flexibility to the user. In the data file, like those in the Appendix, the user must assign True or False values to force flags. Depending on the posed problem and the desired result, the user may opt from the following choices: • Scale Options forcesinglescale = True, and forcemultiplescale = False: The software only uses Scale 1 when determining ρn and Jn . forcesinglescale = False, and forcemultiplescale = True: The software uses Scale 1 and Scale 0 when determining ρn and Jn . forcesinglescale = False, and forcemultiplescale = False: 37 The software decides whether to use only Scale 1 when determining ρn and Jn , or both Scale 1 and Scale 0 depending on necessity. • Density Form Options forceshiftsinrho = True: The software includes extra shifts when computing the form of ρn . forceshiftsinrho = False: The software does not use additional shifts when computing the form of ρn . • Shifting Options forcemaximumshiftrhsdde = True, and forcemaximumshiftpowers = False: The software builds up the form of ρn with shifts depending on the furthest shift on any variable occurring in the DDE system. This is explained in more detail as the first method in Introducing Shifts in Chapter 5. forcemaximumshiftrhsdde = False, and forcemaximumshiftpowers = True: The software builds up the form of ρn with shifts depending on the highest power on any of the monomials. This is explained in more detail as the second method in Introducing Shifts in Chapter 5. forcemaximumshiftrhsdde = False, and forcemaximumshiftpowers = False: The software sets the highest possible shift on any monomial to be 1 by default. • Option for Determining Obstruction and System of Constants forcediscreteeuler = True, forceshifting = False: 38 The software applies the discrete Euler operator to determine the obstruction and linear system for the constants, ci . This will be illustrated for the KvM, Toda, and AL lattices in Chapter 5. forceshifting = True, forcediscreteeuler = False: The software uses the “shifting” technique to compute the obstruction and linear system for the constants, ci . This will also be illustrated for the KvM, Toda, and AL lattices in Chapter 5. • Options for Simplifying System of Constants forcestripparameters = True: The software automatically removes powers of the non-zero parameters. For example, it removes coefficients like α, β 3 , but not (α2 − β) or (α + β)4 . forceextrasimplifications = True: The software applies any ci = 0 to the remaining equations in the system. Thus, we have produced a flexible Mathematica package DDEDensityFlux.m to compute conserved densities and fluxes for DDEs where the user may pick and choose from the above options. 4.5 Implementation issues Recall that our algorithm is a simple three step algorithm to compute conserved densities and fluxes for DDEs. New to our algorithm is the computation of fluxes and the implementation of the discrete Euler operator option. The calculation of fluxes for DDEs is implemented in the following manner: 39 1. The software takes E and forms a list of the terms, (i.e. {c[7]u[1][-3+n,t]u[1][n,t]u[2][-3+n,t],. . . }). It considers each term separately. 2. It then separates each term into lists according to the dependent variables, (i.e.{u[1][-3+n,t]u[1][n,t]}, {u[2][-3+n,t]}). 3. The software considers the furthest negative shift in the first dependent variable, (i.e. -3). Note that this value could be zero or it could be positive. 4. It lists the terms and their shifts appropriately depending on the furthest negative shift, (i.e. {c[7]u[1][-3+n,t]u[1][n,t]u[2][-3+n,t], c[7]u[1][-2+n,t]u[1][1+n,t]u[2][-2+n,t], c[7]u[1][-1+n,t]u[1][2+n,t]u[2][-1+n,t], c[7]u[1][n,t]u[1][3+n,t]u[2][n,t]}. Note that for a zero shift, only the term itself would appear in this list. Note that for a positive shift, the list of terms would be shifted in the opposite (down) direction. 5. The software lists terms that go in the obstruction. These are the main representatives of the previous list, (i.e. c[7]u[1][n,t]u[1][3+n,t]u[2][n,t]). 6. The rest of the terms listed go into the flux list, or Jn list, (i.e. {c[7]u[1][-3+n,t]u[1][n,t]u[2][-3+n,t], c[7]u[1][-2+n,t]u[1][1+n,t]u[2][-2+n,t], c[7]u[1][-1+n,t]u[1][2+n,t]u[2][-1+n,t]}). 40 7. Then, the software considers the next term in E. It repeats the above process and adds the appropriate parts to the obstruction or appends the appropriate part to the Jn list. 8. Finally, the software takes the Jn list and adds each term together to determine the flux, Jn . The terms in the obstruction list must vanish. So, this will determine the system for the constants. The calculation of the fluxes is key. Computing densities as well as fluxes allows for automated verification of (2.5). This makes our software completely self-testing. As previously mentioned, the discrete Euler operator, or the discrete variational derivative, may be chosen by the user as a method to determine the linear system for the constants. It is implemented in the following way: 1. The software considers each dependent variable separately, (i.e. u[1][n,t] first, u[2][n,t] second, etc.). 2. It takes the partial derivative of E with respect to the positive shifted terms. 3. The software then applies the appropriate number of down-shifts. 4. It computes the partial derivative of E with respect to the negative shifted terms. 5. The software applies the appropriate number of up-shifts to this result. 6. It takes the partial derivative of E with respect to the non-shifted terms. 7. Then, the software adds the above results. 8. The software groups the unknown coefficients of like monomials, (i.e. c1 un un+1 + c3 un un+1 → (c1 + c3 )un un+1 ) . 41 9. The coefficients of these monomials are set equal to zero, leading to a subsystem for the constants. 10. The process is repeated for each dependent variable. 11. The subsystems are joined to produce the global system for the constants. To illustrate our first algorithm we proceed with a few simple examples in Chapter 5. As previously noted, once we have computed the E in Step 3, there is an alternative way to compute the obstruction and form a linear system S in the unknowns, ci . Instead of using the “shifting” procedure, one can use the Euler operator (or variational derivative). The advantage to utilizing the Euler operator is that it computes the obstruction directly, and gives us the linear system to determine the unknowns, ci . However, the Euler operator does not calculate the flux simultaneously as the “shifting” procedure does. Instead, once the unknowns (ci ) are determined, we replace them in the density candidate from Step 2, and computation of the Jn is greatly simplified. Examples illustrating use of the Euler operator follow each leading example. 42 Chapter 5 COMPUTATION OF CONSERVATION LAWS We will use the first algorithm to compute densities and fluxes for three examples. First, we will return to the KvM lattice. Next, we will return to the Toda lattice. Finally, we will examine completely new DDE. This third example is a parameterized system known as the Ablowitz-Ladik lattice. Application of the Euler operator follows each of these leading examples. 5.1 The Kac-van Moerbeke lattice Example 5.1 (The Kac-van Moerbeke lattice) Again consider the KvM lattice [25, 31, 32] given by u̇n = un (un+1 − un−1 ). (5.1) The KvM lattice most conveniently illustrates the first algorithm. Recall that it is invariant under the dilation symmetry (t, un ) → (λ−1 t, λun ). Hence, un corresponds to one derivative with respect to t, i.e. un ∼ (5.2) d . dt 43 Step 1: Determine the weights of the variables according to both Scales d Scale 1: When w( dt ) = 1, all terms in (5.1) have the same rank if w(un ) + 1 = 2w(un ). Thus, w(un ) = 1, which agrees with the dilation symmetry (5.2). d ) = 0, the terms in (5.1) have the same rank when Scale 0: When w( dt w(un ) + 0 = 2 w(un ), thus, w(un ) = 0 which is the trivial case. So, as expected, we will see that Scale 0 for this simple case will not improve the algorithm. Step 2: Construct the form of the density Let us find the form of density with rank R=3 of (5.1). Forming all monomials of un with rank 3 or less yields the list G = {un 3 , un 2 , un }. Introducing the necessary t-derivatives, leads to H = {un 3 , un 2 un+1 , un−1 un 2 , un un+1 2 , un−1 un un+1 , un un+1 un+2 , un−2 un−1 un , un−1 2 un }. Using un−2 un−1 un ≡ un−1 un un+1 ≡ un un+1 un+2 , un−1 un 2 ≡ un un+1 2 and un−1 2 un ≡ un 2 un+1 , we obtain the list I = {un 3 , un 2 un+1 , un un+1 2 , un un+1 un+2 }. Recall from (2.28) that linear combination of the terms in I with constant coefficients, ci , gives 3 2 2 ρ(3) n = c1 un . + c2 un un+1 + c3 un un+1 + c4 un un+1 un+2 (5.3) In Table 5.1, the terms are listed in the first column. The rank of the term according to Scale 0 is listed in the second column. The rank of the term according to Scale 1 44 is listed in the third column. Term c 1 un 3 c2 un 2 un+1 c3 un un+1 2 c4 un un+1 un+2 Scale 0 Scale 1 0 3 0 3 0 3 0 3 Table 5.1. Ranks of terms in density candidate (R=3) for the KvM lattice All terms have the same rank (0) according to Scale 0. Therefore, we are unable to split up the ρn candidate into different choices according to Scale 0. We can see that for this example, the process of considering various scales was trivial since all of the terms should be included. In more complicated cases, the use of Scale 0 will be beneficial. We merely demonstrated the process here for clarity. Step 3: Determine the unknown coefficients If we take the derivative of ρn in (5.3) with respect to time we get Dt ρ(3) = 3c1 un 2 u̇n + c2 un 2 u̇n+1 + 2c2 un un+1 u̇n + 2c3 un un+1 u̇n+1 n +c3 un+1 2 u̇n + c4 un un+1 u̇n+2 + c4 un un+2 u̇n+1 + c4 un+1 un+2 u̇n , (5.4) where u̇n = un un+1 − un−1 un , u̇n+1 = un+1 un+2 − un+1 un , u̇n+2 = un+2 un+3 − un+2 un+1 . (5.5) 45 The goal is to introduce the main representatives. Using substitution of (5.5) into (5.4) and using the equivalence criterion un−1 un 2 ≡ un un+1 , un−1 un un+1 ≡ un−2 un−1 un ≡ un un+1 un+2 , (5.6) we get E = Dt ρ(3) = 3c1 un 3 un+1 − 3c1 un−1 un 3 + c2 un 2 un+1 un+2 − c2 un 3 un+1 n +2c2 un 2 un+1 2 − 2c2 un−1 un 2 un+1 + 2c3 un un+1 2 un+2 − 2c3 un 2 un+1 2 +c3 un un+1 3 − c3 un−1 un un+1 2 + c4 un un+1 un+2 un+3 + c4 un un+1 un+2 2 +c4 un 2 un+1 un+2 − c4 un−1 un un+1 un+2 . (5.7) After shifting and regrouping we obtain Dt ρn = (3c1 − c2 )un 3 un+1 + (c3 − 3c1 )un un+1 3 + 2(c2 − c3 )un 2 un+1 2 +2(c3 − c2 )un un+1 2 un+2 + (c2 − c4 )un 2 un+1 un+2 + (c4 − c3 )un un+1 un+2 2 +[(−3c1 un−1 un 3 − 2c2 un−1 un 2 un+1 − c3 un−1 un un+1 2 − c4 un−1 un un+1 un+2 ) −(−3c1 un un+1 3 − 2c3 un un+1 2 un+2 − c3 un un+1 un+2 2 −c4 un un+1 un+2 un+3 )]. (5.8) The monomials outside the square brackets in (5.8) must vanish. This yields S = {3c1 − c2 = 0, 3c1 − c3 = 0, c2 − c3 = 0, c2 − c4 = 0, c3 − c4 = 0}. Choosing c1 = 31 , one has c2 = c3 = c4 = 1. (5.9) 46 The flux is determined by the first part of the square brackets. So, Jn = −(3c1 un−1 un 3 + 2c2 un−1 un 2 un+1 + c3 un−1 un un+1 2 + c4 un−1 un un+1 un+2 ).(5.10) Therefore, replacing the values for the constants in (5.3) gives ρn = 1 3 un 3 + un un+1 (un + un+1 + un+2 ). (5.11) Replacing the values for the constants in (5.10) results in Jn = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ). (5.12) Analogously, for (5.1) we computed the densities of rank ≤ 5 : ρ(1) = un , n (5.13) ρ(2) = n 1 u 2 2 n + un un+1 , (5.14) ρ(3) = n 1 u 3 3 n + un un+1 (un + un+1 + un+2 ), (5.15) ρ(4) = n 1 u 4 4 n + un 3 un+1 + 32 un 2 un+1 2 + un un+1 2 (un+1 + un+2 ) +un un+1 un+2 (un + un+1 + un+2 + un+3 ), ρ(5) = n 1 u 5 5 n (5.16) + un un+1 (un 3 + un+1 3 ) + 2un 2 un+1 2 (un + un+1 ) +un un+1 un+2 (un 2 + un un+2 + un+1 un+3 ) + 3un un+1 2 un+2 (un + un+1 + un+2 ) + un un+1 un+2 2 (un+2 + un+3 ) +un un+1 un+2 un+3 (un + un+1 + un+2 + un+3 + un+4 ). (5.17) We now return to the application of the discrete Euler operator to the KvM lattice, previously discussed in Chapter 2. 47 Example 5.2 (The Kac-van Moerbeke lattice revisited) To reiterate, there is an alternative way to form the linear system of ci using the variational derivative (or Euler operator) which becomes effective in Step 3 of our first algorithm. We have already computed Dt ρ(3) n for the KvM lattice (5.1) in Step 3 of our first algorithm. Recall from Chapter 2, that after replacement from (5.1), Dt ρ(3) n reduced to E = Dt ρ(3) = 3c1 un 3 un+1 − 3c1 un−1 un 3 + c2 un 2 un+1 un+2 − c2 un 3 un+1 n +2c2 un 2 un+1 2 − 2c2 un−1 un 2 un+1 + 2c3 un un+1 2 un+2 − 2c3 un 2 un+1 2 +c3 un un+1 3 − c3 un−1 un un+1 2 + c4 un un+1 un+2 un+3 + c4 un un+1 un+2 2 +c4 un 2 un+1 un+2 − c4 un−1 un un+1 un+2 . (5.18) . Applying the Euler operator or variational derivative to (5.18) gives −3c1 + c3 = 0, c3 − c4 = 0, 3c1 − c2 = 0, c2 − c4 = 0, c2 − c3 = 0. (5.19) Hence, if c1 = 31 , then c2 = c3 = c4 = 1. Inserting the values for the constants into (5.3) gives ρn = 1 3 un 3 + un un+1 (un + un+1 + un+2 ). (5.20) 48 The computation of Jn of rank R=4 will be simplified since we already determined the constants. In order to compute Jn we take the total derivative of ρn , replace t-derivatives using (5.1), and group terms with un−1 together and terms with un together. This results in Dt ρn = (−un−1 un 3 − 2un−1 un 2 un+1 − un−1 un un+1 2 − un−1 un un+1 un+2 ) −(−un un+1 3 − 2un un+1 2 un+2 − un un+1 un+2 2 −un un+1 un+2 un+3 ). (5.21) By (2.5) it is evident that Jn matches the first part of the pattern in (5.21). Therefore, Jn = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ). 5.2 (5.22) The Toda lattice Example 5.3 (The Toda lattice) The Toda lattice illustrates how our first algorithm works for multi-component DDEs. Recall u̇n = vn−1 − vn , v̇n = vn (un − un+1 ). (5.23) As mentioned in Chapter 2, it is invariant under (t, un , vn ) → (λ−1 t, λun , λ2 vn ). (5.24) 49 Step 1: Determine the weights of the variables according to both Scales Requiring uniformity in rank for each equation in (5.23) allows one to compute the weights of the dependent variables. d ) = 1, then Scale 1: If w( dt w(un ) + 1 = w(vn ), w(vn ) + 1 = w(un ) + w(vn ). So, w(un ) = 1, w(vn ) = 2, which is consistent with (5.24). d Scale 0: When w( dt ) = 0, then w(un ) = 0 and w(vn ) = 0 which is again trivial. Step 2: Construct the form of the density As an example, let us compute the form of the density of rank R=3. we first list all monomials in un and vn of rank 3 or less: G = {un 3 , un 2 , un vn , un , vn }. Next, for each monomial in G, we introduce enough t-derivatives, so that each term exactly has weight 3. Thus, using (5.23), d0 (un 3 ) = un 3 , dt0 d0 (un vn ) = un vn , dt0 d (un 2 ) = 2un u̇n = 2un vn−1 − 2un vn , dt d (vn ) = v̇n = un vn − un+1 vn , dt d2 d d (u̇n ) = (vn−1 − vn ) = un−1 vn−1 − un vn−1 − un vn + un+1 vn . 2 (un ) = dt dt dt Gathering any resulting terms gives set H = {un 3 , un vn−1 , un vn , un−1 vn−1 , un+1 vn }. Next, we identify members that belong to the same equivalence classes and replace them by the main representatives. For example, since un vn−1 ≡ un+1 vn both are re- 50 placed by un vn−1 . Doing so, H is replaced by I = {un 3 , un vn−1 , un vn }, which contains the building blocks of the density. Linear combination of the monomials in I with constant coefficients, ci , gives the form of the density: ρn = c1 un 3 + c2 un vn−1 + c3 un vn . (5.25) As before, listing the various ranks of the monomials gives Table 5.2. Term c1 un 3 c2 un vn−1 c3 un v n Scale 0 Scale 1 0 3 0 3 0 3 Table 5.2. Ranks of terms in density candidate (R=3) for the Toda lattice So, again Scale 0 does not allow any simplification. All terms must be included when building up ρn . Step 3: Determine the unknown coefficients Now we determine the coefficients c1 through c3 by requiring that (2.5) holds. During this step we also compute the unknown flux Jn using the “shifting” procedure. Taking the total derivative of (5.25), and replacing all u̇n+p from (5.23) gives E = Dt ρn = 3c1 un 2 vn−1 − c2 un 2 vn−1 + c3 un 2 vn − 3c1 un 2 vn +c3 vn−1 vn − c2 vn−1 vn + c2 un−1 un vn−1 + c2 vn−1 2 −c3 un un+1 vn − c3 vn 2 . (5.26) 51 After shifting and regrouping we get, Dt ρn = (3c1 − c2 )un 2 vn−1 + (c3 − 3c1 )un 2 vn +(c3 − c2 )vn vn+1 + [(c3 − c2 )vn−1 vn − (c3 − c2 )vn vn+1 ] +c2 un un+1 vn + [c2 un−1 un vn−1 − c2 un un+1 vn ] +c2 vn 2 + [c2 vn−1 2 − c2 vn 2 ] − c3 un un+1 vn − c3 vn 2 . (5.27) Next, we group the terms outside of the square brackets and move the pairs inside the square brackets to the bottom. We rearrange the latter terms so that they match the pattern [Jn − Jn+1 ]. Hence, Dt ρn = (3c1 − c2 )un 2 vn−1 + (c3 − 3c1 )un 2 vn +(c3 − c2 )vn vn+1 + (c2 − c3 )un un+1 vn + (c2 − c3 )vn 2 +[{(c3 − c2 )vn−1 vn + c2 un−1 un vn−1 + c2 vn−1 2 } −{(c3 − c2 )vn vn+1 + c2 un un+1 vn + c2 vn 2 }]. (5.28) The terms outside the square brackets must all vanish, yielding S = {3c1 − c2 = 0, 3c1 − c3 = 0, c2 − c3 = 0}. (5.29) The solution is 3c1 = c2 = c3 . Since densities can only be determined up to a multiplicative constant, we choose c1 = 31 , c2 = c3 = 1. The terms inside the square brackets determine that Jn = (c3 − c2 )vn−1 vn + c2 un−1 un vn−1 + c2 vn−1 2 . (5.30) 52 Substituting the values for the constants into (5.25) and (5.30) gives ρn = 31 un 3 + un (vn−1 + vn ) (5.31) and Jn = un−1 un vn−1 + vn−1 2 . (5.32) Analogously, we computed conserved densities of rank ≤ 5 for (5.23). They are: ρ(1) = un , n (5.33) ρ(2) = n 1 u 2 2 n + vn , (5.34) ρ(3) = n 1 u 3 3 n + un (vn−1 + vn ), (5.35) ρ(4) = n 1 u 4 4 n + un 2 (vn−1 + vn ) + un un+1 vn + 21 vn 2 + vn vn+1 , (5.36) ρ(5) = n 1 u 5 5 n + un 3 (vn−1 + vn ) + un un+1 vn (un + un+1 ) +un vn−1 (vn−2 + vn−1 + vn ) + un vn (vn−1 + vn + vn+1 ). (5.37) Ignoring irrelevant shifts in n, these densities agree with the results in [18]. Example 5.4 (The Toda lattice revisited) Instead of using the “shifting” method, we alternatively proceed by using the Euler operator (or variational derivative) as was done previously for (5.1). However, the Toda lattice is a two component system so we must use the variational derivative for each component separately. First, we consider the un component, then the vn component. By applying the Euler operator for un to (5.26) we get the following: Lun (E) = q X k=−p D−k ∂ ∂u E n+k 53 = Dp ∂ ∂u E + Dp−1 ∂ u∂ E + . . . + D0 ∂∂ uE + . . . + D−q ∂ ∂u E , n−p n−p+1 n n+q where p is the furthest negative shift on any un term and q is the furthest positive shift on any un term. Here, p = 1 and q = 1 . So, Lun (E) = 6c1 un vn−1 − 2c2 un vn−1 + 2c3 un vn − 6c1 un vn − c3 un+1 vn −c3 un−1 vn−1 + c2 un+1 vn . Grouping like terms gives Lun (E) = (6c1 − 2c2 )un vn−1 + (2c3 − 6c1 )un vn + (c2 − c3 )un−1 vn−1 +(c3 − c2 )un+1 vn . (5.38) As before, we require Lun (E) ≡ 0. This produces the following linear system: 3c1 − c2 = 0, 3c1 − c3 = 0, c2 − c3 = 0. Then, by applying the Euler operator for vn to (5.26) we get: Lvn (E) = q X k=−p D−k ∂∂v E n+k = Dp ∂∂v E + Dp−1 ∂ v∂ E + . . . + D0 ∂∂ vE + . . . + D−q ∂∂v E , n−p n−p+1 n n+q (5.39) 54 This time, p = 1 and q = 0, hence Lvn (E) = c3 un 2 − 3c1 un 2 + c3 vn−1 − c2 vn−1 − c3 un un+1 − 2c3 vn + 3c1 un+1 2 −c2 un+1 2 + c3 vn+1 − c2 vn+1 + c2 un un+1 + 2c2 vn . Grouping terms gives Lvn (E) = (c3 − 3c1 )un 2 + (c3 − c2 )vn−1 + (−c3 + c2 )un un+1 + (−2c3 + 2c2 )vn +(3c1 − c2 )un+1 2 + (c3 − c2 )vn+1 . (5.40) Setting Lvn (E) ≡ 0 results again in (5.39), which coincides with S in (5.29). Solving this system gives 3c1 = c2 = c3 . If we set c1 = 1 3 then c2 = c3 = 1. Substituting these values into (5.25) gives ρn = 31 un 3 + un (vn−1 + vn ). (5.41) Again, now that we know the constants, computation of the Jn is greatly simplified. Taking the total derivative of ρn , replacing from (2.21), and grouping terms gives Dt ρn = (un−1 un vn−1 + vn−1 2 ) − (un un+1 vn + vn 2 ) = [Jn − Jn+1 ]. (5.42) So, Jn = un−1 un vn−1 + vn−1 2 . Next, we will examine a completely new parameterized DDE. (5.43) 55 5.3 The Ablowitz-Ladik lattice Example 5.5 (The Ablowitz-Ladik lattice) In [2, 3], Ablowitz and Ladik studied properties of the following integrable discretizations of the Nonlinear Schrödinger (NLS) equation: i u̇n = un+1 − 2un + un−1 ± u∗n un (un+1 + un−1 ), (5.44) where u∗n is the complex conjugate of un . We continue with the + sign; the other case is analogous. Instead of splitting un into its real and imaginary parts, we treat un and vn = u∗n as independent variables and augment (5.44) with its complex conjugate equation. Absorbing i in the scale on t, we get u̇n = un+1 − 2un + un−1 + un vn (un+1 + un−1 ), v̇n = −(vn+1 − 2vn + vn−1 ) − un vn (vn+1 + vn−1 ). (5.45) Since vn = u∗n , we have w(vn ) = w(un ). 5.3.1 Introducing a first weighted parameter (α) Neither of the equations in (5.45) is uniform in rank. To circumvent this problem we introduce an auxiliary parameter α with weight, and replace (5.45) by u̇n = α(un+1 − 2un + un−1 ) + un vn (un+1 + un−1 ), v̇n = −α(vn+1 − 2vn + vn−1 ) − un vn (vn+1 + vn−1 ). (5.46) 56 Step 1: Determine the weights of the variables according to both Scales d Scale 1: Uniformity in rank requires that for w( dt ) = 1, w(un ) + 1 = w(α) + w(un ) = 2w(un ) + w(vn ), w(vn ) + 1 = w(α) + w(vn ) = 2w(vn ) + w(un ), which yields w(vn ) = 1 − w(un ), w(α) = 1, or, un 2 ∼ vn 2 ∼ α ∼ (5.47) d . dt d Scale 0: However, since w( dt ) = 0, makes w(vn ) = −w(un ), and requires that w(α) = d ) = 1. 0, the candidate expression for ρn could not depend on α as it does when w( dt 5.3.2 Introducing a second weighted parameter (β) Therefore, we must introduce yet another parameter β when using multiple scales. This transforms (5.46) into u̇n = α(βun+1 − 2βun + βun−1 ) + un vn (βun+1 + βun−1 ), v̇n = −α(βvn+1 − 2βvn + βvn−1 ) − un vn (βvn+1 + βvn−1 ). (5.48) The computations now proceed as in the previous examples. So, d ) + w(un ) = w(α) + w(β) + w(un ) = 2w(un ) + w(β) + w(vn ), dt d w( ) + w(vn ) = w(α) + w(β) + w(vn ) = 2w(vn ) + w(β) + w(un ). (5.49) dt w( d Scale 1: For Scale 1, where w( dt ) = 1, w(α) + w(β) = w(un ) + w(β) + w(vn ) = 1, w(α) + w(β) = w(vn ) + w(β) + w(un ) = 1. (5.50) 57 Therefore, w(α) = 1−w(β) and w(un ) = 1−w(β)−w(vn ). There is too much freedom in these weight values. In order to proceed, we pick w(vn ) = implies w(un ) = 1 4 1 4 and w(β) = 12 . This and w(α) = 12 . d ) = 0, Scale 0: For Scale 0, where w( dt w(α) + w(β) = w(un ) + w(β) + w(vn ) = 0, w(α) + w(β) = w(vn ) + w(β) + w(un ) = 0. (5.51) So, w(α) = −w(β) and w(un ) = −w(β) − w(vn ). Step 2: Construct the form of the density Let us find the form of density with rank R= 21 of (5.48). Forming all monomials of un with rank R= 12 or less yields the list G = {un 2 , un vn , vn 2 , un , vn }. In this case, we cannot introduce any t-derivatives. Therefore, H = {un 2 , un vn , vn 2 } = I each of rank R= 21 . So, I = H = {un 2 , un vn , vn 2 }. A linear combination of the terms in I with constant coefficients, ci , gives ρn = c 1 u n 2 + c 2 u n v n + c 3 v n 2 . (5.52) Table 5.3 lists the terms without shifts in the density in the first column, and their respective ranks according to both Scale 0 and Scale 1 in the columns that follow. Term c 1 un 2 c 2 un v n c3 vn 2 Scale 0 Scale 1 1 −2w(β) − 2w(vn ) 2 1 −w(β) 2 1 2w(vn ) 2 Table 5.3. Ranks of terms in density candidate (R= 12 ) for the AL lattice 58 So, there are three different choices, where each of the monomials are uniform in rank according to Scale 0. • Choice 1 is a scalar multiple of the term of rank −w(β) . • Choice 2 is a scalar multiple of the term of rank −2w(β) − 2w(vn ) . • Choice 3 is a scalar multiple of the term of rank −2w(vn ) . Considering each of these choices separately simplifies the computations since we may now address each case separately. Step 3: Determine the unknown coefficients Choice 1 gives ρn = c1 un vn . So, Dt ρn = c1 un v̇n + c1 u̇n vn . Again, replacing the u̇n from the (5.48) and performing the necessary shifts gives c1 = 0. However, we could have considered Choice 2, or Choice 3. Choice 2 gives ρn = c1 un 2 . So, Dt ρn = 2c1 un u̇n . Replacing the u̇n from (5.48) and performing the necessary shifts gives c1 = 0. Finally, Choice 3 gives ρn = c1 vn 2 . So, Dt ρn = 2c1 vn v̇n . This again gives that c1 = 0. Therefore, we get only trivial densities resulting from any of these Choices. 59 Note, however, that if we were to consider a higher rank, namely rank R = 32 , we would get the result that ρn = c1 un vn−1 + c2 un vn+1 . (5.53) This comes at a great cost however. Considering higher rank equations means the inclusion of many more terms, and the calculations become much more tedious. 5.3.3 Introducing Shifts A better method for calculating densities and fluxes of (5.48) is to consider the shifts of the variables in the list V and G in Step 2 of the first algorithm. One may introduce shifts in two different ways. • The first method of introducing the necessary shifts is implemented in the following manner: One examines the right hand side of (2.1) and determines the highest shift, r, on any variable in the system. Note that this shift, r, could either be in the positive or negative direction. Then, the set V includes all shifted monomials up to n + r. Consider the following hypothetical example: u̇n = vn−1 − vn+1 , v̇n = vn−3 un+2 − vn−4 un+1 . (5.54) Then the furthest shifted variable in (5.54) is vn−4 . Therefore, r = 4. So, for this example, when constructing ρn of rank 2, V = {un , un+1 , un+2 , un+3 , un+4 , vn }. 60 Therefore, taking all appropriate combinations gives G = {un 2 , un un+1 , un un+2 , un un+3 , un un+4 , un , vn }. • The second method of introducing the necessary shifts is more effective. We will use this method when calculating densities. It works in the following way: To construct ρn of rank R, with w(un ) = w, we begin by computing power, p = R . w Then, when building set G, we not only include upn , but also un un+1 . . . un+p−1 . For (5.54), and ρn of rank R=2, we have p = 2 1 = 2. Therefore, for this artificial example, G = {un 2 , un un+1 , un , vn }. Returning to (5.48), and using the second method for shifts, G = {un 2 , un vn , vn 2 , un , vn , un un+1 , un−1 vn , vn vn+1 , vn−1 vn , un vn−1 , un vn+1 , un+1 vn , un−1 vn , un+1 vn+1 , un−1 vn−1 }. We would not introduce any t-derivatives since we are looking for a density of rank R= 21 . So, H = {un 2 , un vn , vn 2 , un , vn , un un+1 , un−1 vn , vn vn+1 , vn−1 vn , un vn−1 , un vn+1 , un+1 vn , un−1 vn , un+1 vn+1 , un−1 vn−1 }. 61 Clearly, un un+1 ≡ un−1 un , vn vn+1 ≡ vn−1 vn , un+1 vn ≡ un vn−1 , un−1 vn ≡ un vn+1 , un vn ≡ un+1 vn+1 ≡ un−1 vn−1 . Therefore, I = {un 2 , un un+1 , vn 2 , vn vn+1 , un vn , un vn−1 , un vn+1 }, and ρn = c1 un 2 + c2 un un+1 + c3 vn 2 + c4 vn vn+1 + c5 un vn + c6 un vn−1 + c7 un vn+1 . (5.55) We list the ranks of the various terms with shifts according to Scale 0 and Scale 1 in Table 5.4. Term c 1 un 2 c2 un un+1 c3 vn 2 c4 vn vn+1 c 5 un v n c6 un vn−1 c7 un vn+1 Scale 0 Scale 1 1 −2w(β) − 2w(vn ) 2 1 −2w(β) − 2w(vn ) 2 1 2w(vn ) 2 1 2w(vn ) 2 1 −w(β) 2 1 −w(β) 2 1 −w(β) 2 Table 5.4. Ranks of terms in density candidate (R= 12 ) for the AL lattice Again there are three different choices according to Scale 0. 62 • Choice 1 is a linear combination of the 3 terms of rank −w(β) . • Choice 2 is a linear combination of the 2 terms of rank −2w(β) − 2w(vn ) . • Choice 3 is a linear combination of the 2 terms of rank 2w(vn ). Choice 2 and Choice 3 do not result in any densities or fluxes. Choice 1 is a linear combination of the last three terms. We will continue with this density candidate of rank equal to −w(β) according to Scale 0, ρn = c1 un vn−1 + c2 un vn + c3 un vn+1 . (5.56) Taking the necessary derivatives gives, E = Dt ρn = β(−αc1 un vn−2 + αc1 un−1 vn−1 − αc2 un vn−1 + αc1 un+1 vn−1 −c1 un−1 un vn−2 vn−1 + αc2 un−1 vn − αc1 un vn − αc3 un vn + αc2 un+1 vn −c2 un 2 vn−1 vn + c1 un un+1 vn−1 vn + c2 un−1 un vn 2 + c2 un un+1 vn 2 +αc3 un−1 vn+1 − αc2 un vn+1 + αc3 un+1 vn+1 + c3 un−1 un vn vn+1 −c2 un 2 vn vn+1 − αc3 un vn+2 − c3 un un+1 vn+1 vn+2 ). (5.57) After shifting and regrouping we get Dt ρn = β(−c2 un 2 vn vn+1 − c2 un 2 vn−1 vn + c2 un un+1 vn 2 + c2 un un+1 vn+1 2 +[(−c1 un−1 un vn−2 vn−1 − c1 αun vn−2 + c1 αun−1 vn−1 − c2 αun vn−1 +c2 αun−1 vn + c2 un−1 un vn 2 − c3 αun vn + c3 αun−1 vn+1 + c3 un−1 un vn vn+1 ) −(−c1 un un+1 vn−1 vn − c1 αun+1 vn−1 + c1 αun vn − c2 αun+1 vn +c2 αun vn+1 + c2 un un+1 vn+1 2 − c3 αun+1 vn+1 + c3 αun vn+2 63 +c3 un un+1 vn+1 vn+2 )]). (5.58) Since the terms outside the square brackets must vanish, we can therefore only determine that c2 = 0. Substituting values for the constants into (5.56) gives ρn = c1 un vn−1 + c3 un vn+1 . (5.59) Clearly then, there is freedom in the constant coefficients here. Setting c1 = 1, ρn = un vn−1 + c3 un vn+1 . (5.60) So, the part of the density with coefficient c3 is ρn = un vn+1 , (5.61) and the part of the density without a free coefficient is ρn = un vn−1 . (5.62) We know Jn must match the first part of the square brackets in (5.58). Substituting c2 = 0 gives Jn = β(−c1 un−1 un vn−2 vn−1 − c1 αun vn−2 + c1 αun−1 vn−1 − c3 αun vn + c3 αun−1 vn+1 +c3 un−1 un vn vn+1 ). (5.63) 64 In addition we list some conserved densities of (5.45), which correspond with those in [2]: ρ(1) = c1 ( 21 un 2 vn−1 2 + un un+1 vn−1 vn + un vn−2 ) n + c2 ( 21 un 2 vn+1 2 + un un+1 vn+1 vn+2 + un vn+2 ), (5.64) = c1 [ 31 un 3 vn−1 3 + un un+1 vn−1 vn (un vn−1 + un+1 vn + un+2 vn+1 ) ρ(2) n + un vn−1 (un vn−2 + un+1 vn−1 ) + un vn (un+1 vn−2 + un+2 vn−1 ) + un vn−3 ] + c2 [ 31 un 3 vn+1 3 + un un+1 vn+1 vn+2 (un vn+1 + un+1 vn+2 + un+2 vn+3 ) + un vn+2 (un vn+1 + un+1 vn+2 ) + un vn+3 (un+1 vn+1 + un+2 vn+2 ) +un vn+3 ]. (5.65) If defined on an infinite interval, as shown in [2], scheme (5.44) admits infinitely many independent conserved densities. Although it is a constant of motion, we cannot derive the Hamiltonian of (5.44), H = −i X [u∗n (un−1 + un+1 ) − 2 ln(1 + un u∗n )], (5.66) n since it has a logarithmic term [1]. Example 5.6 (The Ablowitz-Ladik lattice revisited) For (5.57) in Step 3 we use the Euler operator to determine the constants ci . Considering the terms involving un , Lun (E) = q X k=−p D−k ∂ ∂u E n+k = Dp ∂ ∂u E + Dp−1 ∂ u∂ E + . . . + D0 ∂∂ uE + . . . + D−q ∂ ∂u E , n−p n−p+1 n n+q 65 where p is the furthest shift in the negative direction and q is the furthest shift in the positive direction. So, p = 1 and q = 1, and Lun (E) = βc2 un−1 vn−1 2 − 2βc2 un vn−1 vn + βc2 un−1 vn 2 + βc2 un+1 vn 2 −2βc2 un vn vn+1 + βc2 un+1 vn+1 2 . As before, we demand that Lun (E) ≡ 0. Therefore, c2 = 0 Then, by applying the Euler operator to (5.57), for the terms involving vn we get Lvn (E) = q X k=−p D−k ∂ ∂u E n+k = Dp ∂ ∂u E + Dp−1 ∂ u∂ E + . . . + D0 ∂∂ uE + . . . + D−q ∂ ∂u E , n−p n−p+1 n n+q where p is the furthest negative shift on any vn and q is the furthest positive shift on vn . With p = 2 and q = 2, we get Lvn (E) = −βc2 un−1 2 vn−1 − βc2 un 2 vn−1 + 2βc2 un−1 un vn + 2βc2 un un+1 vn −βc2 un 2 vn+1 − βc2 un+1 2 vn+1 . Since Lvn (E) must vanish identically, c2 = 0. Note that the result is consistent with the previous investigation, and ρn = c1 un vn−1 + c3 un vn+1 . (5.67) 66 To compute Jn , we can take the total derivative of ρn given in (5.67), replace from (5.48) and group terms. Hence, Dt ρn = β(−c1 un−1 un vn−2 vn−1 − c1 αun vn−2 + c1 αun−1 vn−1 − c3 αun vn +c3 αun−1 vn+1 + c3 un−1 un vn vn+1 ) − (−c1 un un+1 vn−1 vn −c1 αun+1 vn−1 + c1 αun vn − c3 αun+1 vn+1 + c3 αun vn+2 +c3 un un+1 vn+1 vn+2 ). (5.68) Since Jn must match the first part of the pattern in (5.68), Jn = β(−c1 un−1 un vn−2 vn−1 − c1 αun vn−2 + c1 αun−1 vn−1 − c3 αun vn + c3 αun−1 vn+1 +c3 un−1 un vn vn+1 ), which is identical to (5.63). (5.69) 67 Chapter 6 A SECOND METHOD TO DETERMINE DENSITIES AND FLUXES We know that the densities ρn and fluxes Jn are related by (2.5). In principle, to compute Jn = −∆−1 Dt ρn , one needs to invert the operator ∆ = D − I. Working with the formal inverse, ∆−1 = D−1 + D−2 + D−3 + . . . , (6.1) would be impractical. Instead, we present a five step algorithm which circumvents the above infinite formal series. Assume that ρn is a valid density. The idea is to recast Dt ρn into the form −∆Jn , leading to the desired flux Jn . As suggested by Hickman [20], this can be done as follows. Using I = (D − I + I) D−1 = ∆ D−1 + D−1 , (6.2) one writes Dt ρn = E = ∆ D−1 E + D−1 E = −∆Jn , where the form −D−1 E will become part of Jn and D−1 E is the obstruction. 6.1 The second algorithm Step 1: Determine the lowest shift Starting from a valid density ρn , we first compute Dt ρn . Then, we replace all 68 time derivatives, and finally use the equivalence relation to obtain the expression E. By examining the subscripts of the shifted terms of E, we determine the lowest shift (p). Note that p is the furthest negative shift on any variable in the system. As before, p is positive. Step 2: Splitting E The expression E is split into E = A(0) + A(1) , (6.3) where A(0) has all terms independent of the lowest shifted variable un−p that appears in E, and A(1) has the terms dependent on the lowest shifted variable un−p . Using (6.2) we write E = ∆ D−1 A(0) + D−1 A(0) + A(1) . Now, if D−1 A(0) + A(1) = 0, we are finished and Jn = − D−1 A(0) . Step 3: Computing D−1 A(0) D−1 A(0) comes from a single down-shift on A(0) . Step 4: Computing D−1 A(0) + A(1) Combining the result from the previous step with A(1) gives D−1 A(0) + A(1) . If rearranging and grouping terms leads to D−1 A(0) + A(1) = 0, then the algorithm terminates and Jn = −D−1 A(0) . Step 5: Repeat as necessary If D−1 A(0) + A(1) 6= 0, then we again split into D−1 A(0) + A(1) = A(2) + A(3) , (6.4) 69 where A(2) has terms independent of un−p , and A(3) has terms dependent on un−p . Applying (6.2) to A(2) we get E = ∆ D−1 A(0) + ∆ D−1 A(2) + D−1 A(2) + A(3) . If D−1 A(2) + A(3) = 0 then the algorithm terminates, and the flux is Jn = − D−1 A(0) + A(2) . If not, we repeat the process. This procedure must eventually terminate since ρn is a valid density. More importantly, the above procedure may be applied to the problem of computing densities. Without loss of generality, we can assume that ρn = ρn (un , un+1 , . . . , un+q ). For (2.1), we have E = q X ∂ ρn k=0 k ∂ un+k D f (un−l , . . . , un+m ) q X ∂ρ ∂ ρn f (u , . . . , u k n = ∂ n−l n+m ) + un ∂ un+k D f (un−l , . . . , un+m ). k=1 Applying (6.2) to the second term of this equation we obtain q ∂ ρn f + ∆ D−1 + D−1 X ∂ ρn Dk f E = ∂ un ∂ un+k ! k=1 ∂ ρn f + (∆ + I) = ∂ un q X ∂ D−1 ρn k=1 ! k−1 ∂ un+k−1 D f q−1 q−1 ∂ ρn f + ∆ X ∂ D−1 ρn Dk f + X ∂ D−1 ρn Dk f = ∂ un ∂ un+k ∂ un+k k=0 = −1 ∂ ∂ u n ρn + D ρn f +∆ k=0 q−1 X q−1 k=0 k=1 ∂ D−1 ρn Dk f + X ∂ D−1 ρn Dk f ∂ un+k ∂ un+k with f = f (un−l , . . . , un+m ). Next, we repeat this procedure by applying (6.2) to the 70 last term. After a further q − 2 applications, we get E = −1 −2 ∂ ∂ u n ρn + D ρn + D ρn + q−2 X k=1 = ·· · = ∂∂u n q X f + ∆ q−1 X k=0 q−2 ∂ D−1 ρn Dk f + X ∂ D−2 ρn Dk f ∂ un+k ∂ un+k k=0 ∂ D−2 ρn Dk f ∂ un+k D−j ρn f + ∆ j=0 q q−j X X ∂ D−j ρ n j=1 k=0 = Lun (ρn ) f + ∆ q q−j X X ∂ D−j ρ n j=1 k=0 k ∂ un+k D f k ∂ un+k D f by (2.25). If Lun (ρn ) f = 0 then ρn is a trivial density. For ρn to be a non-trivial density, we require Lun (ρn ) f = ∆ h (6.5) for some h with h 6= 0. In this case the associated flux is J = −h− q q−j X X ∂ D−j ρ n j=1 k=0 k ∂ un+k D f. We could apply the discrete Euler operator to Lun (ρn ) f to determine conditions such that (6.5) holds. However, we can also repeat the above strategy by splitting this expression into a part, A(0) , that does not depend on the lowest shifted variable and the remaining terms. We then apply (6.2) repeatedly to A(0) (removing the total difference terms generated by (6.2) from A(0) ) until we obtain a term that involves both the lowest and highest shifted variables. By noting that a necessary condition 71 for g = g(un−p , . . . , un+q ) to be total difference is ∂2 ∂ un−p ∂ un+q g = 0, (6.6) we then obtain conditions for (6.5) to hold. This procedure must be repeated until all the terms in Lun (ρn ) f have been rewritten as a total difference. Next, we illustrate this second algorithm for the same leading examples. 6.2 The Kac-van Moerbeke lattice Example 6.1 (The Kac-van Moerbeke lattice revisited once more) Step 1: Determine the lowest shift From (5.18), we know E = Dt ρn = 3c1 un 3 un+1 − 3c1 un−1 un 3 + c2 un 2 un+1 un+2 − c2 un 3 un+1 +2c2 un 2 un+1 2 − 2c2 un−1 un 2 un+1 + 2c3 un un+1 2 un+2 − 2c3 un 2 un+1 2 +c3 un un+1 3 − c3 un−1 un un+1 2 + c4 un un+1 un+2 un+3 + c4 un un+1 un+2 2 +c4 un 2 un+1 un+2 − c4 un−1 un un+1 un+2 . Therefore, it is clear that the lowest shift is p = 1. Step 2: Splitting Dt ρn We may split the result into two pieces as follows: Dt ρn = A(0) + A(1) = (3c1 un 3 un+1 + c2 un 2 un+1 un+2 − c2 un 3 un+1 + 2c2 un 2 un+1 2 + 2c3 un un+1 2 un+2 −2c3 un 2 un+1 2 + c3 un un+1 3 + c4 un un+1 un+2 un+3 + c4 un un+1 un+2 2 72 −c4 un 2 un+1 un+2 ) + (−3c1 un−1 un 3 − 2c2 un−1 un 2 un+1 − c3 un−1 un un+1 2 −c4 un−1 un un+1 un+2 ), (6.7) where A(0) has terms independent of un−1 , and A(1) has terms dependent on un−1 . Step 3: Computing D−1 A(0) Taking one down-shift on A(0) gives D−1 A(0) = D−1 (3c1 un 3 un+1 + c2 un 2 un+1 un+2 − c2 un 3 un+1 + 2c2 un 2 un+1 2 +2c3 un un+1 2 un+2 − 2c3 un 2 un+1 2 + c3 un un+1 3 + c4 un un+1 un+2 un+3 +c4 un un+1 un+2 2 − c4 un 2 un+1 un+2 ) = 3c1 un−1 3 un + c2 un−1 2 un un+1 − c2 un−1 3 un + 2c2 un−1 2 un 2 +2c3 un−1 un 2 un+1 − 2c3 un−1 2 un 2 + c3 un−1 un 3 + c4 un−1 un un+1 un+2 +c4 un−1 un un+1 2 − c4 un−1 2 un un+1 . (6.8) Step 4: Computing D−1 A(0) + A(1) So, D−1 A(0) + A(1) = (3c1 un−1 3 un + c2 un−1 2 un un+1 − c2 un−1 3 un + 2c2 un−1 2 un 2 2c3 un−1 un 2 un+1 − 2c3 un−1 2 un 2 + c3 un−1 un 3 +c4 un−1 un un+1 un+2 + c4 un−1 un un+1 2 − c4 un−1 2 un un+1 ) +(−3c1 un−1 un 3 − 2c2 un−1 un 2 un+1 − c3 un−1 un un+1 2 −c4 un−1 un un+1 un+2 ). (6.9) From (6.9) we can see that all monomials depend on un−1 . Rearranging the terms 73 produces D−1 A(0) + A(1) = (−3c1 + c3 )un−1 un 3 + (−2c2 + 2c3 )un−1 un 2 un+1 +(c4 − c3 )un−1 un un+1 2 + (3c1 − c2 )un−1 3 un +(c2 − c4 )un−1 2 un un+1 + (2c2 − 2c3 )un−1 2 un 2 . (6.10) It is easily seen that (6.10) equals 0 if 3c1 = c2 = c3 = c4 . Therefore, Step 5 is unnecessary and we do not have to repeat Step 3 and Step 4. Substitution of c1 = 31 , c2 = c3 = c4 = 1 into (5.3) gives 1 ρn = un 3 + un 2 un+1 + un un+1 2 + un un+1 un+2 . 3 (6.11) Since Jn = −D−1 A(0) , Jn = −(un−1 un 3 + 2un−1 un 2 un+1 + un−1 un un+1 2 + un−1 un un+1 un+2 ). 6.3 The Toda lattice Example 6.2 (The Toda lattice revisited once more) Step 1: Determine the lowest shift From (5.26), we know E = Dt ρn = 3c1 un 2 vn−1 − c2 un 2 vn−1 + c3 un 2 vn − 3c1 un 2 vn +c3 vn−1 vn − c2 vn−1 vn + c2 un−1 un vn−1 + c2 vn−1 2 −c3 un un+1 vn − c3 vn 2 . (6.12) 74 So, the lowest shift is p = 1. Step 2: Splitting Dt ρn Splitting the result gives Dt ρn = A(0) + A(1) = (c3 un 2 vn − 3c1 un 2 vn − c3 un un+1 vn − c3 vn 2 ) + (3c1 un 2 vn−1 −c2 un 2 vn−1 + c3 vn−1 vn − c2 vn−1 vn + c2 un−1 un vn−1 + c2 vn−1 2 ), (6.13) where A(0) has terms independent of un−1 and vn−1 and A(1) has terms dependent on un−1 or vn−1 . Step 3: Computing D−1 A(0) Applying a single down-shift to A(0) gives D−1 A(0) = c3 un−1 2 vn−1 − 3c1 un−1 2 vn−1 − c3 un−1 un vn−1 − c3 vn−1 2 . (6.14) Step 4: Computing D−1 A(0) + A(1) Therefore, D−1 A(0) + A(1) = 3c1 un 2 vn−1 − c2 un 2 vn−1 + c3 vn−1 vn − c2 vn−1 vn + c2 un−1 un vn−1 +c2 vn−1 2 + c3 un−1 2 vn−1 − 3c1 un−1 2 vn−1 − c3 un−1 un vn−1 −c3 vn−1 2 . (6.15) From (6.15), it is evident that all monomials depend on un−1 or vn−1 . Grouping terms gives D−1 A(0) + A(1) = (3c1 − c2 )un 2 vn−1 + (c3 − c2 )vn−1 vn + (c2 − c3 )un−1 un vn−1 75 +(c2 − c3 )vn−1 2 + (c3 − 3c1 )un−1 2 vn−1 . (6.16) So, D−1 A(0) + A(1) = 0 if 3c1 = c2 = c3 . Again, the algorithm terminates here and Step 5 is unnecessary. Substituting c1 = 31 , c2 = c3 = 1 back into (5.26) gives 1 ρn = un 3 + un vn−1 + un vn . 3 (6.17) Jn = un−1 un vn−1 + vn−1 2 . (6.18) Therefore, Jn = −D−1 A(0) , 6.4 The Ablowitz-Ladik lattice Example 6.3 (The Ablowitz-Ladik lattice revisited once more) Step 1: Determine the lowest shift From (5.57), we know E = Dt ρn = β(−αc1 un vn−2 + αc1 un−1 vn−1 − αc2 un vn−1 + αc1 un+1 vn−1 −c1 un−1 un vn−2 vn−1 + αc2 un−1 vn − αc1 un vn − αc3 un vn +αc2 un+1 vn − c2 un 2 vn−1 vn + c1 un un+1 vn−1 vn + c2 un−1 un vn 2 +c2 un un+1 vn 2 + αc3 un−1 vn+1 − αc2 un vn+1 + αc3 un+1 vn+1 +c3 un−1 un vn vn+1 − c2 un 2 vn vn+1 − αc3 un vn+2 −c3 un un+1 vn+1 vn+2 ), with the lowest shift p = 2. 76 Step 2: Splitting Dt ρn We may split the above result into Dt ρn = A(0) + A(1) = β[(αc1 un−1 vn−1 − αc2 un vn−1 + αc1 un+1 vn−1 + αc2 un−1 vn − αc1 un vn −αc3 un vn + αc2 un+1 vn − c2 un 2 vn−1 vn + c1 un un+1 vn−1 vn + c2 un−1 un vn 2 +c2 un un+1 vn 2 + αc3 un−1 vn+1 − αc2 un vn+1 + αc3 un+1 vn+1 +c3 un−1 un vn vn+1 − c2 un 2 vn vn+1 − αc3 un vn+2 − c3 un un+1 vn+1 vn+2 ) +(−αc1 un vn−2 − c1 un−1 un vn−2 vn−1 )], (6.19) where A(0) has terms independent of un−2 and vn−2 , and A(1) has terms dependent on un−2 or vn−2 . Step 3: Computing D−1 A(0) One down-shift on A(0) gives D−1 A(0) = β[αc1 un−2 vn−2 − αc2 un−1 vn−2 + αc1 un vn−2 + αc2 un−2 vn−1 −αc1 un−1 vn−1 − αc3 un−1 vn−1 + αc2 un vn−1 − c2 un−1 2 vn−2 vn−1 +c1 un−1 un vn−2 vn−1 + c2 un−2 un−1 vn−1 2 + c2 un−1 un vn−1 2 +αc3 un−2 vn − αc2 un−1 vn + αc3 un vn + c3 un−2 un−1 vn−1 vn −c2 un−1 2 vn−1 vn − αc3 un−1 vn+1 − c3 un−1 un vn vn+1 ]. (6.20) Step 4: Computing D−1 A(0) + A(1) Therefore, D−1 A(0) + A(1) = β[(αc1 un−2 vn−2 − αc2 un−1 vn−2 + αc1 un vn−2 + αc2 un−2 vn−1 77 −αc1 un−1 vn−1 − αc3 un−1 vn−1 + αc2 un vn−1 − c2 un−1 2 vn−2 vn−1 +c1 un−1 un vn−2 vn−1 + c2 un−2 un−1 vn−1 2 + c2 un−1 un vn−1 2 +αc3 un−2 vn − αc2 un−1 vn + αc3 un vn + c3 un−2 un−1 vn−1 vn −c2 un−1 2 vn−1 vn − αc3 un−1 vn+1 − c3 un−1 un vn vn+1 ) +(−αc1 un vn−2 − c1 un−1 un vn−2 vn−1 )]. (6.21) It is evident that not all monomials of (6.21) depend on un−2 or vn−2 . So, we must repeat Step 2 through Step 3 and split (6.21) into A(2) + A(3) , where A(2) has terms independent of un−2 and vn−2 and A(3) has terms dependent on un−2 or vn−2 . Step 2 repeated: Splitting D−1 A(0) + A(1) D−1 A(0) + A(1) = A(2) + A(3) (6.22) = β[(−αc1 un−1 vn−1 − αc3 un−1 vn−1 + αc2 un vn−1 +c2 un−1 un vn−1 2 − αc2 un−1 vn + αc3 un vn − c2 un−1 2 vn−1 vn −αc3 un−1 vn+1 − c3 un−1 un vn vn+1 ) + (αc1 un−2 vn−2 −αc2 un−1 vn−2 + αc1 un vn−2 + αc2 un−2 vn−1 −c2 un−1 2 vn−2 vn−1 + c1 un−1 un vn−2 vn−1 + c2 un−2 un−1 vn−1 2 +αc3 un−2 vn + c3 un−2 un−1 vn−1 vn − αc1 un vn−2 −c1 un−1 un vn−2 vn−1 )]. (6.23) Step 3 repeated: Computing D−1 A(2) D−1 A(2) = β[−αc1 un−2 vn−2 − αc3 un−2 vn−2 + αc2 un−1 vn−2 + c2 un−2 un−1 vn−2 2 78 −αc2 un−2 vn−1 + αc3 un−1 vn−1 − c2 un−2 2 vn−2 vn−1 − αc3 un−2 vn −c3 un−2 un−1 vn−1 vn ]. (6.24) Step 4 repeated: Computing D−1 A(2) + A(3) D−1 A(2) + A(3) = β[(−αc1 un−2 vn−2 − αc3 un−2 vn−2 + αc2 un−1 vn−2 +c2 un−2 un−1 vn−2 2 − αc2 un−2 vn−1 + αc3 un−1 vn−1 −c2 un−2 2 vn−2 vn−1 − αc3 un−2 vn − c3 un−2 un−1 vn−1 vn ) +(αc1 un−2 vn−2 − αc2 un−1 vn−2 + αc1 un vn−2 + αc2 un−2 vn−1 −c2 un−1 2 vn−2 vn−1 + c1 un−1 un vn−2 vn−1 + c2 un−2 un−1 vn−1 2 +αc3 un−2 vn + c3 un−2 un−1 vn−1 vn − αc1 un vn−2 −c1 un−1 un vn−2 vn−1 )]. (6.25) Notice again that not all monomials (6.25) depend on un−2 or vn−2 . Therefore, we must repeat Step 2 through Step 4. Step 2 repeated, second time: Splitting D−1 A(2) + A(3) D−1 A(2) + A(3) = A(4) + A(5) = β[(−αc1 un−2 vn−2 − αc3 un−2 vn−2 + αc2 un−1 vn−2 +c2 un−2 un−1 vn−2 2 − αc2 un−2 vn−1 − c2 un−2 2 vn−2 vn−1 −αc3 un−2 vn − c3 un−2 un−1 vn−1 vn + αc1 un−2 vn−2 − αc2 un−1 vn−2 +αc1 un vn−2 + αc2 un−2 vn−1 − c2 un−1 2 vn−2 vn−1 +c1 un−1 un vn−2 vn−1 + c2 un−2 un−1 vn−1 2 + αc3 un−2 vn +c3 un−2 un−1 vn−1 vn − αc1 un vn−2 − c1 un−1 un vn−2 vn−1 ) +(αc3 un−1 vn−1 )], (6.26) 79 where A(4) has terms independent of un−2 and vn−2 , and A(5) has terms dependent on un−2 or vn−2 . Step 3 repeated, second time: Computing D−1 A(4) D−1 A(4) = αc3 un−2 vn−2 . (6.27) Step 4 repeated, second time: Computing D−1 A(4) + A(5) D−1 A(4) + A(5) = β[(αc3 un−2 vn−2 ) + (−αc1 un−2 vn−2 − αc3 un−2 vn−2 +αc2 un−1 vn−2 + c2 un−2 un−1 vn−2 2 − αc2 un−2 vn−1 −c2 un−2 2 vn−2 vn−1 − αc3 un−2 vn − c3 un−2 un−1 vn−1 vn +αc1 un−2 vn−2 − αc2 un−1 vn−2 + αc1 un vn−2 +αc2 un−2 vn−1 − c2 un−1 2 vn−2 vn−1 + c1 un−1 un vn−2 vn−1 +c2 un−2 un−1 vn−1 2 + αc3 un−2 vn + c3 un−2 un−1 vn−1 vn −αc1 un vn−2 − c1 un−1 un vn−2 vn−1 )]. (6.28) By examination, all terms of (6.28) depend on un−2 or vn−2 . Simple algebra on (6.28) results in D−1 A(4) + A(5) = β[c2 un−2 vn−1 vn−2 2 − c2 un−1 2 vn−2 vn−1 + c2 un−2 un−1 vn−1 2 −c2 un−2 2 vn−2 vn−1 ]. (6.29) So, D−1 A(4) + A(5) = 0 if c2 = 0. Therefore, substituting c2 = 0 into (5.56) gives ρn = c1 un vn−1 + c3 un vn+1 . (6.30) 80 and Jn = −D−1 (A(0) + A(2) + A(4) ) = β(−c1 αun vn−2 + c1 αun−1 vn−1 − c1 un−1 un vn−2 vn−1 − c3 αun vn +c3 un−1 vn+1 + c3 αun−1 un vn vn+1 ). The density-flux pair (5.67) and (6.31) agree with (5.59) and (5.63). (6.31) 81 Chapter 7 APPLICATIONS In this chapter we consider complicated DDEs for which the computation of densities and fluxes would be nearly impossible by hand. All the results were computed with the software DDEDensityFlux.m. 7.1 Discretization of the combined KdV-mKdV equation Example 7.1 (Discretization of the combined KdV-mKdV equation) Consider the DDE described in [39], 1 1 1 ( u − u + u − un−2 ) n+2 n+1 n−1 h3 2 2 α + [un+1 2 − un−1 2 + un (un+1 − un−1 ) + un+1 un+2 − un−2 un−1 ] 2h β + [un+1 2 (un+2 + un ) − un−1 2 (un−2 + un )]]. (7.1) 2h u̇n = −(1 + αh2 un + βh2 un 2 )[ It is an integrable discretization of a combined KdV-mKdV equation, ut + 6αuux + 6βu2 ux + u3x = 0. (7.2) Discretizations of the KdV and mKdV equations are special cases. Set h = 1 (scaling). We quickly verify that (7.1) is not uniformity in rank. Therefore, we must introduce 82 auxiliary parameters γ and δ with weights. Eq. (7.1) is replaced by 1 1 u˙n = −(γ + αun + βun 2 )[δ( un+2 − un+1 + un−1 − un−2 ) 2 2 α 2 2 + [un+1 − un−1 + un (un+1 − un−1 ) + un+1 un+2 − un−2 un−1 ] 2 β + [un+1 2 (un+2 + un ) − un−1 2 (un−2 + un )]]. 2 (7.3) Step 1: Determine the weights of the variables according to both Scales d ) = 1 leads to Scale 1: Uniformity in rank and w( dt 1 w(δ) = w(γ) = , 2 1 w(un ) = − w(α), 2 1 w(β) = − + 2w(α). 2 d ) = 0, all terms have the same rank if Scale 0: When w( dt w(δ) = w(γ) = 0, w(β) = 2w(un ), w(un ) = −w(α). Therefore, in addition to considering Scale 1 and Scale 0, we must also consider two separate cases for the w(β). 83 Case 1: w(β) = 0 Step 2.1: Construct the form of the density After replacement from (7.3) and using the equivalence criterion, we find I = {αun , un 2 , un un+1 , un un+2 }, (7.4) where all monomials are of rank R= 21 . In Table 7.1, we list the monomials in I in the first column, the ranks of the monomials according to Scale 0 in the second column, and the ranks of the monomials according to Scale 1 in the third column. Term c1 αun .. . c4 un un+2 Scale 0 Scale 1 1 0 2 .. .. . . 1 0 2 Table 7.1. Ranks of terms in density candidate (R= 12 ) for the combined equation Considering the two separate scale scenarios does not simplify the calculation. Step 3.1: Determine the unknown coefficients Because there are only 3 monomials involved, the software quickly determines that c1 = 1, c2 = 0, and c3 = β. So, ρn = αun + βun un+1 . (7.5) 84 Step 2.2: Construct the form of the density Similarly, if we list all monomials of rank R= 43 , then I = {α2 un , γun , δun , αun 2 , un 3 , αun un+1 , un 2 un+1 , un un+1 2 , αun un+2 , un 2 un+2 , un un+1 un+2 , un un+2 2 }. (7.6) Listing the terms and their respective weights as before gives Table 7.2. Term c 1 α 2 un .. . c12 un un+2 2 Scale 0 Scale 1 3 0 4 .. .. . . 3 0 4 Table 7.2. Ranks of terms in density candidate (R= 43 ) for the combined equation Considering the two separate Scale scenarios clearly does not simplify this calculation. Therefore, all monomials in I are used to construct the density. Step 3.2: Determine the unknown coefficients Now, ρn is the sum of 12 terms with coefficients c1 through c12 . The software computes the solution: α2 − βδ(c2 + c3 ) , α2 β = c5 = c7 = c8 = c9 = c10 = c11 = c12 = 0, c1 = c4 c6 = 1. Setting δ = γ = 1, ρn = α (αun + βun un+1 ). β (7.7) 85 Step 2.3: Construct the form of the density We find that after replacement from (7.3), I = {α3 un , αγun , αδun , α2 un 2 , γun 2 , δun 2 , . . . , un un+2 un+3 2 , un un+3 2 }, (7.8) where all monomials are of rank R=1. We list the monomials in I in the first column of Table 7.3. We list the ranks of the monomials according to Scale 0 in the second column, and the ranks of the monomials according to Scale 1 in the third column. Term c 1 α 3 un .. . c45 un un+3 2 Scale 0 Scale 1 0 1 .. .. . . 0 1 Table 7.3. Ranks of terms in density candidate (R=1) for the combined equation Again, considering the two separate scale scenarios does not simplify this calculation. So, all 45 monomials in I are linearly combined to construct the density. Step 3.3: Determine the unknown coefficients We get the following solution: α2 (−1 + βc9 ) + βδ(1 − β(c2 + c3 ) + c10 + c11 ) , α2 β 2 α2 − 2βδ(c5 + c6 ) = , 2α2 β = c8 = c13 = c16 = c20 = c21 = c23 = c25 = c26 = c28 = c32 = . . . = c45 = 0, c1 = c4 c7 c12 = c14 = c22 = 1, 86 β , 2 δ(−1 + c18 + c19 ) = − , α2 δ(c30 + c31 ) = − . α2 c15 = c17 c29 Setting δ = γ = 1 gives α3 α α α2 2 α3 α u + c u + c u + c u + un + α2 c9 un un+1 u + n 9 n 10 n 11 n n β2 β β β β 2β 1 +c10 un un+1 + c11 un un+1 + αun 2 un+1 + αun un+1 2 + βun 2 un+1 2 + un un+2 2 2 (7.9) +αun un+1 un+2 + βun un+1 un+2 . ρn = − So, the part of the density with coefficient c9 = 1 is α ρn = α2 ( un + un un+1 ). β (7.10) The part of the density with coefficient c10 or c11 is ρn = α un + un un+1 , β (7.11) and the part of the density without a free coefficient is α3 α α2 2 1 u + u + un + αun 2 un+1 + αun un+1 2 + βun 2 un+1 2 + un un+2 n n 2 β β 2β 2 2 +αun un+1 un+2 + βun un+1 un+2 . ρn = − 87 Case 2: w(β) 6= 0 Step 2.4: Construct the form of the density Let w(α) = 83 . Again, if we replace from (7.3) and use the equivalence criterion, we find I = {αun , βun 2 , βun un+1 , βun un+2 , βun un+3 , un 4 , un 3 un+1 , un 2 un+1 2 , un un+1 3 , un 3 un+2 , un 2 un+1 un+2 , un un+1 2 un+2 , un 2 un+2 2 , un un+1 un+2 2 , un un+2 3 , un 3 un+3 , un 2 un+1 un+3 , un un+1 2 un+3 , un 2 un+2 un+3 , un un+1 un+2 un+3 , un un+2 2 un+3 , un 2 un+3 2 , un un+1 un+3 2 , un un+2 un+3 2 , un un+3 3 }, (7.12) where each monomial is of rank R= 21 . In the table, we list the terms with their ranks based on both scales. Term c1 αun .. . Scale 0 0 .. . Scale 1 c5 βun un+3 c 6 un 4 .. . 0 −4w(α) .. . 1 2 1 2 c25 un un+3 3 −4w(α) 1 2 1 2 .. . .. . Table 7.4. Ranks of terms in density candidate (R= 21 ) for the combined equation There are two different choices according to Scale 0. • Choice 1 is a linear combination of the 5 terms of rank 0 . • Choice 2 is a linear combination of the 20 terms of rank −4w(α). 88 Considering each of these choices separately simplifies the computations somewhat, since we may now address each case separately. Step 3.4: Determine the unknown coefficients There is freedom here in the constant coefficients. For Choice 1, the software does not produce any non-trivial densities. For Choice 2, c1 = 0, c3 = 1, and c2 = c4 = c5 = 0. So, setting δ = γ = 1 gives ρn = αun + βun un+1 . (7.13) Step 2.5: Construct the form of the density For rank R= 85 , we have I = {un 5 , un 4 un+1 , un 3 un+1 2 , . . . , γun , δun , αun 2 , . . . , β 2 un }. (7.14) Therefore, we obtain Table 7.5. Term c1 un 5 .. . c70 un un+4 4 c71 γun .. . Scale 0 Scale 1 5 −5w(α) 8 .. .. . . 5 −5w(α) 8 5 −w(α) 8 .. .. . . c92 βun un+4 2 c93 β 2 un −w(α) 3w(α) 5 8 5 8 Table 7.5. Ranks of terms in density candidate (R= 58 ) for the combined equation So, there are three choices to consider: 89 • Choice 1 is a linear combination of the 70 terms of rank −5w(α) . • Choice 2 is a linear combination of the 3 terms of rank −w(α) . • Choice 3 is a linear combination of the 20 terms of rank 3w(α) . Considering each of these choices separately simplifies the computations. Step 3.5: Determine the unknown coefficients Again, there is freedom in the constant coefficients. Choice 1 and Choice 3 do not 2 result in any non-trivial densities. For Choice 2, c1 = αβδ −c2 , c3 = c4 = c6 = . . . = c22 = 0, and c5 = 1. After setting δ = γ = 1, we obtain α ρn = α( un + un un+1 ). β (7.15) Step 2.6: Construct the form of the density For rank R= 43 I = {un 6 , un 5 un+1 , un 4 un+1 2 , . . . , γun 2 , δun 2 , αun 3 , . . . , αβun , β 2 un 2 , β 2 un un+1 }. Again, we may list the terms and their respective ranks in Table 7.6. The table implies the following three different choices: • Choice 1 is a linear combination of the 252 terms of rank −6w(α) . • Choice 2 is a linear combination of the 89 terms of rank −2w(α). • Choice 3 is a linear combination of the 3 terms of rank 2w(α) . Considering each of these choices separately simplifies the computations. (7.16) 90 Term c1 un 6 .. . c252 un un+5 5 c253 γun 2 .. . Scale 0 Scale 1 3 −6w(α) 4 .. .. . . 3 −6w(α) 4 3 −2w(α) 4 .. .. . . c341 βun un+5 3 c342 αβun c343 β 2 un 2 c344 β 2 un un+1 −2w(α) 2w(α) 2w(α) 2w(α) 3 4 3 4 3 4 3 4 Table 7.6. Ranks of terms in density candidate (R= 43 ) for the combined equation Step 3.6: Determine the unknown coefficients Once again, there is freedom in the constant coefficients. For Choice 1 there are 252 terms in the density candidate, ρn , and the code cannot complete the computation in a reasonable amount of time. For Choice 2, setting δ = γ = 1 gives ρn = 1 α2 2 α2 un + un un+1 − un un+1 + αun 2 un+1 + αun un+1 2 + βun 2 un+1 2 2β β 2 +un un+2 + αun un+1 un+2 + βun un+1 2 un+2 . (7.17) For Choice 3, the code determines that c1 = 1, c2 = c4 = c5 = c6 = c7 = 0, and c3 = 1. Setting δ = γ = 1 gives α ρn = β 2 ( un + un un+1 ). β (7.18) 91 7.2 Discretization of the Korteweg-de Vries equation Example 7.2 (Discretization of the Korteweg-de Vries equation) We now consider conserved densities for (7.3), when β = 0. 1 1 u̇n = −(γ + αun )[δ( un+2 − un+1 + un−1 − un−2 2 2 α 2 + [un+1 − u2n−1 + un (un+1 + un−1 ) + un+1 un+2 − un−2 un−1 ]]. (7.19) 2 The above equation is a completely integrable discretization of the KdV equation ut + 6αuux + uxxx = 0. Step 1: Determine the weights of the variables according to both Scales d Scale 1: When w( dt ) = 1, all terms in (7.19) have the same rank if w(δ) + w(γ) = 1, w(α) + w(δ) + w(un ) = 1, w(α) + w(γ) + w(un ) = 1, 2 w(α) + 2 w(un ) = 1. Simple algebra determines that w(δ) = w(γ) = 21 , and w(α) = 1 2 − w(un ). d Scale 0: Similarly, when w( dt ) = 0, all terms in (7.19) have the same rank if w(δ) + w(γ) = 0, w(α) + w(δ) + w(un ) = 0, w(α) + w(γ) + w(un ) = 0, 92 2 w(α) + 2 w(un ) = 0. This implies that w(δ) = w(γ) = 0, and w(α) = −w(un ). So, in addition to considering Scale 1 and Scale 0, we must also consider two individual cases for the w(α). Case 1: w(α) = 0 Step 2.1: Construct the form of the density As an example, let us compute the form of the density of rank R=1 considering that w(un ) = 1 . 2 For this case, use (7.19) to eliminate u˙n terms, and use the equivalence criterion to find I = {γun , δun , un 2 , un un+1 }, (7.20) where all monomials are of rank R=1. When w(α) = 0 we can list the terms in the first column of Table 7.7, and their respective ranks according to Scale 0 and Scale 1 in the second and third columns. Term c1 γun .. . c4 un un+1 Scale 0 Scale 1 0 1 .. .. . . 0 1 Table 7.7. Ranks of terms in density candidate (R=1) for the KdV discretization Considering the two separate scale scenarios does not simplify this calculation. However, because there are only 4 monomials involved, the software would still produce results. 93 Step 3.1: Determine the unknown coefficients Set δ = γ = 1. There is freedom in the constant coefficients. So, the part of the density with constant coefficient c1 or c2 is ρn = u n . (7.21) and ρn = c1 un + c2 un + un 2 + 2un un+1 . (7.22) and the part of the density without a free coefficient is ρn = un 2 + 2un un+1 . (7.23) Case 2: w(α) 6= 0 Step 2.2: Construct the form of the density Choosing w(un ) = 1 4 implies w(α) = 14 . Now, I = {αγun , αδun , α2 un 2 , α2 un un+1 , α2 un un+2 , α2 un un+3 , α3 un , γun 2 , δun 2 , αun 3 , γun un+1 , δun un+1 , αun 2 un+1 , αun un+1 2 , γun un+2 , δun un+2 , αun 2 un+2 , αun un+1 un+2 , αun un+2 2 , γun un+3 , δun un+3 , αun 2 un+3 , αun un+1 un+3 , αun un+2 un+3 , αun un+3 2 , un 4 , un 3 un+1 , un 2 un+1 2 , un un+1 3 , un 3 un+2 , un 2 un+1 un+2 , un un+1 2 un+2 , un 2 un+2 2 , un un+1 un+2 2 , un un+2 3 , un 3 un+3 , un 2 un+1 un+3 , un un+1 2 un+3 , un 2 un+2 un+3 , un un+1 un+2 un+3 , un un+2 2 un+3 , un 2 un+3 2 , un un+1 un+3 2 , un un+2 un+3 2 , un un+3 3 }, where all monomials are of rank R=1. When w(α) 6= 0 we get Table 7.8. (7.24) 94 Term c1 αγun .. . Scale 0 0 .. . Scale 1 1 .. . c6 α2 un un+3 c 7 α 3 un c8 γun 2 .. . 0 −2w(un ) 2w(un ) .. . 1 1 1 .. . c25 αun un+3 2 c26 un 4 .. . 2w(un ) 4w(un ) .. . 1 1 .. . c45 un un+3 3 4w(un ) 1 Table 7.8. Ranks of terms in density candidate (R=1) for the KdV discretization Therefore, there are four different choices according to Scale 0. • Choice 1 is a linear combination of the 6 terms of rank 0. • Choice 2 is a scalar multiple of the 1 term of rank −2w(un ). • Choice 3 is a linear combination of the 18 terms of rank 2w(un ). • Choice 4 is a linear combination of the 20 terms of rank 4w(un ). Considering each of these choices separately greatly simplifies calculations. Step 3.2: Determine the unknown coefficients Again, there is freedom in the constant coefficients. ForChoice 1, ρn has 6 terms. The computation for δ = γ = 1 leads to ρn = αun (7.25) 95 if c1 = 1 and c2 = . . . = c6 = 0 or if c2 = 1 and c1 = c3 = . . . = c6 = 0. There is also a third solution of the linear system, namely c3 = 1, c4 = 2, and c5 = c6 = 0. Setting δ = γ = 1 then leads to ρn = αc1 un + αc2 un + α2 un 2 + 2α2 un un+1 . (7.26) The part of the density without a free coefficient is ρn = α2 un 2 + 2α2 un un+1 . (7.27) Choice 2 gives c1 = 0 and ρn = α3 un . Choice 3 gives c3 = 1, c5 = 2c1 +2c2 −c4 , c6 = c7 = c11 = 3, c9 = 3−c8 , c10 = c12 = c15 = c16 = c17 = c18 = 0, and c14 = −c13 . Set δ = γ = 1. Then, ρn = c1 un 2 + c2 un 2 + αun 3 + 2c1 un un+1 + 2c2 un un+1 + 3αun 2 un+1 + 3αun un+1 2 +3un un+2 + 3αun un+1 un+2 . (7.28) So, the part of the density with constant coefficient c1 or c2 eventually leads to ρn = un 2 + 2un un+1 . (7.29) The part of the density without a free coefficient is ρn = αun 3 + 3αun 2 un+1 + 3αun un+1 2 + 3un un+2 + 3αun un+1 un+2 . Choice 4 does not result in any nonzero densities. (7.30) 96 7.3 Discretization of the modified Korteweg-de Vries equation Example 7.3 (Discretization of the modified Korteweg-de Vries equation) Similarly, we computed conserved densities for (7.3) from [39], where α = 0. 1 1 u̇n = −(γ + βun 2 )[δ( un+2 − un+1 + un−1 − un−2 ) 2 2 β 2 + [un+1 (un+2 + un ) − un−1 2 (un−2 + un )]], 2 (7.31) (7.31) is a completely integrable discretization of the modified KdV equation ut + 6βu2 ux + uxxx = 0. Step 1: Determine the weights of the variables according to both Scales d Scale 1: When w( dt ) = 1, all terms in (7.31) have the same rank if w(δ) + w(γ) = 1, w(β) + w(δ) + 2w(un ) = 1, w(β) + w(γ) + 2w(un ) = 1, 2w(β) + 4w(un ) = 1. Simple algebra determines that w(δ) = w(γ) = 21 , and w(β) = d Scale 0: Similarly, when w( dt ) = 0, (7.31) is uniform in rank if w(δ) + w(γ) = 0, w(β) + w(δ) + 2w(un ) = 0, 1 2 − 2w(un ). 97 w(β) + w(γ) + 2w(un ) = 0, 2w(β) + 4w(un ) = 0. This implies that w(δ) = w(γ) = 0, and w(β) = −2w(un ). Therefore, in addition to considering Scale 1 and Scale 0, we must consider two cases for the w(β). Case 1: w(β) = 0 Step 2.1: Construct the form of the density As an example, let us compute the density of rank R= 21 with choice w(un ) = 14 . So, based on Scale 1, w(β) = 0. For this case, I = {un 2 , un un+1 }. (7.32) All monomials are of rank R= 12 . When w(β) = 0, we form Table 7.9. Term c 1 un 2 c2 un un+1 Scale 0 Scale 1 1 0 2 1 0 2 Table 7.9. Ranks of terms in density candidate (R= 12 ) for the mKdV discretization Considering the two separate scales is irrelevant. Step 3.1: Determine the unknown coefficients There are only 2 terms in ρn . The software computes that c1 = 0 and c2 = 1, and therefore ρn = un un+1 . (7.33) 98 Step 2.2: Construct the form of the density As an example, we compute the density of rank R=1 using w(un ) = 1 4 to make w(β) = 0. Here, I = {γun 2 , δun 2 , un 4 , . . . , un un+2 un+3 2 , un un+3 3 }. (7.34) All monomials in I are of rank R=1. When w(β) = 0 we form Table 7.10 as before. Working with two separate scales does not help. Term c1 γun 2 .. . c28 un un+3 3 Scale 0 Scale 1 0 1 .. .. . . 0 1 Table 7.10. Ranks of terms in density candidate (R=1) for the mKdV discretization Step 3.2: Determine the unknown coefficients For the 28 constant in ρn , the software produces c1 = −c2 , c3 = c6 = c8 = c11 = c12 = c14 = . . . = c16 = c19 = . . . = c28 = 0, c7 = 1, c9 = β2 −c10 , c13 = 2, and c17 = −c18 . Setting δ = γ = 1 gives ρn = c4 un un+1 + c5 un un+1 + un 2 un+1 2 + 2un un+2 + 2un u2n+1 un+2 . β So, the part of the density with coefficient c4 or c5 is ρn = un un+1 . (7.35) 99 The part of the density without arbitrary coefficients is ρn = un 2 un+1 2 + 2un un+2 + 2un un+1 2 un+2 . β Case 2: w(β) 6= 0 Step 2.3: Construct the form of the density For w(β) 6= 0, the user may pick w(un ) = 1 8 making w(β) = 41 . Here, I = {βun 2 , βun un+1 , βun un+2 , βun un+3 , un 4 , un 3 un+1 , un 2 un+1 2 , un un+1 3 , un 3 un+2 , un 2 un+1 un+2 , un un+1 2 un+2 , un 2 un+2 2 , un un+1 un+2 2 , un un+2 3 , un 3 un+3 , un 2 un+1 un+3 , un un+1 2 un+3 , un 2 un+2 un+3 , un un+1 un+2 un+3 , un un+2 2 un+3 , un 2 un+3 2 , un un+1 un+3 2 , un un+2 un+3 2 , un un+3 3 }. (7.36) All monomials in I are of rank R= 21 . When w(β) 6= 0 we list the terms and their respective ranks in Table 7.11. Term c1 βun 2 .. . Scale 0 0 .. . Scale 1 1 .. . c4 , βun un+3 c 5 un 4 .. . 0 4w(un ) .. . 1 1 .. . c24 un un+3 3 4w(un ) 1 Table 7.11. Ranks of terms in density candidate (R= 12 ) for the mKdV discretization There are two different choices based on Scale 0. 100 • Choice 1 is a linear combination of the 4 terms of rank 0. • Choice 2 is a linear combination of the 20 terms of rank 4w(un ). Step 3.3: Determine the unknown coefficients Choice 1 gives c1 = c3 = c4 = 0 and c2 = 1. After setting δ = γ = 1 we obtain ρn = βun un+1 . Choice 2 results in only trivial densities. (7.37) 101 Chapter 8 CONCLUSION The two methods discussed in this thesis allow one to find polynomial-type conserved densities and fluxes for nonlinear systems of DDEs. These algorithms rely heavily on the dilation invariance of the given DDEs. Both methods are illustrated for the KvM, Toda, and AL lattices. In addition, our key applications are discretizations of the KdV equation, the mKdV equation and a combination of the two. It is conjectured that nonlinear DDEs with a large (in principle, infinite) number of conserved densities are completely integrable. Hence, our program can be used to test the integrability of such DDE systems. The first algorithm leaves many options to the user. Depending on the posed problem and desired result, proper selection from these options could simplify calculations. One option is that the user may choose to compute the densities either using a “shifting” technique or utilizing the discrete Euler operator. Both of these techniques are implemented. The second method can be used in two different ways. If the density ρn is known, one can find the associated flux by splitting Dt ρn into a piece that lies in the image of the operator ∆ and a piece that does not. Alternatively, sophisticated use of splitting technique also allows one to simultaneously find densities and fluxes at increased computational effort. This method is of more theoretical value and was not implemented. We offer the scientific community a new symbolic Mathematica package called 102 DDEDensityFlux.m to carry out the tedious calculations of conserved densities and fluxes for lattice equations. It is effective for systems of DDEs with parameters. In fact, for such DDEs our program gives conditions on the parameters so that the system will admit conserved densities of a given rank. This new package is much more reliable than earlier versions, since it now computes the flux as well as the density. The addition of the flux computation makes the software completely self-testing. Also, DDEDensityFlux.m now successfully computes conservation laws for much more complex DDEs that were previously unattainable. In the future, we hope to improve the speed of our algorithm, particularly for more complicated systems. Furthermore, we hope to extend these algorithms to calculate non-polynomial conserved densities and fluxes. 103 REFERENCES [1] M.J. Ablowitz and B.M. Herbst, SIAM J. Appl. Math. 50 (1990) 339. [2] M.J. Ablowitz and J.F. Ladik, J. Math. Phys. 17 (1976) 1011. [3] M.J. Ablowitz and J.F. Ladik, Stud. Appl. Math. 55 (1976) 213. [4] V. E. Adler, S. I. Svinolupov, and R. I. Yamilov, Phys. Lett. A 254 (1999) 24. [5] I. Yu. Cherdantsev and R. I. Yamilov, Physica D 87 (1995) 140. [6] I. Cherdantsev and R. Yamilov, in: Symmetries and Integrability of Difference Equations, CRM Proceedings and Lecture Notes 9, eds.: D. Levi, L. Vinet, and P. Winternitz (AMS, Providence, Rhode Island, 1996) 51. [7] P. A. Clarkson and F. W. Nijhoff, eds., Symmetries and Integrability of Difference Equations, Meeting SIDE II, Canterbury, Kent, 1996, London Mathematical Society Lecture Notes Series 255 (Cambridge University Press, Cambridge, U.K., 1999). [8] B. Deconinck, Phys. Lett. A 223 (1996) 45. [9] E. Fermi, J. Pasta, and S. Ulam, Collected papers of Enrico Fermi II (University of Chicago Press, Chicago, Illinois, 1965) 978. [10] Ü. Göktaş and W. Hereman, condens.m. Available via anonymous FTP from mines.edu. Login: anonymous. Password: email address or name. Change subdirectory to pub/papers/math cs dept/software/condens. There is a hot link to the FTP site via the Internet URL: http://www.mines.edu/fs home/whereman/. 104 [11] Ü. Göktaş and W. Hereman, diffdens.m Available via anonymous FTP from mines.edu. Login: anonymous. Password: email address or name. Change subdirectory to pub/papers/math cs dept/software/condens. There is a hot link to the FTP site via Internet URL: http://www.mines.edu/fs home/whereman/. [12] Ü. Göktaş and W. Hereman, InvariantsSymmetries.m: MathSource (Item: Available from 0208-932, Applications/Mathematics) via FTP: math- source.wolfram.com. There is a hot link to the FTP site via Internet URL: http://www.mathsource.com/cgi-bin/MathSource/Applications/0208-932. [13] Ü. Göktaş and W. Hereman, J. Symb. Comp. 24 (1997) 591. [14] Ü. Göktaş and W. Hereman, Physica D 123 (1998) 425. [15] Ü. Göktaş and W. Hereman, Adv. Comp. Math. 11 (1999) 55. [16] Ü. Göktaş and W. Hereman, Baltzer Journals (2003). [17] Ü. Göktaş, W. Hereman, and G. Erdmann, Phys. Lett. A 236 (1997) 30. [18] M. Hénon, Phys. Rev. B 9 (1974) 1921. [19] W. Hereman, Ü. Göktaş, M. Colagrosso, and A. Miller, Comp. Phys. Comm. 115 (1998) 428. [20] M. Hickman and W. Hereman, Computation of Densities and Fluxes of Nonlinear Differential-Difference Equations, Proc. Roy. Soc. London A (2003), in press. [21] J. Hietarinta, F. W. Nijhoff, and J. Satsuma, eds., Symmetries and Integrability of Difference Equations, Special Issue dedicated to the SIDE IV Meeting, Tokyo, Japan, 2000, J. Phys. A: Math. Gen. 34 (2001) 10337. 105 [22] R. Hirota and J. Satsuma, J. Phys. Soc. Jpn. 40 (1976) 891. [23] E. G. B. Hohler and K. Olaussen, Int. J. Mod. Phys. A11 (1996) 1831. [24] M. Ito, A REDUCE program for finding symmetries of nonlinear evolution equations with uniform rank, Comp. Phys. Comm. 42 (1986) 351-357. [25] M. Kac and P. van Moerbeke, Adv. Math. 16 (1975) 160. [26] D. Levi and O. Ragnisco, Lett. Nuovo Cimento 22 (1978)691. [27] D. Levi and O. Ragnisco, eds., SIDE III—Symmetries and Integrability of Difference Equations, Meeting SIDE III, Sabaudia, Italy, 1998, CRM Proceedings and Lecture Notes 25 (American Mathematical Society, Providence, Rhode Island, 2000). [28] D. Levi, L. Vinet, and P. Winternitz, eds., Symmetries and Integrability of Difference Equations, Meeting SIDE I, Esterel, Québec, Canada, 1994, CRM Proceedings and Lecture Notes 9 (American Mathematical Society, Providence, Rhode Island, 1996). [29] D. Levi and P. Winternitz, J. Math. Phys. 34 (1993) 3713. [30] D. Levi and R. I. Yamilov, J. Math. Phys. 38 (1997) 6648. [31] S. Manakov, Sov. Phys. JETP 40 (1975) 269. [32] J. Moser, Adv. Math. 16 (1975) 197. [33] A. Ramani, B. Grammaticos, and K. M. Tamizhmani, J. Phys. A: Math. Gen. 25 (1992) L883. [34] J. Sanders and W. Hereman. Private communication (2002). 106 [35] A. B. Shabat and R. I. Yamilov, Phys. Lett. A 130 (1988) 271. [36] A. B. Shabat and R. I. Yamilov, Leningrad Math. J. 2 (1991) 377. [37] A. B. Shabat and R. I. Yamilov, Phys. Lett. A 227 (1997) 15. [38] S. I. Svinolupov and R. I. Yamilov, Phys. Lett. A 160 (1991) 548. [39] T.R. Taha, Maths. Comput. in Simul. 35 (1993) 509. [40] G. Teschl, Jacobi Operators and Completely Integrable Nonlinear Lattices, AMS Mathematical Surveys and Monographs 72 (American Mathematical Society, Providence, Rhode Island 2000). [41] M. Toda, Theory of Nonlinear Lattices, 2nd enlarged edition (Springer Verlag, Berlin, 1989). [42] T. Tsuchida, H. Ujino and M. Wadati, J. Math. Phys. 39 (1998) 4785. [43] T. Tsuchida and M. Wadati, J. Phys. Soc. Jpn. 67 (1998) 1175. [44] T. Tsuchida, H. Ujino and M. Wadati, J. Phys. A: Math. Gen. 32 (1999) 2239. [45] V. Volterra, Leçons sur la théorie mathématique de la lutte pour la vie, (Gauthier-Villars, Paris, France, 1931). [46] R. I. Yamilov, in: Proc. 8th Int. Workshop on Nonlinear Evolution Equations and Dynamical Systems, NEEDS’92, Dubna, U.S.S.R., 1992, eds.: V. Makhankov, I. Puzynin, and O. Pashaev, (World Scientific, Singapore, 1993) 423. [47] R. I. Yamilov, J. Phys. A: Math. Gen. 27 (1994) 6839. 107 Appendix A DATA FILES Samples of existing data files are given in the following pages. One may create a new data file, though the format must be similar to those shown here. Specifically, a new data file must include all lines not ‘commented out’ by (* *). We recommend that existing data files be copied and modified. Two data files are included here, one for the Kac-van Moerbeke (KvM) lattice, and the other for the Ablowitz-Ladik (AL) lattice. Softcopy forms of the data files are available from the same location as the DDEDensityFlux.m code itself. 108 (? Data file for KvM lattice, d volter.m ?) u[1][n_]’[t]:= u[1][n][t]*(u[1][n+1][t]-u[1][n-1][t]); noeqs = 1; name = "Volterra (Kac-Van Moerbeke) Equation"; parameters = {}; weightpars = {}; formrho = 0; (* FORCING OPTIONS *) (* If forcesinglescale=True, only scale1 with w(d/dt)=1 is used to *) (* construct the form of rho. The density is not split into pieces. *) (* If forcemultiplescale=True, rho is constructed based on scale1, *) (* but split into pieces according to scale0 with w(d/dt) = 0. *) (* NOTE: If both are false, the code uses scale0 when appropriate. *) forcesinglescale = False; forcemultiplescale = False; (* If forceshiftsinrho=True, the code will generate the form of rho *) (* based on {u_n, u_{n+1}, ..., u_{n+maximumshift}}. *) 109 (* To compute the maximumshift there are two options (see below). *) (* If forceshiftsinrho=False, no shifts on the dependent variable *) (* u_n will be used to generate the form of rho. *) forceshiftsinrho = False; (* If forcemaximumshiftrhsdde=True, then the maximumshift is based *) (* on the maximum of the shifts occuring in the rhs of the DDEs. *) (* If forcemaximumshiftpowers=True, then maximumshift = p-1 where *) (* p = (rhorank/weightu[1]), that is the highest power in rho. *) (* Rho will be generated from the list {u_n, u_{n+1},...,u_{n+p-1}}.*) (* If u_n^p is the highest-power term in rho, then e.g. the term *) (* u_n u_{n+1} u_{n+2} ... u_{n+p-1} will occur in the form of rho. *) (* For example, if p=4 then maximumshift = p-1 =3. The terms in rho *) (* are based on {u_n, u_{n+1}, u_{n+2}}. So, rho has terms like *) (* u_n^4, u_n^2 u_{n+3}^2, ..., u_n u_{n+1} u_{n+2} u_{n+3}. *) (* NOTE: forcemaximumshiftrhsdde and forcemaximumshiftpowers must *) (* opposite Boolean values. *) forcemaximumshiftrhsdde = False; forcemaximumshiftpowers = False; (* If forcediscreteeuler=True, then the linear system for the c[i] *) (* is computed via the Discrete Variational Derivative (Euler) *) 110 (* Operator. If forceshifting=True, then the original shifting *) (* algorithm is used to compute the linear system for the c[i] and *) (* the fluxes J_n. *) forcediscreteeuler = True; forceshifting = False; (* If forcestripparameters=True, then power of the nonzero *) (* parameters, are removed in the factored form of the linear *) (* system for the c[i]. *) (* Example: aa, bb^3, aa*bb, ... are removed during simplification, *) (* but not factors like (aa^2-bb), (aa+bb)^4, etc. *) forcestripparameters = True; (* If forceextrasimplifications=True, then while generating the *) (* linear system, equations of type c[i] == 0 are automatically *) (* applied to the rest of the system for the c[i]. *) forceextrasimplifications = True; (* d_volter.m *) 111 (? Data file for AL lattice, d ablnls.m ?) u[1][n_]’[t]:= aa*(u[1][n+1][t]-2*u[1][n][t]+u[1][n-1][t]) + u[1][n][t]*u[2][n][t]*(u[1][n+1][t]+u[1][n-1][t]); u[2][n_]’[t]:= -aa*(u[2][n+1][t]-2*u[2][n][t]+u[2][n-1][t]) u[1][n][t]*u[2][n][t]*(u[2][n+1][t]+u[2][n-1][t]); noeqs = 2; name = "NLS Equation (Ablowitz-Ladik Discretization)"; parameters = {}; weightpars = {aa}; (* weightu[1] = weightu[2]; *) formrho = 0; (* FORCING OPTIONS *) (* If forcesinglescale=True, only scale1 with w(d/dt)=1 is used to *) (* construct the form of rho. The density is not split into pieces. *) (* If forcemultiplescale=True, rho is constructed based on scale1, *) (* but split into pieces according to scale0 with w(d/dt) = 0. *) (* NOTE: If both are false, the code uses scale0 when appropriate. *) 112 forcesinglescale = False; forcemultiplescale = False; (* If forceshiftsinrho=True, the code will generate the form of rho *) (* based on {u_n, u_{n+1}, ..., u_{n+maximumshift}}. *) (* To compute the maximumshift there are two options (see below). *) (* If forceshiftsinrho=False, no shifts on the dependent variable *) (* u_n will be used to generate the form of rho. *) forceshiftsinrho = False; (* If forcemaximumshiftrhsdde=True, then the maximumshift is based *) (* on the maximum of the shifts occuring in the rhs of the DDEs. *) (* If forcemaximumshiftpowers=True, then maximumshift = p-1 where *) (* p = (rhorank/weightu[1]), that is the highest power in rho. *) (* Rho will be generated from the list {u_n, u_{n+1},...,u_{n+p-1}}.*) (* If u_n^p is the highest-power term in rho, then e.g. the term *) (* u_n u_{n+1} u_{n+2} ... u_{n+p-1} will occur in the form of rho. *) (* For example, if p=4 then maximumshift = p-1 =3. The terms in rho *) (* are based on {u_n, u_{n+1}, u_{n+2}}. So, rho has terms like *) (* u_n^4, u_n^2 u_{n+3}^2, ..., u_n u_{n+1} u_{n+2} u_{n+3}. *) (* NOTE: forcemaximumshiftrhsdde and forcemaximumshiftpowers must *) (* opposite Boolean values. *) 113 forcemaximumshiftrhsdde = False; forcemaximumshiftpowers = False; (* If forcediscreteeuler=True, then the linear system for the c[i] *) (* is computed via the Euler Operator. *) (* If forceshifting=True, then the original shifting algorithm is *) (* used to compute the linear system for the c[i] and the fluxe J_n *) forcediscreteeuler = True; forceshifting = False; (* If forcestripparameters=True, then power of the nonzero *) (* parameters are removed in the factored form of the linear system *) (* for the c[i]. *) (* Example: aa, bb^3, aa*bb, ... are removed during simplification, *) (* but not factors like (aa^2-bb), (aa+bb)^4, etc. *) forcestripparameters = True; (* If forceextrasimplifications=True, then while generating the *) (* linear system, equations of type c[i] == 0 are automatically *) (* applied to the rest of the system for the c[i]. *) forceextrasimplifications = True; (* d_ablnls.m *)