Ориентиры для базисов Грёбнера и решения полиномиальных систем


10

В недавнем вопросе о решении системы из 7 нелинейных алгебраических уравнений символически Брайан Борхерс экспериментально подтвердил, что Maple может решать полиномиальную систему, с которой не справляется Matlab / Mupad. В прошлом я слышал от людей, работающих в этой области, что в Maple реализована высококачественная реализация базисов Грёбнера и связанных с ними алгоритмов (которые, как я полагаю, используются здесь).

Поэтому я испытываю желание предложить «Matlab медленно решает проблемы такого рода, переключитесь на Maple», но я хотел бы получить данные, подтверждающие это утверждение.

Существует ли набор результатов для сравнения скорости и эффективности реализации базиса Грёбнера и решений полиномиальных систем в различных системах компьютерной алгебры? (Maple, Mathematica, символический инструментарий Matlab и так далее).


Не забывайте sympy!
Кристиан Клэйсон

@ ChristianClason Да, в принципе их много. Singular, Macaulay, Magma, CoCoA, Gap, Sage, Axiom, Maxima, Yacas ... Считаете ли вы, что симпй особенно хорош? Как поживает проблема Алаа?
Федерико Полони

Не то чтобы я считаю, что это особенно хорошо, мне просто интересно, так как он широко доступен, с открытым исходным кодом и довольно прост в освоении. Я попробовал это на проблеме, но не получил никакого результата (но у меня также не было большого терпения).
Кристиан Клэйсон

Я думаю, что следует различать универсальное символическое программное обеспечение (SymPy, Maple, набор инструментов Matlab, Mathematica) и более производительные пакеты специального назначения (Singular, CoCoA, Macaulay). Sage немного отличается, потому что он по сути только объединяет много пакетов специального назначения (вместе с несколькими пакетами общего назначения). В Википедии есть полезный список .
Кристиан Клэйсон

Еще одна причина, по которой я упомянул sympy, заключается в том, что она выполняет ту же роль, которую интересует Alaa - результаты (через lambdify) легко использовать для численных расчетов.
Кристиан Клэйсон

Ответы:


10

Я разместил некоторые тесты здесь: http://www.cecm.sfu.ca/~rpearcea/mgb.html

Это для заказов на общую степень. Для решения систем обычно требуется больше работы. Выбор времени для типичного среднего класса настольного компьютера с 2015 года (четырехъядерный процессор Haswell Core i5).

Самая быстрая система на одном ядре - это Magma, которая использует арифметику с плавающей запятой и SSE / AVX. Magma - самая сильная система, потому что она имеет хорошие реализации FGLM и системы Groebner (не тестировалась). Эти алгоритмы используются для преобразования общей степени в лексикографическую основу треугольной формы. Тогда вы, как правило, делите многочлены на самые низкие переменные.

mgb - это библиотека C в Maple 2016, которая реализует алгоритм F4 для общей степени и порядков исключения. Его производительность сопоставима с Magma, когда он использует несколько ядер.

FGb - это реализация Faugere F4. Версия, протестированная здесь, с его сайта, и она быстрее, чем версия в Maple.

Giac - система с открытым исходным кодом с реализацией F4. Есть статья с описанием этого http://arxiv.org/abs/1309.4044

Singular - это система с открытым исходным кодом для многих вычислений в алгебраической геометрии. В тестах здесь используется «modStd», который является мультимодульной версией алгоритма Бухбергера. Вы можете видеть, что алгоритм Бухбергера не конкурирует с F4. Основная причина в том, что F4 амортизирует стоимость всех мономиальных операций. Помимо этого, Singular имеет достаточно хорошие реализации FGLM и Groebner Walk, а также другие алгоритмы, полезные для решения.


Спасибо, это очень полезно. Я рассматриваю переключение принятого ответа.
Федерико Полони

8

Поиск в Google benchmark polynomial systemsприводит к нескольким хитам, включая Инициативу по компьютерной алгебре Университета Мангейма . К сожалению, большинство из них устарели или перестали существовать. Самым активным кажется SymbianData Wiki , но, насколько я могу судить, он собирает только проблемы с тестами , а не результаты тестов .

Некоторые сравнения (начиная с 1996 года) систем аксиомы, Macsyma, Maple, Mathematica, MuPAD и Reduce могут быть найдены в Hans-Gert Gräbe, О средстве решения полиномиальной системы Axiom, Macsyma, Maple, Mathematica, MuPAD, и Сокращение , Препринт 11/96 des Instituts für Informatik, Университет Лейпцига, Германия, декабрь 1996 . Вывод заключается в том, что Axiom, Maple и Reduce выигрывают благодаря использованию баз Грёбнера (другие не сделали этого на данный момент), при этом Maple выходит немного впереди остальных.

На сайте SINGULAR также есть старое сравнение, показывающее, что SINGULAR 2.0 (текущая по состоянию на декабрь 2015 года - 4.0.2) побеждает Maple и других.

С другой стороны, более свежая публикация ( Yao Sun, Dongdai Lin и Dingkang Wang. 2015. О реализации основанных на сигнатурах базисных алгоритмов Грёбнера с использованием линейных алгебраических процедур из M4RI. ACM Commun. Comput. Algebra 49, 2 (August 2015) , 63-64 сравнивают авторскую реализацию базисного алгоритма Грёбнера с алгоритмами Maple, Singular и Magma, причем Magma на порядок быстрее, чем другие два пакета (и связывается с реализацией авторов).

Так что, похоже, это сильно зависит от проблемы (размера и структуры) и версии программного обеспечения, какой пакет является самым быстрым. Тем не менее, рекомендация использовать активно разработанную специализированную систему компьютерной алгебры, такую ​​как Singular, Magma или Maple, а не универсальное программное обеспечение для символьных вычислений, является обоснованной. Это удваивается для набора инструментов в числовом программном обеспечении, что добавляет дополнительный уровень издержек и обычно составляет несколько версий позади автономного программного обеспечения, на котором они основаны (MuPAD, ранее Maple, в случае набора инструментов Matlab).


Спасибо за предоставление этих ресурсов. Меня удивляет, что существует очень мало или вообще нет комплексных и современных контрольных показателей.
Федерико Полони,

6

Всегда имейте в виду, что результаты любого теста будут зависеть, помимо размера задачи, от базового поля, над которым определено кольцо полинома (рациональные числа или целые числа по модулю некоторой степени простого числа).

Библиотека FGb - это активно разработанная и высокопроизводительная реализация алгоритма F5. Эталон, сравнивающий FGb с Магмой, можно найти в:

Faugère, J.-C. (2010). FGb: Библиотека для вычисления базисов Гребнера (стр. 84–87). DOI: 10.1007 / 978-3-642-15582-6_17

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.