Математический
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
![]() Mathomatic в эмуляторе терминала | |
Оригинальный автор(ы) | Джордж Гесслейн II |
---|---|
Разработчик(и) | Джордж Гесслейн II |
Первоначальный выпуск | 1987 год [1] |
Финальный выпуск | 16.0.5
/ 21 октября 2012 г |
Написано в | С |
Двигатель | GitHub |
Операционная система | Кроссплатформенный , Unix-подобный |
Платформа | Любая компьютерная архитектура |
Название службы | Математический |
Доступно в | Английский |
Тип | Компьютерная алгебра/математическая система |
Лицензия | Меньшая стандартная общественная лицензия GNU версии 2.1 |
Веб-сайт | github |
Математический [2] — это бесплатная портативная система общего назначения компьютерной алгебры (CAS), которая может символически решать , упрощать, комбинировать и сравнивать алгебраические уравнения , а также выполнять комплексные , модульные и полиномиальные арифметические операции, а также стандартную арифметику. Он выполняет некоторые символические вычисления ( производная , экстремумы , ряды Тейлора , полиномиальное интегрирование и преобразования Лапласа ), численное интегрирование и обрабатывает всю элементарную алгебру, кроме логарифмов . Тригонометрические функции можно вводить и манипулировать ими с использованием сложных экспонент с помощью препроцессора GNU m4 . В настоящее время не реализованы общие функции, такие как f ( x ), произвольная точность и интервальная арифметика, а также матрицы .
Особенности [ править ]
Mathomatic способен решать, дифференцировать, упрощать, вычислять и визуализировать элементарную алгебру. [3] Он также может выполнять суммирование , произведение и автоматическое отображение вычислений любой длины, подставляя последовательные или тестовые значения в любую формулу, а затем аппроксимируя и упрощая перед отображением.
Промежуточные результаты (показывающие работу) можно отобразить, предварительно набрав «set debug 1» (см. пример сеанса ); это работает для решения и почти каждой команды в Mathomatic. «set debug 2» показывает более подробную информацию о проделанной работе.
Программное обеспечение не имеет графического пользовательского интерфейса, за исключением разрешенных товарных знаков Mathomatic, версий для смартфонов и планшетов под управлением iOS. [4] или Андроид . [5] Программное обеспечение Mathomatic, доступное на официальном сайте Mathomatic, [6] разрешено для использования в любом другом типе программного обеспечения в соответствии с разрешительной лицензией свободного программного обеспечения ( GNU LGPL ). Он доступен в виде библиотеки бесплатного программного обеспечения и в виде бесплатного приложения в режиме консоли, использующего цветной интерфейс командной строки с красивым выводом , который запускается в эмуляторе терминала под любой операционной системой. [3] Интерфейс консоли прост и для начала требует изучения основных алгебраических обозначений. Все входные и выходные данные представляют собой построчный текст ASCII . По умолчанию ввод является стандартным вводом , а вывод — стандартным выводом . Mathomatic обычно компилируется с помощью строки редактирования или строки чтения GNU для упрощения ввода.
Нет возможности программирования; интерпретатор работает как алгебраический калькулятор. Выражения и уравнения вводятся в стандартной алгебраической инфиксной записи . Операции над ними выполняются путем ввода простых английских команд .
Поскольку все числовые арифметические операции выполняются с двойной точности плавающей запятой и ошибки округления не отслеживаются, Mathomatic не подходит для приложений, требующих высокой точности, таких как астрономические вычисления. Он полезен для символьно-числовых вычислений с точностью около 14 десятичных знаков, хотя многие результаты, если это возможно, будут точными.
Mathomatic можно использовать в качестве инструмента для генерации кода с плавающей запятой или целочисленной арифметики, упрощая и преобразуя уравнения в оптимизированные операторы присваивания на языках программирования Python , C и Java . Вывод можно сделать совместимым с большинством других математических программ, за исключением того, что ввод/вывод в форматах TeX и MathML в настоящее время недоступен. Символы ASCII, разрешенные в именах переменных Mathomatic, можно настроить, что позволяет использовать имена переменных в формате TeX.
Исходный код Mathomatic можно скомпилировать как символьную математическую библиотеку с очень простым API , который можно связать с C-совместимыми программами, которым необходимо использовать символьный математический движок Mathomatic.
Примеры сеансов [ править ]

Пример решения и генерации кода, где показана работа:
1-> x = (a+1)*(b+2) #1: x = (a + 1)*(b + 2) 1-> set debug 1 Success. 1-> solve for b level 1: x = (a + 1)*(b + 2) Subtracting "(a + 1)*(b + 2)" from both sides of the equation: level 1: x - ((a + 1)*(b + 2)) = 0 Subtracting "x" from both sides of the equation: level 1: -1*(a + 1)*(b + 2) = -1*x Dividing both sides of the equation by "-1": level 1: (a + 1)*(b + 2) = x Dividing both sides of the equation by "a + 1": level 1: b + 2 = x/(a + 1) Subtracting "2" from both sides of the equation: level 1: b = (x/(a + 1)) - 2 Solve completed: level 1: b = (x/(a + 1)) - 2 Solve successful: x #1: b = ------- - 2 (a + 1) 1-> code C ; output C programming language code b = ((x/(a + 1.0)) - 2.0); 1-> variables C ; define the variables for the C compiler double x; double a; double b; 1->
История [ править ]
Разработка Mathomatic была начата в 1986 году Джорджем Гесслейном II как эксперимент в компьютерной математике. [7] Первоначально он был написан на Microsoft C для MS-DOS . Версии 1 и 2 были опубликованы Dynacomp из Рочестера, Нью-Йорк, в 1987 году. [1] и 1988 год [8] как научный программный продукт для DOS. Впоследствии оно было выпущено как условно-бесплатное программное обеспечение , а затем как почтовое программное обеспечение с программой для построения графиков 2D-уравнений . На рубеже веков Mathomatic был портирован на компилятор GNU C под Linux и стал свободным программным обеспечением . Программа построения графиков была прекращена; Построение 2D / 3D графиков уравнений теперь осуществляется с помощью gnuplot .
Название «Mathomatic» представляет собой сочетание слов «математика» и «автоматический». [3] и был вдохновлен названием и автоматизацией Rog-O-Matic , который был ранним экспериментом в области искусственного интеллекта .
Разработка, судя по всему, прекратилась в результате смерти автора 24 февраля 2013 года. [9]
Доступные платформы [ править ]
Mathomatic доступен практически для всех платформ, включая Microsoft Windows с использованием MinGW . [10] Он доступен для Mac OS X , [11] [12] для iOS , [4] для Андроид , [5] и для Nintendo DS под управлением DSLinux и автономно. [13] Федора Линукс , [14] Слаквар , [15] Дебиан , [16] Убунту , [17] Генту Линукс , [18] и все основные BSD Unix. дистрибутивы [19] [20] [21] включить Mathomatic в качестве автоматически устанавливаемого пакета. Существует порт на JavaScript с использованием Emscripten , позволяющий Mathomatic работать в веб-браузере . [22] Все порты обслуживаются отдельными лицами.
Требования [ править ]
Для сборки из исходного кода требуется компилятор C со стандартными библиотеками POSIX C. Если Mathomatic скомпилирован с помощью компилятора GCC C или компилятора Tiny C для Unix-подобной операционной системы, в исходный код вносить изменения не требуется. Mathomatic не использует код, специфичный для компилятора, поэтому обычно он легко компилируется любым компилятором C. Использование библиотеки символьной математики Mathomatic позволяет смешивать языки программирования и не зависит от операционной системы. [23]
Mathomatic можно портировать на любой компьютер, имеющий хотя бы 1 мегабайт свободной оперативной памяти . Стандартное распределение Mathomatic [6] требования к памяти по умолчанию составляют максимум 400 мегабайт, в зависимости от размера пространства уравнений и количества введенных выражений. фиксированного размера Пространства уравнений представляют собой массивы , которые выделяются по мере необходимости, размер которых задается во время компиляции или запуска. Каждое алгебраическое выражение или уравнение, введенное в главном приглашении, сохраняется в пространстве уравнений.
Mathomatic написан для выполнения большинства символических манипуляций с перемещениями памяти, как программа на языке ассемблера. Это приводит к сбою Mathomatic при использовании с новым бэкэндом LLVM , которому, похоже, не нравится стандартная функция библиотеки C memmove(3) . Чтобы использовать Mathomatic с компилятором C, использующим серверную часть LLVM, отключите все оптимизации с помощью «-O0» в командной строке компилятора C. В противном случае регрессионные тесты будут выполняться бесконечно. Скорее всего, это ошибка оптимизации в LLVM. Чтобы помочь тем, кто пытается отладить эту ошибку оптимизации, Mathomatic потерпит неудачу, когда LLVM оптимизирует упрощение (32^.5) до 4*(2^.5) и тому подобное, каждый раз входя в бесконечный цикл.
См. также [ править ]
- Сравнение систем компьютерной алгебры
- Maxima — более полная CAS с аналогичным функционалом, также бесплатная.
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б Каталог программного обеспечения: Микрокомпьютер . sGoogle Книги (6 февраля 2007 г.). Проверено 29 ноября 2011 г.
- ^ «Mathomatic — Каталог свободного программного обеспечения» . каталог.fsf.org . Проверено 28 февраля 2023 г.
- ^ Jump up to: Перейти обратно: а б с Джордж Гесслейн II (29 июня 2012 г.). «Математическое руководство пользователя» . Официальная математическая документация . Архивировано из оригинала 22 июля 2012 года . Проверено 13 июля 2012 г.
- ^ Jump up to: Перейти обратно: а б Матоматика для iOS . Itunes.apple.com. Проверено 10 марта 2012 г.
- ^ Jump up to: Перейти обратно: а б Матоматика для Android . Play.google.com. Проверено 13 июля 2012 г.
- ^ Jump up to: Перейти обратно: а б Найдено на сайте Mathomatic . Матоматик.орг. Проверено 29 ноября 2011 г.
- ^ Джордж Гесслейн II (29 июня 2012 г.). «Математическое руководство пользователя» . Официальная документация Mathomatic (история) . Архивировано из оригинала 22 июля 2012 года . Проверено 13 июля 2012 г.
- ^ Интеллектуальные инструменты и компьютер . sGoogle Книги. Проверено 29 ноября 2011 г.
- ^ «Джордж Джон Гесслейн II» . Журнал Итаки. 26 февраля 2013 года . Проверено 6 ноября 2021 г.
- ^ Порт Mathomatic для MS-Windows . Архивировано 31 января 2016 года в Wayback Machine . Mathomatic.org (4 ноября 2011 г.). Проверено 29 ноября 2011 г.
- ^ Порт Mathomatic для Mac OS X. Архивировано 31 января 2016 года на Wayback Machine . Mathomatic.org (4 ноября 2011 г.). Проверено 29 ноября 2011 г.
- ^ Порт Mathomatic для Mac OS X с MacPorts
- ↑ Mathomatic перенесена на Nintendo DS. Архивировано 28 октября 2007 года на Wayback Machine . Blog.davr.org (22 февраля 1999 г.). Проверено 29 ноября 2011 г.
- ^ Пакет Mathomatic в Fedora . Админ.fedoraproject.org. Проверено 29 ноября 2011 г.
- ^ Официальный порт Mathomatic для Slackware в SlackBuilds . Slackbuilds.org. Проверено 29 ноября 2011 г.
- ^ Все пакеты Mathomatic в Debian . Пакеты.debian.org. Проверено 31 августа 2012 г.
- ^ Все пакеты Mathomatic в Ubuntu Linux . Launchpad.net. Проверено 29 ноября 2011 г.
- ^ Пакеты Gentoo /package/sci-mathematics/mathomatic . Packages.gentoo.org (25 ноября 2011 г.). Проверено 29 ноября 2011 г.
- ^ Дерево CVS OpenBSD для Mathomatic
- ^ Дерево CVS NetBSD pkgsrc для Mathomatic
- ^ Дерево CVS FreeBSD для Mathomatic
- ^ «Математика в JavaScript» . Архивировано из оригинала 14 января 2014 года . Проверено 4 августа 2013 г.
- ^ Джордж Гесслейн II (29 июня 2012 г.). «Математическое руководство пользователя» . Официальная документация Mathomatic (информация для разработчика) . Архивировано из оригинала 22 июля 2012 года . Проверено 13 июля 2012 г.
Внешние ссылки [ править ]
- (на итальянском языке) Дополнительная документация на итальянском языке для Ubuntu
- Математика на рабочей станции UNIX
- «Математика» . Бесплатный код .
- Матоматика в MacUpdate
- программное обеспечение 1987 года
- Программное обеспечение Android (операционная система)
- Библиотеки C (язык программирования)
- Программное обеспечение командной строки
- Программное обеспечение системы компьютерной алгебры для Linux
- Программное обеспечение системы компьютерной алгебры для macOS
- Программное обеспечение системы компьютерной алгебры для Windows
- Кроссплатформенное бесплатное программное обеспечение
- Встроенный Linux
- Бесплатные системы компьютерной алгебры
- Бесплатное образовательное программное обеспечение
- Бесплатное программное обеспечение, написанное на C.
- программное обеспечение iOS
- Домашняя версия Nintendo DS
- Портативное программное обеспечение