Введение

Компьютерная алгебра система Фермат (названа в честь Пьера де Ферма) - программа, разработанная профессором Робертом Льюисом из Фордхэмского университета. Это компьютерная алгебраическая система, в которой вычисляемые элементы могут быть целыми числами (произвольного размера), рациональными числами, реальными числами, комплексными числами, модульными числами, конечными элементами поля, многомерными многочленами, рациональными функциями или многочленами модулем других многочленов. Основными областями применения являются многовариантная арифметика рациональных функций и матричная алгебра над кольцами многовариантных полиномов или рациональных функций. Ферма не делает упрощение трансцендентных функций или символической интеграции. Сеанс с Ферма обычно начинается с выбора рационального или модульного "режима" для установления поля основания (или кольца основания) как или На вершине этого может быть прикреплено любое количество символических переменных, тем самым создавая кольцо многочлена и его поле коэффициента. Кроме того, некоторые полиномы, включающие некоторые из числа, могут быть выбраны для модификации, создавая кольцо квот. Наконец, можно разрешить полиномы Лоранта, те, которые имеют как отрицательные, так и положительные показатели. Как только вычислительное кольцо установлено таким образом, все вычисления являются элементами этого кольца. Вычислительное кольцо может быть изменено позже в сессии. Процедуры многочленного gcd, которые называют друг друга в высоко рекурсивном порядке, составляют около 7000 строк кода. Фермат имеет обширные встроенные примитивы для матричных и матричных манипуляций, таких как субматрица, разреженная матрица, детерминант, нормализация, уменьшение столбца, эшелон ряда, нормальная форма Смита и обратная матрица. Он постоянно быстрее, чем некоторые известные компьютерные алгебраические системы, особенно в многомерных многочленных gcd. Также она экономит пространство. Основной элемент данных в Ферма является многомерной рациональной функцией или кволиномиалом. Числитель и знаменатель - это многочлены без общего делителя. Полиномы реализуются рекурсивно как общие связанные списки, в отличие от некоторых систем, которые реализуют полиномы как списки мономов. Для реализации (большинства) конечных полей пользователь находит нередуцируемый монологический полином в символической переменной, скажем, и приказывает Ферма модифицировать его. Это может быть продолжено рекурсивно и т. д. Для облегчения работы с арифметикой и вычислениями на основе данных низкого уровня созданы структуры данных для этого недавно созданного наземного поля. Два специальных поля, и более эффективно реализуются на уровне битов.

История

С Windows 10 и благодаря Bogdan Radu теперь можно (май 2021) запускать Fermat Linux на Windows. Смотрите главную веб-страницу http://home. - Хорошо. net/lewis Fermat был последний раз обновлен 20 мая 2020 года (Mac и Linux; последняя версия Windows: 1 ноября 2011 года). В более ранней версии, называемой FFermat (Float Fermat), базовым типом чисел являются числа с плавающей запятой из 18 цифр. Эта версия позволяет использовать методы численных вычислений, имеет обширные графические возможности, не имеет сложных алгоритмов многочленного счисления и доступна только для Mac OS 9. Первоначально Fermat был написан на языке Pascal для DEC VAX, затем для классической Mac OS в 1985-1996 годах. Он был портирован на Microsoft Windows в 1998 году. В 2003 году он был переведен на C и портирован на Linux (машины Intel) и Unix (Sparc/Sun). Это около 98 000 строк C-кода. Источник FFermat и (старый) Windows Fermat Pascal был доступен общественности на основе ограничительной лицензии. Руководство было тщательно пересмотрено и обновлено 25 июля 2011 года (последняя небольшая переработка в июне 2016 года, очевидно, еще одна переработка 25 марта 2020 года).