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
4522
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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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