Supongamos que tengo una función como esta
func1 := proc (a)
return sum(i, i=1..a);
end proc;
Esta función funciona siempre que no defina una variable global $i$ . Si lo hago, cada llamada posterior a func1 devuelve este error:
Error, (in sum) summation variable previously assigned, second argument evaluates to ...
Tengo entendido que a Arce no le gusta el $i$ en la suma, ya que piensa que debe utilizar el $i$ . ¿Puedo decirle de alguna manera a Maple que el $i$ en la suma es una variable temporal y no debe confundirse con la global $i$ ?
P.D. En el paquete real, tengo docenas de métodos que utilizan la suma y la multiplicación con índices como $i$ , $j$ etc. Renombrarlas todas a algo raro no es una solución, ya que nunca se sabe qué variables ha definido el usuario en sus archivos.
P.P.D. Si haces lo mismo en Mathematica:
i = 4;
Sum[i, {i,1,k}];
esto funciona sin problemas, ya que Mathematica reconoce el $i$ en los corchetes como parámetro temporal. No puedo imaginar que Maple no pueda hacer lo mismo.
Gracias.