Mathematica
| Mathematica | |
| Тип |
Система компьютерной алгебры |
|---|---|
| Разработчик | |
| Операционная система | |
| Последняя версия |
8.0.4 (26 октября 2011[1]) |
| Лицензия |
Проприетарное программное обеспечение, коммерческая |
| Сайт | |
Mathematica — система компьютерной алгебры компании Wolfram Research. Содержит множество функций как для аналитических преобразований, так и для численных расчётов. Кроме того, программа поддерживает работу с графикой и звуком, включая построение двух- и трёхмерных графиков функций, рисование произвольных геометрических фигур, импорт и экспорт изображений и звука.
Содержание |
[править] Возможности
[править] Аналитические преобразования
- Решение систем полиномиальных и тригонометрических уравнений и неравенств, а также трансцендентных уравнений, сводящихся к ним.
- Решение рекуррентных уравнений.
- Упрощение выражения.
- Нахождение пределов.
- Интегрирование и дифференцирование функций.
- Нахождение конечных и бесконечных сумм и произведений.
- Решение дифференциальных уравнений и уравнений в частных производных.
- Преобразования Фурье и Лапласа, а также Z-преобразование
- Преобразование функции в ряд Тейлора, операции с рядами Тейлора: сложение, умножение, композиция, получение обратной функции и т. д.
- Вейвлет-анализ
[править] Численные расчёты
- Вычисление значений функций, в том числе специальных, с произвольной точностью.
- Решение систем уравнений.
- Нахождение пределов.
- Интегрирование и дифференцирование.
- Нахождение сумм и произведений.
- Решение дифференциальных уравнений и уравнений в частных производных.
- Полиномиальная интерполяция функции от произвольного числа аргументов по набору известных значений.
- Преобразования Фурье и Лапласа, а также Z-преобразование.
[править] Теория чисел
- Определение простого числа по его порядковому номеру, определение количества простых чисел, не превосходящих данное.
- Дискретное преобразование Фурье
- Разложение числа на простые множители, нахождение НОД и НОК.
[править] Линейная алгебра
- Операции с матрицами: сложение, умножение, нахождение обратной матрицы, умножение на вектор, вычисление экспоненты, получение определителя.
- Поиск собственных значений и собственных векторов.
[править] Графика и звук
- Построение графиков функций, в том числе параметрических кривых и поверхностей.
- Построение геометрических фигур: ломаных, кругов, прямоугольников, и т. д.
- Воспроизведение звука, график которого задаётся аналитической функцией или набором точек.
- Импорт и экспорт графики во многих растровых и векторных форматах, а также звука.
- Построение и манипулирование графами.
[править] Разработка программного обеспечения
- Автоматическое генерирование С кода и его компоновка.
- Автоматическое преобразование компилируемых программ системы Mathematica в C код для автономного или интегрированного использования.
- Использование SymbolicC для создания, обработки и оптимизации С кода.
- Интеграция внешних динамических библиотек
- Поддержка CUDA и OpenCL.
[править] Язык программирования Mathematica
Кроме того, Mathematica это интерпретируемый язык функционального программирования. Mathematica допускает отложенные вычисления с помощью оператора определения «:=».
Можно сказать, что система Mathematica написана на языке Mathematica, хотя некоторые функции, особенно относящиеся к линейной алгебре, в целях оптимизации были написаны на языке C.
[править] Функциональное программирование
Пример кода, который последовательно 5 раз применяет функцию f:
NestList[f, x, 5]
Результатом будет список из аргумента x, одного, двух, трёх и так далее до пяти применений функции f к этому аргументу, всего 6 элементов списка:
{x, f[x], f[f[x]], f[f[f[x]]], f[f[f[f[x]]]], f[f[f[f[f[x]]]]]}
Пример 3-х кратного применения конкретной функции Sin[x + 1] имеет вид:
NestList[Sin[# + 1] &, x, 3]
Результатом будет:
{x, Sin[1 + x], Sin[1 + Sin[1 + x]], Sin[1 + Sin[1 + Sin[1 + x]]]}
[править] Процедурное программирование
Mathematica также поддерживает процедурный стиль программирования:
For[i = 1; t = x, i^2 < 10, i++,
t = t^2 + i;
Print[t]]
Точка с запятой отделяет различные последовательные команды. Для осуществления стандартных циклов есть функции Do, While, For. Условные выражения осуществляются посредством функций If, Which, Switch. Таким образом, будучи изначально функциональным языком программирование Mathematica, тем не менее, имеет функции, которые позволяют писать код очень близкий к стандартным процедурным языкам программирования.
[править] Программирование посредством задания правил
В системе Mathematica также можно задавать правила работы с теми или иными выражениями. Таким образом, можно определять объекты подобно тому как это обычно делается в математике, задавая их свойства посредством правил:
f[x_ + y_] := f[x] + f[y];
f[a + b + c]
Результат:
f[a] + f[b] + f[c]
[править] Объектно-ориентированное программирование
Mathematica позволяет и явно задавать определения, связанные с определённым объектом, реализую тем самым возможность использования объектно-ориентированного стиля программирования:
h /: f[h[x_], x_] := hf[x];
h /: p_[h[x_]] := ph[f, x];
h /: h[x_] + h[y_] := hsum[x, y];
Вычисляя (с данными определениями):
h[a] + h[b] + p[h[r]] + h[h[x]]
результатом будет:
hsum[a, b] + ph[f, r] + ph[f, x]
[править] История версий
| Наименование | Версия | Дата релиза[2] | Основные изменение[1] |
|---|---|---|---|
| Mathematica | 1.0 | 23 июня 1988[2][3][4][5] |
|
| 1.1 | 1989[6] | ||
| 1.2 | 1 августа 1989[7] |
|
|
| Mathematica 2 | 2.0 | 15 января 1991[8] |
|
| 2.1 | 15 июня 1992 |
|
|
| 2.2 | 1 июня 1993[9] |
|
|
| Mathematica 3 | 3.0 | 3 сентября 1996[8] |
|
| 3.0.1 | 29 июля 1997 | ||
| Mathematica 4 | 4.0 | 19 мая 1999[10] |
|
| 4.0.1 | сентябрь 1999 | ||
| 4.0.2 | август 2000 | ||
| 4.1 | 2 ноября 2000 |
|
|
| 4.2 | 1 ноября 2002 |
|
|
| Mathematica 5.0 | 5.0 | 12 июня 2003[11] |
|
| 5.0.1 | январь 2004 | ||
| Mathematica 5.1 | 5.1 | 25 октября 2004[12] |
|
| 5.1.1 | март 2005 | ||
| Mathematica 5.2 | 5.2 | 20 июня 2005[13] |
|
| Mathematica 6 | 6.0 | 1 мая 2007[14][15] |
|
| 6.0.1 | 5 июля 2007[16] |
|
|
| 6.0.2 | март 2008[17] |
|
|
| 6.0.3 | июнь 2008[17] |
|
|
| Mathematica 7 | 7.0 | 18 ноября 2008[18] |
|
| 7.0.1 | 5 марта 2009[19] |
|
|
| Mathematica 8 | 8.0 | 15 ноября 2010 |
|
| 8.0.1 | 23 октября 2011 |
|
|
| 8.0.4 | 26 октября 2011 |
|
[править] См. также
[править] Примечания
- ↑ 1 2 Mathematica Latest Version and Quick Revision History (англ.). Wolfram (13 апреля 2011). Архивировано из первоисточника 14 февраля 2012. Проверено 13 апреля 2011.
- ↑ 1 2 [1], Nasser M. Abbasi.
- ↑ Mathematica Scrapbook: June 23, 1988: Mathematica 1.0 Is Launched!
- ↑ http://www.mathematica-journal.com/issue/v9i1/news.html Mathematica Journal, Volume 9, Issue 1
- ↑ Supercomputer Pictures Solve the Once Insoluble, John Markoff, October 30, 1988.
- ↑ Mathematica 1.1. Biotechnology Software. Vogel, W. K. (1989)
- ↑ Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations by Elinor Craig, MacWeek, July 25, 1989.
- ↑ 1 2 [2], Wolfram news archive, 1996.
- ↑ New version of Mathematica, Mechanical Engineering, June 1, 1993.
- ↑ Mathematica 4.0 by Charles Seiters, Macworld, October 1, 1999.
- ↑ Mathematica 5.0 Adds Up: Exactly 15 years after Mathematica’s initial release, Wolfram Research has released Mathematica , PC Magazine, September 3, 2003.
- ↑ Mathematica 5.1’s Web Services Add Up; Mathematica 5.1 delivers improvements over Version 5.0 that are vastly out of proportion for a .1 upgrade. by Peter Coffee, eWeek, December 6, 2004.
- ↑ Mathematica hits 64-bit, MacWorld UK, July 13, 2005.
- ↑ [3] Today, Mathematica is reinvented — Blog by Stephen Wolfram
- ↑ Mathematica 6: Felix Grant finds that version 6 of Wolfram Research’s symbolic mathematical software really does live up to its expectations. Scientific Computing, 2007.
- ↑ [4], Wolfram Blog, 2007.
- ↑ 1 2 [5], Mathematica Quick Revision History.
- ↑ [6], Mathematica 7.0 Released Today! — Blog by Stephen Wolfram
- ↑ [7], Announcing Mathematica 7.0.1.
[править] Ссылки
[править] Литература
- Дьяконов В. П. Компьютерная математика. Теория и практика. — М., СПб: «Нолидж», «Питер», 1999,2001. — С. 1296. — ISBN 5-89233-065-4.
- Дьяконов В. П. Системы символьной математики Mathematica 2 и Mathematica 3. — М.: «СК-ПРЕСС», 1998. — С. 320. — ISBN 5-89233-017-6.
- Дьяконов В. П. Mathematica 4 с пакетами расширения. — М.: «Нолидж», 2000. — С. 608. — ISBN 5-89251-086-7.
- В. Дьяконов, Ю. Новиков, В. Рычаков Компьютер для студента. Самоучитель. — СПб: «ПИТЕР», 2000. — С. 592. — ISBN 5-272-00082-X.
- Дьяконов В. П. Mathematica 4. Учебный курс. — СПб: «ПИТЕР», 2001. — С. 656. — ISBN 5-572-00275-X.
- Дьяконов В. П. Mathematica 4.1/4.2/5.0 в математических и научно-технических расчетах. — М.: «СОЛОН-Пресс», 2004. — С. 696. — ISBN 5-98003-065-4.
- Дьяконов В. П. Mathematica 5/6/7. Полное руководство.. — М.: «ДМК Пресс», 2009. — С. 624. — ISBN 978-5-94074-553-2.
- Дьяконов В. П. Mathematica 5.1/5.2/6 в математических и научно-технических расчетах. Изд-е второе дополненное и переработанное. — М.: «СОЛОН-Пресс», 2008. — С. 744. — ISBN 978-5-91359-045-9.
- Дьяконов В. П. Mathematica 5.1/5.2/6. Программирование и математические вычисления. — М.: «ДМК-Пресс», 2008. — С. 576. — ISBN 5-94074-405-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.
- Дьяконов Владимир Павлович Вейвлеты. От теории к практике. Издание 2-е дополненное и переработанное. — М.: «СОЛОН-Пресс», 2004. — С. 400. — ISBN 5-98003-5.
- Глушко В. П., Глушко А. В. Курс уравнений математической физики с использованием пакета Mathematica. — СПб: «Лань», 2010. — С. 320. — ISBN 978-5-8114-0983-9.
|
|
|
|---|---|
| Открытое ПО | Axiom · Cadabra · CoCoA · DCAS · DoCon · Eigenmath · FriCAS · GAP · GiNaC · Macaulay · Mathomatic · Maxima · PARI/GP · Reduce · Sage · SINGULAR · SymPy · Xcas |
| Проприетарное ПО | Algebrator · ClassPad Manager · LiveMath · Magma · Maple · Mathcad · Mathematica · MATLAB · MuPAD · TI InterActive! · WIRIS |
| Устаревшие | Derive · Macsyma · muMATH · Yacas |
| Free/Shareware | Fermat · SMath Studio |
|
|
|
|---|---|
| Символьные вычисления | Axiom • GAP • Macsyma • Maple • Mathcad • Mathematica • Maxima • SMath Studio |
| Численные вычисления | Fityk • FreeMat • GAUSS • GNU Octave • gretl • LabVIEW • LabPlot • MagicPlot • MATLAB • Origin • QtiPlot • R • Sage • SciDAVis • Scilab • SigmaPlot • Speakeasy • VisSim |

