2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Функция eval в Maple
Сообщение29.02.2016, 23:58 
Аватара пользователя


27/05/07
115
Maple 2015 ругается на программу, скопированную из On a Simple Proof of Butcher's Theorem and the Automatic Generation of Order Conditions: функция eval должна принимать 1 или 2 аргумента...

Код:
OrderConditions:=proc(order::posint,stages::posint)
option remember;
local eqs,vars,auto,explicit;
explicit:=seq(seq(a[i,j]=0,j=i..stages),i=1..stages);

vars:=eval(seq(b[i],i=1..stages),seq(seq(a[i,j],j=1..stages),i=1..stages),seq(c[i],i=1..stages),explicit) minus {0};

auto:=eval(seq(sum(a[i,j],j=1..stages)=c[i],i=1..stages),explicit);
eqs:=value(Eval(map(TreeOrderCondition,`union`(op(Trees(order)))),s=stages));
eqs:=eval(eval(eqs,explicit),auto);
eqs,auto,vars;
end: # OrderConditions
OrderConditions(4,4):%[1];
Error, (in OrderConditions) invalid input: eval expects 1 or 2 arguments, but received 4

В старых версиях Maple у этой функции могло быть больше 2 аргументов ? Можно ли эту ошибку как-нибудь обойти ?

 Профиль  
                  
 
 Re: Функция eval в Maple
Сообщение01.03.2016, 09:41 
Заслуженный участник


12/07/07
4452
eval может иметь не более двух параметров (выражение и равенство/равенства), но эти параметры могут быть множествами (или списками). Так было и в старых версиях (например, 7-ой). В данном случае (по смыслу) нужно использовать множества — «взять в фигурные скобки».
Например
Код:
vars:=eval(seq(b[i], i=1..stages), seq(seq(a[i,j],j=1..stages), i=1..stages), seq(c[i],i=1..stages), explicit) minus {0};
заменить на
Код:
vars:=eval({seq(b[i],i=1..stages), seq(seq(a[i,j],j=1..stages),i=1..stages), seq(c[i],i=1..stages), explicit}) minus {0};

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: gris


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group