You are an expert at summarizing long articles. Proceed to summarize the following text: 
there are several motives to find the explicit form of conserved densities of differential - difference equations ( ddes ) . the first few conservation laws have a physical meaning , such as conservation of momentum and energy . additional ones facilitate the study of both quantitative and qualitative properties of solutions @xcite . furthermore , the existence of a sequence of conserved densities predicts integrability . yet , the nonexistence of polynomial conserved quantities does not preclude integrability . indeed , integrable ddes could be disguised with a coordinate transformation in ddes that no longer admit conserved densities of polynomial type @xcite . another compelling argument relates to the numerical solution of partial differential equations ( pdes ) . in solving integrable discretizations of pdes , one should check that conserved quantities indeed remain constant . in particular , the conservation of a positive definite quadratic quantity may prevent nonlinear instabilities in the numerical scheme . the use of conservation laws in pde solvers is well - documented in the literature @xcite . several methods to test the integrability of ddes and for solving them are available . solution methods include symmetry reduction @xcite and solving the spectral problem @xcite on the lattice . adaptations of the singularity confinement approach @xcite , the wahlquist - estabrook method @xcite , and symmetry techniques @xcite allow one to investigate integrability . the most comprehensive integrability study of nonlinear ddes was done by yamilov and co - workers ( see e.g. @xcite ) . 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 @xcite , we gave an algorithm to compute conserved densities for systems of nonlinear evolution equations . the algorithm is based on the concept of invariance of equations under dilation symmetries . therefore , it is inherently limited to polynomial densities of polynomial systems . recently an extension of the algorithm towards ddes was outlined in @xcite . here we present a full description of our algorithm , which can be implemented in any computer algebra language . we also provide details about our software package * diffdens.m * @xcite in _ mathematica _ @xcite , which automates the tedious computation of closed - form expressions for conserved densities .    following basic definitions in section 2 , the algorithm is given in section 3 . to illustrate the method we use the toda lattice @xcite , a parameterized toda lattice @xcite , and the discretized nonlinear schrdinger ( nls ) equation @xcite . in section 4 , we list results for an extended lotka - volterra equation @xcite , a discretized modified kdv equation @xcite , a network equation @xcite , and some other lattices @xcite . the features , scope and limitations of our code * diffdens.m * are described in section 5 , together with instructions for the user . in section 6 , we draw some conclusions . consider a system of ddes which is continuous in time , and discretized in the single space variable , @xmath0 where @xmath1 and @xmath2 are vector dynamical variables with any number of components . for simplicity of notation , the components of @xmath3 will be denoted by @xmath4 etc . we assume that @xmath2 is polynomial with constant coefficients . if ddes are non - polynomial or of higher order in @xmath5 , we assume that they can be recast in the form ( [ multisys ] ) .    a local _ conservation law _ is defined by @xmath6 which is satisfied on all solutions of ( [ multisys ] ) . the function @xmath7 is the _ conserved density _ and @xmath8 is the associated _ flux . _ both are assumed to be polynomials in @xmath9 and its shifts .    obviously , @xmath10 and this telescopic series vanishes for a bounded periodic lattice or a bounded lattice resting at infinity . in that case , @xmath11 is constant in time . so , we have a conserved quantity . consider the one - dimensional toda lattice @xcite @xmath12 where @xmath13 is the displacement from equilibrium of the @xmath14th unit mass under an exponential decaying interaction force between nearest neighbors .    with the change of variables , @xmath15 lattice ( [ orgtoda ] ) can be written in polynomial form @xmath16 system ( [ todalatt ] ) is completely integrable @xcite . the first two density - flux pairs @xmath17 can be easily be computed by hand . we introduce a few concepts that will be used in our algorithm . let @xmath18 denote the _ shift - down _ operator and @xmath19 the _ shift - up _ operator . both are defined on the set of all monomials in @xmath9 and its shifts . if @xmath20 is such a monomial then @xmath21 and @xmath22 for example , @xmath23 and @xmath24 it is easy to verify that compositions of @xmath18 and @xmath19 define an _ equivalence relation _ on monomials . simply stated , all shifted monomials are _ equivalent _ , e.g. @xmath25 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 .    in the algorithm we will use the following _ equivalence criterion _ : if two monomials @xmath26 and @xmath27 are equivalent , @xmath28 then @xmath29 $ ] for some polynomial @xmath30 that depends on @xmath9 and its shifts . for example , @xmath31 since @xmath32   = u_{n-1 } u_{n+1 } + [ m_n - m_{n+1 } ] , $ ] with @xmath33    the _ main _ representative of an equivalence class is the monomial of that class with @xmath34 as _ lowest _ label on @xmath35 ( or @xmath36 ) . for example , @xmath37 is the main representative of the class with elements @xmath38 etc . lexicographical ordering is used to resolve conflicts . for example , @xmath39 ( not @xmath40 ) is the main representative in the class with elements @xmath41 etc . scaling invariance , which results from a special lie - point symmetry , is an intrinsic property of many integrable nonlinear pdes and ddes . indeed , observe that ( [ todalatt ] ) , and the couples @xmath42 and @xmath43 in ( [ todapair ] ) ( after inserting them in ( [ conslaw ] ) ) , are invariant under the dilation ( scaling ) symmetry @xmath44 where @xmath45 is an arbitrary parameter . stated differently , @xmath46 corresponds to one derivative with respect to @xmath47 denoted by @xmath48 similarly , @xmath49    our three - step algorithm exploits the symmetry ( [ symtoda ] ) to find conserved densities . _ step 1 : determine the weights of variables _    the _ weight _ , @xmath50 of a variable is by definition equal to the number of derivatives with respect to @xmath51 the variable carries . weights are non - negative , rational , and independent of @xmath52 without loss of generality we set @xmath53    the _ rank _ of a monomial is defined as the total weight of the monomial . for now we assume that all the terms ( monomials ) in a particular equation have the same rank . this property is called _ uniformity in rank_. the uniformity in rank condition leads to a system of equations for the unknown weights . different equations in the vector equation ( [ multisys ] ) may have different ranks .    requiring uniformity in rank for each equation in ( [ todalatt ] ) allows one to compute the weights of the dependent variables . indeed , @xmath54 yields @xmath55 which is consistent with ( [ symtoda ] ) . _ step 2 : construct the form of the density _ this step involves finding the building blocks ( monomials ) of a polynomial density with prescribed rank @xmath56 . all terms in the density must have the same rank @xmath56 . since we may introduce parameters with weights ( see example 6 ) , the fact that the density will be 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 @xmath57 be the list of all the variables with positive weights , including parameters with weight . the following procedure is used to determine the form of the density of rank @xmath56 :    * form the set @xmath58 of all monomials of rank @xmath56 or less by taking all appropriate combinations of different powers of the variables in @xmath57 . * for each monomial in @xmath58 , introduce the appropriate number of derivatives with respect to @xmath5 so that all the monomials exactly have weight @xmath56 . gather in set @xmath59 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 @xmath60 , which consists of the _ building blocks _ of the density with desired rank @xmath56 . * linear combination of the elements in @xmath61 with constant coefficients @xmath62 gives the form of polynomial density of rank @xmath63     continuing with ( [ todalatt ] ) , we compute the form of the density of rank @xmath64 from @xmath65 we build @xmath66 next , introduce @xmath5-derivatives , so that each term exactly has rank @xmath67 thus , using ( [ todalatt ] ) , @xmath68 gather the resulting terms in set @xmath69 since @xmath70 and @xmath71 in @xmath59 , @xmath72 is replaced by @xmath73 and @xmath74 by @xmath75 hence , we obtain @xmath76 linear combination of the monomials in @xmath61 gives the form of the density : @xmath77    _ step 3 : determine the unknown coefficients in the density _ the following procedure simultaneously determines the constants @xmath62 and the form of the flux @xmath8 :    * compute @xmath78 and use ( [ multisys ] ) to remove all the @xmath51-derivatives . * regarding ( [ conslaw ] ) , the resulting expression must match the pattern @xmath79 . use the equivalence criterion to modify @xmath78 . the goal is to introduce the main representatives and to identify the terms that match the pattern . * the part that does not match the pattern must vanish identically for any combination of the components of @xmath9 and their shifts . this leads to a _ linear _ system @xmath80 in the unknowns @xmath62 . if @xmath80 has parameters , careful analysis leads to conditions on these parameters guaranteeing the existence of densities . see @xcite for a description of this compatibility analysis . * the flux is the first piece in the pattern @xmath81.$ ]    carrying on with ( [ todalatt ] ) , we determine the coefficients @xmath82 through @xmath83 in ( [ formrho3toda ] ) by requiring that ( [ conslaw ] ) holds . simultaneously , we determine @xmath84    compute @xmath78 using ( [ formrho3toda ] ) . use ( [ todalatt ] ) to remove @xmath85 etc . after grouping the terms @xmath86 use the equivalence criterion to modify @xmath87 . for instance , replace @xmath88 by @xmath89 $ ] . in terms of main representatives , \nonumber \\ & & + c_2 u_{n } u_{n+1 } v_{n } +       [ c_2 u_{n-1 } u_n v_{n-1 } - c_2 u_{n } u_{n+1 } v_{n } ]   \nonumber \\ & & + c_2 v_{n}^2 + [ c_2 v_{n-1}^2 - c_2 v_{n}^2 ]   - c_3 u_n u_{n+1 } v_n - c_3 v_n^2 . \end{aligned}\ ] ] next , group the terms outside of the square brackets and move the pairs inside the square brackets to the bottom . rearrange the latter terms so that they match the pattern @xmath91 $ ] . hence , @xmath92.\end{aligned}\ ] ] the first piece inside the square brackets determines @xmath93 the terms outside the square brackets must all vanish piece by piece , yielding @xmath94 the solution is @xmath95 since densities can only be determined up to a multiplicative constant , we choose @xmath96 and substitute this into ( [ formrho3toda ] ) and ( [ formflux3toda ] ) . the explicit forms of the density and the flux follow : @xmath97    to illustrate how the algorithm works for ddes with parameters , consider the parameterized toda lattice @xmath98 where @xmath99 and @xmath100 are _ nonzero _ parameters without weight . in @xcite it was shown that ( [ partodalatt ] ) is completely integrable if and only if @xmath101 ; but then ( [ partodalatt ] ) is ( [ todalatt ] ) .    using our algorithm , one can easily compute the _ compatibility conditions _ for @xmath99 and @xmath100 , so that ( [ partodalatt ] ) admits a polynomial conserved densities of , say , rank 3 . the steps are the same as for ( [ todalatt ] ) . however , ( [ todasystem ] ) must be replaced by @xmath102 a non - trivial solution @xmath103 will exist if and only if @xmath104    analogously , ( [ partodalatt ] ) has density @xmath105 of rank 1 if @xmath106 and density @xmath107 of rank 2 if @xmath108 only when @xmath109 will ( [ partodalatt ] ) have conserved densities of rank @xmath110 3 : @xmath111 ignoring irrelevant shifts in @xmath112 these densities agree with the results in @xcite .    in @xcite , ablowitz and ladik studied the following integrable discretization of the nls equation : @xmath113 where @xmath114 is the complex conjugate of @xmath115 instead of splitting @xmath46 into its real and imaginary parts , we treat @xmath46 and @xmath116 as independent variables and augment ( [ orgabllad ] ) with its complex conjugate . absorbing @xmath117 in the scale on @xmath118 @xmath119 since @xmath120 we have @xmath121 neither of the equations in ( [ abllad ] ) is uniform in rank . to circumvent this problem we introduce an auxiliary parameter @xmath99 with weight , and replace ( [ abllad ] ) by @xmath122 this extra freedom allows us to impose uniformity in rank : @xmath123 which yields @xmath124 or , @xmath125    we show how to get the building blocks of the density of rank @xmath126 . in this case @xmath127 and @xmath128 the monomials @xmath129 and @xmath130 have already rank @xmath126 , so no derivatives are needed . the monomials @xmath46 and @xmath131 will have rank @xmath126 after introducing @xmath132 . there is no way for the remaining monomials @xmath133 and @xmath134 to have rank @xmath126 after differentiation with respect to @xmath5 . therefore , they are rejected . the remaining intermediate steps lead to @xmath135 although uniformity in rank is essential for the first two steps of the algorithm , after the second step , we may already set @xmath136 the computations now proceed as in the previous example . the trick of introducing one or more extra parameters with weights can always be attempted if any equation in ( [ multisys ] ) lacks uniformity in rank . we list some conserved densities of ( [ abllad ] ) : @xmath137   \nonumber \\ \!\!\!\!\!\!\!\!\!\!\!\!\ ! & + &   c_2 [   { \textstyle{1 \over 3 } } u_n^3 v_{n+1}^3 +   u_n u_{n+1 } v_{n+1 } v_{n+2 } ( u_n v_{n+1 } + u_{n+1 } v_{n+2 } + u_{n+2 } v_{n+3 } )   \nonumber \\ \!\!\!\!\!\!\!\!\!\ ! & + & \ ! u_n v_{n+2 } ( u_n v_{n+1 } \!+\ ! u_{n+1 } v_{n+2 } ) \!+\ ! u_n v_{n+3 } ( u_{n+1 } v_{n+1 } \!+\ ! u_{n+2 } v_{n+2 } ) \!+\ ! u_n v_{n+3}].\end{aligned}\ ] ] our results confirm those in @xcite . also , if defined on an infinite interval , ( [ orgabllad ] ) admits infinitely many independent conserved densities @xcite . although it is a constant of motion , we can not find the hamiltonian of ( [ orgabllad ] ) , @xmath138,\ ] ] for it has a logarithmic term @xcite in @xcite , hu and bullough considered an extended version of the lotka - volterra equation : @xmath139 for @xmath140 ( [ extvolterra ] ) is the well - known lotka - volterra equation , for which the densities were presented in @xcite . we computed five densities of ( [ extvolterra ] ) for the case @xmath141 . the first three are : @xmath142    for @xmath143 , we also computed five densities of ( [ extvolterra ] ) . the first three are : @xmath144    we computed four densities of ( [ extvolterra ] ) for @xmath145 to save space we do not list them here . the integrability and other properties of ( [ extvolterra ] ) are discussed in @xcite .      in @xcite , we found the following integrable discretization of the mkdv equation : @xmath146 we computed four densities of ( [ discmkdv ] ) . the first three are : @xmath147      the integrable nonlinear self - dual network equations @xcite can be written as : @xmath148 we computed the first four densities of ( [ dual ] ) . the first three are @xmath149      shabat and yamilov @xcite studied the following integrable volterra lattice : @xmath150 with our program we computed the first four densities for this system : @xmath151    in @xcite , the following hamiltonian lattice is also listed : @xmath152 four densities of ( [ ravilsys ] ) are : @xmath153 we describe the features , scope and limitations of our program * diffdens.m * , which is written in _ mathematica _ syntax @xcite . the program has its own _ menu _ interface with a dozen data files . users should have access to _ mathematica_. the code * diffdens.m * and the data files @xcite must be in the same directory .      after launching _ mathematica _ , type    .... in[1]:= < < diffdens.m ....    to read in the code * diffdens.m * and start the program . via its menu interface , the program will prompt the user for answers . the density is available at the end of the computations . to view it in standard _ notation , type ` rho ` . to display it in a more elegant subscript notation , type ` subscriptform[rho ] ` .      to test systems that are not in the menu , one should prepare a data file in the format of the data files that are provided with the code . of course , the name for a new data file should not coincide with any name already listed in the menu , unless one intended to modify those data files . for the parameterized toda lattice ( [ partodalatt ] ) the data file reads :    .... ( * start of data file d_ptoda.m with parameters . * ) ( * toda lattice with parameters aa and bb * )    u[1][n_]'[t]:= aa*u[2][n-1][t]-u[2][n][t ] ; u[2][n_]'[t]:= u[2][n][t]*(bb*u[1][n][t]-u[1][n+1][t ] ) ;    noeqs = 2 ; name = " toda lattice ( parameterized ) " ; parameters = { aa , bb } ; weightpars = { } ;    ( * the user may give the rank of rho * )    ( * and a name for the output file . * ) ( * rhorank = 3 ; * ) ( * myfile = " ptodar3.o " ; * )    ( * the user can give the weights of u[1 ] and u[2 ] , * ) ( * and of the parameters with weight ( if applicable ) . * ) ( * weightu[1 ] = 1 ; weightu[2 ] = 2 ; weight[aa ] = 1 ; * )    formrho = 0 ;    ( * the user can give the form of rho . * ) ( * for example , for the density of rank 3 : * ) ( * formrho = c[1]*u[1][n][t]^3+c[2]*u[1][n][t]*u[2][n-1][t]+               c[3]*u[1][n][t]*u[2][n][t ] ; * )    ( * end of data file d_ptoda.m * ) ....    a brief explanation of the lines in the data file now follows . ` u[i][n_]'[t ] : = ... ; ` give the @xmath154 equation of the system in _ mathematica _ notation . 1.5pt ` noeqs = 2 ; ` specify the number of equations in the system . 1.5pt ` name = " toda lattice ( parameterized ) " ; ` pick a short name for the system under investigation . the quotes are essential . 1.5pt ` parameters = { aa , bb } ; ` give the list of parameters in the system . if none , set _ parameters = \ { } _ . 1.5pt ` weightpars = { } ; ` give the list of the parameters that are assumed to have weights . note that weighted parameters are _ not _ listed in _ parameters _ , the latter is the list of parameters without weight . 1.5pt ` ( * rhorank = 3 ; * ) ` optional . give the desired rank of the density , if less interactive use of the program is preferred ( batch mode ) . 1.5pt ` ( * myfile = " ptodar3.o " ; * ) ` optional . give a name of the output file , again to bypass interaction with the program . 1.5pt ` ( * weightu[1 ] = 1 ; weightu[2 ] = 2 ; * ) ` optional . specify a choice for _ some or all _ of the weights . the program then skips the computation of the weights , but still checks for consistency . particularly useful if there are several free weights and non - interactive use is preferred . 1.5pt ` formrho = 0 ; ` if _ formrho _ is set to zero , the program will _ compute _ the form of @xmath155 1.5pt    .... formrho = c[1]*u[1][n][t]^3+c[2]*u[1][n][t]*u[2][n-1][t]+            c[3]*u[1][n][t]*u[2][n][t ] ; ....    alternatively , one could give a form of @xmath156 ( here of rank 3 ) . the density must be given in expanded form and with coefficients c[i ] . if form of @xmath156 is given , the program skips both the computation of the weights and the form of the density . instead , the code uses what is given and computes the coefficients c[i ] . this option allows one , for example , to test densities from the literature . 1.5pt anything within ` ( * ` and ` * ) ` is a comment and ignored by _ mathematica_. once the data file is ready , pick the choice  ` tt ) your system ` " in the menu . our program can handle systems of first order ddes that are polynomial in the dependent variables . only one independent variable ( @xmath5 ) is allowed . no terms in the ddes should have coefficients that _ explicitly _ depend on @xmath5 or @xmath34 . the program only computes polynomial conserved densities in the dependent variables and their shifts , without explicit dependencies on @xmath5 or @xmath34 . theoretically , there is no limit on the number of ddes . in practice , for large systems , the computations may take a long time or require a lot of memory . the computational speed depends primarily on the amount of memory .    by design , the program constructs only densities that are uniform in rank . the uniform rank assumption for the monomials in @xmath157 allows one to compute _ independent _ conserved densities piece by piece , without having to split linear combinations of conserved densities . due to the superposition principle , a linear combination of conserved densities of unequal rank is still a conserved density . this situation arises frequently when parameters with weight are introduced in the ddes . the input systems can have one or more parameters , which are assumed to be nonzero . if a system has parameters , the program will attempt to compute the compatibility conditions for these parameters such that densities ( of a given rank ) exist . the assumption that all parameters in the given dde must be nonzero is essential . as a result of setting parameters to zero in a given system of ddes , the weights and the rank of @xmath157 might change . in general , the compatibility conditions for the parameters could be highly nonlinear , and there is no general algorithm to solve them . the program automatically generates the compatibility conditions , and solves them for parameters that occur linearly . grbner basis techniques could be used to reduce complicated nonlinear systems into equivalent , yet simpler , non - linear systems . for ddes with parameters and when the linear system for the unknown coefficients @xmath62 has many equations , the program saves that system and its coefficient matrix , etc . , in the file _ worklog.m_. independent from the program , the worklog files can later be analyzed with appropriate _ mathematica _ functions . the assumption that the ddes are uniform in rank is not very restrictive . if the uniform rank condition is violated , the user can introduce one or more parameters with weights . this also allows for some flexibility in the form of the densities . although built up with terms that are uniform in rank in the dependent variables and parameters , the densities do no longer have to be uniform in rank with respect to the dependent variables alone . conversely , when the uniform rank condition _ is _ fulfilled , the introduction of extra parameters ( with weights ) in the given dde leads to a linear combination of conservation laws , not to new ones .    in cases where it is not clear whether or not parameters with weight should be introduced , one should start with parameters without weight . if this causes incompatibilities in the assignment of weights ( due to non - uniformity ) , the program may provide a suggestion . quite often , it recommends that one or more parameters be moved from the list _ parameters _ into the list _ weightpars _ of weighted parameters .    for systems with two or more free weights , the user will be prompted to enter values for the free weights . if only one weight is free , the program will automatically compute some choices for the free weight , and continue with the lowest integer or fractional value . the program selects this value for the free weight ; it is just one choice out of possibly infinitely many . if the algorithm fails to determine a suitable value , the user will be prompted to enter a value for the free weight . negative weights are not allowed . zero weights are allowed , but at least one of the dependent variables must have positive weight . the code checks this requirement , and if it is violated the computations are aborted . note that _ fractional weights _ and densities of _ fractional rank _ are permitted . our program is a tool in the search of the first half - dozen conservation laws . an existence proof ( showing that there are indeed infinitely many conservation laws ) must be done analytically . if our program succeeds finding a large set of independent conservation laws , there is a good chance that the system of ddes has infinitely many conserved densities . if the number of conserved densities is 3 or less , the dde may have other than polynomial conserved densities , or may not be integrable ( in the chosen coordinate representation ) . we offer the scientific community a _ mathematica _ package to carry out the tedious calculations of conserved densities for systems of nonlinear ddes . the code * diffdens.m * , together with several data and output files , is available via internet url @xcite . the existence of a large number of conservation laws is an indicator of integrability of the lattice . therefore , by generating the compatibility conditions , one can analyze classes of parameterized ddes and filter out the candidates for complete integrability . nal gkta thanks wolfram research , inc . for an internship . we acknowledge helpful comments from drs . b. herbst , s. mikhailov , w .- h . steeb , y. suris , p. winternitz , and r. yamilov . we also thank g. erdmann for his help with this project . hohler and k. olaussen , int . a 11 ( 1996 ) 1831 . shabat and r.i . yamilov , leningrad math . j. 2 ( 1991 ) 377 . hickernell , stud . appl . math . 69 ( 1983 ) 23 . leveque , numerical methods for conservation laws ( birkhuser verlag , basel , 1992 ) . sanz - serna , j. comput . ( 1982 ) 199 . d. levi and p. winternitz , j. math . 34 ( 1993 ) 3713 . d. levi and o. ragnisco , lett . nuovo cimento 22 ( 1978 ) 691 . a. ramani , b. grammaticos and k.m . tamizhmani , j. phys . a : math . gen . 25 ( 1992 ) l883 . b. deconinck , phys . lett . a 223 ( 1996 ) 45 . i. cherdantsev and r. yamilov , in : symmetries and integrability of difference equations , eds . d. levi , l. vinet and p. winternitz ( american mathematical society , providence , rhode island , 1996 ) 51 . d. levi and r. yamilov , j. math . 38 ( 1997 ) 6648 . v.v . sokolov and a.b . shabat , in : soviet sci . 4 ( harwood academic publishers , new york , 1984 ) 221 . r. yamilov , in : proc . workshop on nonlinear evolution equations and dynamical systems ( world scientific publishing , singapore , 1993 ) 423 . . gkta and w. hereman , j. symb . ( 1997 ) 591 . . gkta and w. hereman . the program condens.m is available via internet url : http://www.mines.edu / fs_home / whereman/.          m.j . ablowitz and j.f . ladik , j. math . 17 ( 1976 ) 1011 . ablowitz and j.f . ladik , stud . 55 ( 1976 ) 213 . ablowitz and b.m . herbst , siam j. appl . 50 ( 1990 ) 339 . hu and r.k . bullough , j. phys . a : math . gen . 30 ( 1997 ) 3635 . ablowitz and p.a . clarkson , solitons , nonlinear evolution equations and inverse scattering ( cambridge university press , cambridge , u.k . , 1991 ) .
an algorithm to compute polynomial conserved densities of polynomial nonlinear lattices is presented . 
 the algorithm is implemented in _ 
 mathematica _ and can be used as an automated integrability test . with the code * diffdens.m * , conserved densities are obtained for several well - known lattice equations . for systems with parameters , 
 the code allows one to determine the conditions on these parameters so that a sequence of conservation laws exist .    ,    conservation law ; integrability ; semi - discrete ; lattice