Ферма (система компьютерной алгебры) - Википедия - Fermat (computer algebra system)

Ферма
Разработчики)Роберт Х. Льюис
Стабильный выпуск
6.37 / 20 мая 2020; 6 месяцев назад (2020-05-20)
Написано вC
Операционная системаmacOS, Классическая Mac OS, Linux, Unix, Windows
ТипСистема компьютерной алгебры
ЛицензияБесплатное ПО, GPL с 4 августа 2018 г.
Интернет сайтдома.bway.сеть/Льюис/

Ферма (названный в честь Пьер де Ферма ) это бесплатное ПО программа, разработанная профессором Робертом Х. Льюисом из Фордхэмский университет. Это система компьютерной алгебры, в которых вычисляемые элементы могут быть целые числа (произвольного размера), рациональное число, действительные числа, сложные числа, модульные числа, конечное поле элементы, многомерные многочлены, рациональные функции, или многочлены по модулю другие полиномы. Основные области применения - многомерная арифметика рациональных функций и матричная алгебра над кольца многомерных многочленов или рациональных функций. Ферма не делает упрощения трансцендентные функции или же символическая интеграция.

Сеанс с Fermat обычно начинается с выбора рационального или модульного «режима» для определения основы. поле (или заземляющее кольцо) в качестве или же . Сверху может быть прикреплено любое количество символьных переменных. тем самым создавая кольцо многочленов и его поле частных. Далее, некоторые полиномы с участием некоторых из можно выбрать для выхода из мода, создавая кольцо частного Наконец, можно разрешить Полиномы Лорана, как с отрицательными, так и с положительными показателями. Как только вычислительное кольцо установлено таким образом, все вычисления производятся на элементах этого кольца. Вычислительное кольцо можно изменить позже во время сеанса.

В полиномиальный gcd Процедуры, вызывающие друг друга с высокой степенью рекурсивности, занимают около 7000 строк кода.

Fermat имеет обширные встроенные примитивы для манипуляций с массивами и матрицами, такие как подматрица, разреженная матрица, детерминант, нормализовать, уменьшение столбца, рядный эшелон, Нормальная форма Смита, и матрица обратная. Это последовательно быстрее, чем некоторые известные системы компьютерной алгебры, особенно в многомерный полином gcd. Это также компактно.

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

История

Последнее обновление Fermat было 20 мая 2020 г. (Mac и Linux; последняя версия Windows: 1 ноября 2011 г.).

В более ранней версии, называемой FFermat (Float Fermat), основным типом числа был плавающая точка номера из 18 цифр. Эта версия позволяет использовать методы численных вычислений, имеет обширные графические возможности, не содержит сложных полиномиальных алгоритмов gcd и доступна только для Mac OS 9.

Ферма изначально был написан на Паскаль для DEC VAX, то для классическая Mac OS в 1985–1996 гг. Это было портирован к Майкрософт Виндоус в 1998 г. В 2003 г. переведен на C и перенесен на Linux (Машины Intel) и Unix (Sparc / Sun). Это около 98 000 строк кода C.

FFermat и (старые) Windows Fermat Pascal исходный код были сделаны общедоступными по ограниченной лицензии.

Руководство было тщательно отредактировано и обновлено 25 июля 2011 г. (последняя небольшая редакция в июне 2016 г., по-видимому, еще одна редакция - 25 марта 2020 г.).

Смотрите также

внешняя ссылка