Illustratie: sommen en producten

Het bereken van sommen en producten in Maple kan eenvoudig via de functies 'sum' en 'product'. Aangezien beiden dezelfde syntax hebben geldt de onderstaande bespreking van 'sum' ook voor 'product'.

> sum(x^'k'/'k'!,'k'=0..10);

[Maple Math]

De syntax is zoals men die zou verwachten, behalve misschien de aanwezigheid van de single quotes omheen 'k'. Essentieel zorgen deze ervoor dat 'k' een lokale variabele is in de som zodat ongewenste neveneffecten vermeden worden. Dit wodt door onderstaand voorbeeld geillustreerd.

> k := 3;

[Maple Math]

> sum(x^k/k!,k=0..10);

Error, (in sum) summation variable previously assigned, second argument evaluates to, 3 = 0 .. 10

> sum(x^'k'/'k'!,'k'=0..10);

[Maple Math]

> k := 'k':

Dit voorbeeld illustreert duidelijk dat men best de nodige aandacht kan schenken aan de scope van een variabele. Het illustreert tevens een belangrijke maxim: "Werk steeds zoveel mogelijk met lokale variabelen".

In Maple beschikt men echter over een alternatief dat dit scoping probleem omzeilt: het gebruik van de functies 'add' en 'mul'.

> k := 'k':

> k := 3;

[Maple Math]

> add(x^k/k!, k = 0 .. 10);

[Maple Math]

> k := 'k':

Er is echter een beperking van de 'add' en 'mul' functies tov. 'sum' en 'product'. Deze laatsten kunnen gebruikt worden voor symbolische sommen en producten, hetgeen met 'add' en 'mul' niet het geval is.

> sum(('k')^2,'k' = 1 .. n);

[Maple Math]

> add(k^2,k = 1 .. n);

Error, unable to execute add

Voor expliciete sommen en producten verkleint men de kans op moeilijkheden aanzienlijk door het gebruik van 'add' en 'mul'.