Mathematica
| Mathematica | |||
|---|---|---|---|
| | |||
| | |||
| Тип | Система компьютерной алгебры | ||
| Разработчик | Wolfram Research | ||
| Написана на | Си, C++[2], Java[2] и Wolfram | ||
| Интерфейс | Qt | ||
| Операционные системы | Windows, macOS, Linux | ||
| Дата выпуска | 23 июня 1988 | ||
| Последняя версия | |||
| |||
| Состояние | В активной разработке | ||
| Лицензия | Проприетарное программное обеспечение, коммерческая | ||
| Сайт | wolfram.com/mathematica | ||
Mathematica — проприетарная система компьютерной алгебры, широко используемая для научных, инженерных, математических расчётов. Разработана в 1988 году Стивеном Вольфрамом, дальнейшим развитием системы занята основанная им совместно с Теодором Греем компания Wolfram Research.
Оснащена как аналитическими возможностями, так и обеспечивает численные расчёты; результаты выводятся как в алфавитно-цифровом виде, так и в форме графиков. Вычислительные и аналитические функции обеспечиваются бэкендом, к которому могут подключаться различные пользовательские интерфейсы. Традиционный интерфейс, поставляющийся с системой — вычислительная записная книжка, но имеется возможность работать с бэкендом из интегрированных сред разработки, таких как Eclipse и IntelliJ IDEA; с 2002 года существует свободный инструмент JMath, обеспечивающий интерфейс командной строки к Mathematica посредством интерфейса MathLink[3].
Возможности
Основные аналитические возможности:
- решение систем полиномиальных и тригонометрических уравнений и неравенств, а также трансцендентных уравнений, сводящихся к ним;
- решение рекуррентных уравнений;
- упрощение выражений;
- нахождение пределов;
- интегрирование и дифференцирование функций;
- нахождение конечных и бесконечных сумм и произведений;
- решение дифференциальных уравнений и уравнений в частных производных;
- преобразования Фурье и Лапласа, а также Z-преобразование;
- преобразование функции в ряд Тейлора, операции с рядами Тейлора: сложение, умножение, композиция, получение обратной функции;
- вейвлет-анализ.
Система также осуществляет численные расчёты: определяет значения функций (в том числе специальных) с произвольной точностью, осуществляет полиномиальную интерполяцию функции от произвольного числа аргументов по набору известных значений, рассчитывает вероятности.
Теоретико-числовые возможности — определение простого числа по его порядковому номеру, определение количества простых чисел, не превосходящих данное; дискретное преобразование Фурье; разложение числа на простые множители, нахождение НОД и НОК.
Также в систему заложены линейно-алгебраические возможности — работа с матрицами (сложение, умножение, нахождение обратной матрицы, умножение на вектор, вычисление экспоненты, взятие определителя), поиск собственных значений и собственных векторов.
Система результаты представляет как в алфавитно-цифровой форме, так и в виде графиков. В частности, реализовано построение графиков функций, в том числе параметрических кривых и поверхностей; построение геометрических фигур (ломаных, кругов, прямоугольников и других); построение и манипулирование графами. Кроме того, реализовано воспроизведение звука, график которого задаётся аналитической функцией или набором точек.
Система обеспечивает автоматическую генерацию программного кода на языке Си и его компоновку; при этом сгенерированные программы могут быть использованы автономно. Для создания, обработки и оптимизации си-кода поддерживается использование SymbolicC. Программы могут использовать внешние динамические библиотеки, в том числе поддерживается интеграция с CUDA и OpenCL.
Язык программирования Wolfram
Wolfram — интерпретируемый язык функционального программирования, составляющий лингвистическую основу системы, позволяющий расширять её возможности; более того, система Mathematica в значительной степени написана на языке Wolfram, хотя некоторые функции, особенно относящиеся к линейной алгебре, в целях оптимизации реализованы на Си.
Язык поддерживает и процедурное программирование с применением стандартных операторов управления выполнением программы (циклы и условные переходы), и объектно-ориентированный подход, допускает отложенные вычисления. Также в системе Mathematica можно задавать правила работы с теми или иными выражениями.
Пример кода — список простых чисел выбирается блоками с помощью уровней простых чисел:
In[1] := tm = 2; p = {}; k = 1; Do[
Do[If[t > 0,
For[i = 1, (s = p[[i]]) <= t + 1, i++,
If[GCD[k - s, 2 s - 1] != 1, Goto[l]]]]; p = AppendTo[p, k];
Label[l]; k++, {4 (t + 1)}], {t, 0, tm}]; p *= 2; p--; p[[1]]++;
p
Out[1] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47}
Расширения
Для системы существуют многочисленные расширения, решающие специализированные классы задач. Например, расширение AceFEM предназначено для решения физических и математических задач методом конечных элементов, расширение Analog Insydes — для моделирования, анализа и создания электрических схем, Derivatives Expert — для анализа ценных бумаг и деривативов, Fuzzy Logic — для создания, модификации и визуализации нечётких множеств. Для решения геометрических задач существуют расширения Geometrica (геометрическая энциклопедия с возможностями точного построения геометрических объектов и проверки утверждений) и Geometry Expressions (символьная геометрия). Также как расширения реализованы кодогенераторы для C++ и Fortran 90 и интеграционные пакеты для взаимодействия с Excel и LabView.
Примечания
- ↑ New Features Everywhere: Launching Version 14.3 of Wolfram Language & Mathematica — 2025.
- ↑ 1 2 The Software Engineering of Mathematica — 2012.
- ↑ JMath: A GNU Readline based frontend for Mathematica (англ.) (15 февраля 2002). Дата обращения: 5 мая 2022. Архивировано 7 апреля 2022 года.
Литература
- Аладьев В. З., Шишаков М. Л. Введение в среду пакета Mathematica 2.2. — М.: Информационно-издательский дом «Филинъ», 1997. — 368 с.
- Дьяконов В. П. Mathematica 5/6/7. Полное руководство. — М.: «ДМК Пресс», 2009. — 624 с. — ISBN 978-5-94074-553-2.
- Чарльз Генри Эдвардс, Дэвид Э. Пенни. Дифференциальные уравнения и проблема собственных значений: моделирование и вычисление с помощью Mathematica, Maple и MATLAB = Differential Equations and Boundary Value Problems: Computing and Modeling. — 3-е изд. — М.: «Вильямс», 2007. — ISBN 978-5-8459-1166-7.
- Шмидский Яков Константинович. Mathematica 5. Самоучитель. Система символьных, графических и численных вычислений. — М.: «Диалектика», 2004. — 592 с. — ISBN 5-8459-0678-4.
- Глушко В. П., Глушко А. В. Курс уравнений математической физики с использованием пакета Mathematica. — СПб.: «Лань», 2010. — 320 с. — ISBN 978-5-8114-0983-9.
- Аладьев В. З., Гринь Д. С. Расширение функциональной среды системы Mathematica. — Херсон: Олди–Плюс, 2012. — 552 с. — ISBN 978-966-2393-72-9.
- Аладьев В. З., Ваганов В. А., Гринь Д. С. Избранные системные задачи в программной среде Mathematica. — Херсон: Олди–Плюс, 2013. — 556 с. — ISBN 978-966-289-012-9.
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.