# Question:updating Maple code

## Question:updating Maple code

Maple

I would like to use a series of Maple worksheets, written by Professors Malidi Ahamadi and Jean-Jacques Gervais, designed to compute the normal forms of ODEs and PDEs. The code was written for an earlier version of Maple (maybe version 7 or 8) and doesn't run anymore on Maple 13. I would like to make the necessary adaptations to the code to run it on Maple 13. Unfortunately, I am no Maple expert...

When I run the worksheet, the following error message shows:

```Error, (in sum) second argument must be a name, name=a..b, name=RootOf, or name=value
```

I suspect that the following (and similar) line of code (edited) is the culprit:

```sum('sum('cat(Phi,2*k+1,t)*x^(2*k+1)*mu^t',('k') = 0 .. 10)',t = 0 .. 10);
```

Any suggestions?

many thanks,

Patrick.

• The software archives, containing Maple and Matlab code, has been posted on Mapleprimes, with the generous consent of Professors Gervais and Ahamadi:

http://www.mapleprimes.com/9249_f_normales.zip
• The reference to the relevant article is the following:

@article{947796,
author = {Ahamadi, Malidi and Gervais, Jean-Jacques},
title = {Symbolic-numerical methods for the computation of normal forms of PDEs},
journal = {J. Comput. Appl. Math.},
volume = {158},
number = {2},
year = {2003},
issn = {0377-0427},
pages = {443--472},
doi = {http://dx.doi.org/10.1016/S0377-0427(03)00482-5},
publisher = {Elsevier Science Publishers B. V.},
address = {Amsterdam, The Netherlands, The Netherlands},
}
• The article is available online in pdf format:

http://www.maths.leeds.ac.uk/~malidi/PaperSysDyn.pdf

• For convenience, the procedure which I think contains outdated code (the full code is in the zipped file referenced above):

decomp_var_centrale := proc (symetrie_vc,i, degre)
local ppi, lpi;
if symetrie_vc=1 then
if i = 0 then ppi := sum('sum('cat(Phi,2*k+1,t)*x^(2*k+1)*mu^t',('k') = 0 .. degre)',t = 0 .. degre);
lpi := sum('sum('cat(Phi,i,2*k+1,t)*x^(2*k+1)*mu^t',('k') = 0 .. degre)',t = 0 .. degre); remove(has,nettoie_degre_steady(lpi,degre),Phi10);
end if;
else
if i = 0 then ppi := sum('cat(Phi0,j)*mu^j',j=1..degre)+ sum('sum('cat(Phi,k,t)*x^k*mu^t',('k') = 1 .. degre)',t = 0 .. degre);