2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Ограничение по времени на вычисление в Maple
Сообщение20.04.2016, 17:36 


02/10/15
41
Добрый день!

Помогите пожалуйста с решением такой проблемы.

Имеется набор из нескольких десятков полиномов. Необходимо перебрать все возможные комбинации по два полинома из этого набора и посчитать для каждого такого набора базис Грёбнера.

Я делаю это следующим образом (для примера взял 4 полинома).

Код:
with(Groebner):
U[1] := x^3*y^3*z-x*y^2*z^4+x*y*z^2-6*y^2*z:
U[2] := 4*x^6*y*z+y^2*z^4-x*y*z^3+8*x*y*z^2-7*x*y:
U[3] := x*y*z^5-3*x^2*z^3+x*y*z^3+x*y*z^2:
U[4] := x*y^7-3*x^5*y+2*x^2*y*z^2-2*x*y^2*z^2-y:

k:=0:
for i from 1 to 4 do
for j from 1 to 4 do
k:=k+1:
B[k] := Basis([U[i], U[j]], plex(op(indets([U[i], U[j]])))):
od:
od:


Проблема в том, что некоторые из таких комбинаций считаются очень долго (так долго, что Maple в итоге "зависает"). Можно ли сделать так, что если выражение
Код:
Basis([U[i], U[j]], plex(op(indets([U[i], U[j]]))))

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

Я пробовал использовать команду timelimit:
Код:
timelimit(20, Basis([U[i], U[j]], plex(op(indets([U[i], U[j]])))))

но после того, как находится комбинация, для которой время превышено, выдаётся сообщение "Error, (in Buchberger:-inter_reduce_gb) time expired" и оставшиеся комбинации не проверяются.

Ещё был вариант делать проверку
Код:
if traperror(timelimit(20, Basis([U[i], U[j]], plex(op(indets([U[i], U[j]]))))))<>"time expired" then (рассчитывать Basis)

но и так не получилось - иногда в сообщении выводится не только "time expired", но и какие-то другие символы и эта проверка не срабатывает.

Подскажите пожалуйста, как можно решить эту проблему?
Заранее спасибо!

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

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



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

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


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

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