Как минимизировать сумму в Maple

У меня следующая проблема - мне нужно минимизировать сумму в maple. Например, предположим, что у меня есть это:

ВЫРАЖЕНИЕ:=А[0]+А[1]+А[2]+А[3]+А[4]+А[5];

И я хочу использовать некоторую функцию

некоторая функция (выражение);

который вернет символ суммы (например, sum(A[i], i = 0 .. 5));

Существует ли такая функция?


person Art713    schedule 09.06.2013    source источник
comment
ты пробовал упростить?   -  person SheetJS    schedule 09.06.2013


Ответы (2)


Хорошо, я думаю, вам нужно что-то, чтобы сжать существующее выражение. Если вы хотите указать слагаемое, индекс и диапазон индексов, то someFunction может вычесть термины и добавить (неоцененную) сумму этих терминов.

convert_to_Sum:= (ex, summand, index)->
    simplify(ex - sum(summand, index) + Sum(summand, index))
;

Пример:

ex:= A[0]+A[1]+A[2]+A[3]+A[4]+A[5];
convert_to_Sum(ex, A[i], i= 0..5);
person Carl Love    schedule 09.06.2013

Используйте Sum(A[i], i= 0..5) Обратите внимание, что Sum вводится в верхнем регистре. Я понимаю, что это не относится к случаю, когда выражение уже существует, что может быть тем, что вас в первую очередь интересует.

person Carl Love    schedule 09.06.2013
comment
Нет, мне нужно что-то вроде обратной суммы! - person Art713; 09.06.2013