Mathematica

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Mathematica
Логотип Mathematica
Тип

Система компьютерной алгебры

Разработчик

Wolfram Research

Операционная система

Microsoft Windows, Mac OS X, Linux, Sun Solaris

Последняя версия

8.0.4 (26 октября 2011[1])

Лицензия

Проприетарное программное обеспечение, коммерческая

Сайт

http://www.wolfram.com/mathematica/

Mathematica — система компьютерной алгебры компании Wolfram Research. Содержит множество функций как для аналитических преобразований, так и для численных расчётов. Кроме того, программа поддерживает работу с графикой и звуком, включая построение двух- и трёхмерных графиков функций, рисование произвольных геометрических фигур, импорт и экспорт изображений и звука.

Содержание

[править] Возможности

[править] Аналитические преобразования

[править] Численные расчёты

  • Вычисление значений функций, в том числе специальных, с произвольной точностью.
  • Решение систем уравнений.
  • Нахождение пределов.
  • Интегрирование и дифференцирование.
  • Нахождение сумм и произведений.
  • Решение дифференциальных уравнений и уравнений в частных производных.
  • Полиномиальная интерполяция функции от произвольного числа аргументов по набору известных значений.
  • Преобразования Фурье и Лапласа, а также 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]
  • Первый выпуск Mathematica.
1.1 1989[6]
1.2 1 августа 1989[7]
  • Интерфейс под Macintosh.
  • Поддержка удалённых ядер.
  • Заметно улучшено символьное интегрирование.
  • Возможность решать элементарные дифференциальные уравнения посредством функции DSolve.
  • Решение трансцендентных и других уравнений, которые требуют явного использования обратных функций.
  • Точные интерполяционные многочлены.
  • Добавлены функции LinearProgramming, ConstrainedMax и ConstrainedMin.
  • Добавлены матричные функции MatrixPower (возведение квадратной матрицы в степень) и MatrixExp (экспонента от матрицы).
  • Добавлен базис Грёбнера.
  • Добавлены опции Modulus вычисления по модулю функций Det, Inverse и LinearSolve.
  • Добавлены стандартные пакеты Statistics и Graphics.
  • Много новых графических опций и свойств, включая axes (оси) и labels (заголовки) для 3-х мерной графики.
  • Значительно улучшена эффективность нахождения НОД (наибольшего общего делителя) факторизация многочленов.
Mathematica 2 2.0 15 января 1991[8]
  • Численное решение обыкновенных дифференциальных уравнений.
  • Численный компилятор.
  • Улучшения в линейной алгебре.
  • Реализация алгоритма Риша для функции Integrate (интегрирование).
  • Символьное решение обыкновенных дифференциальных уравнений.
  • Ряды расширены на многие специальные функции.
  • Добавлен ParametricPlot3D.
  • Множество дополнительных средств оформления графики.
  • Улучшено исключение невидимых поверхностей для 3-х мерной графики.
  • Множество операций над строками и файлами.
  • Протокол MathLink межпроцессного и сетевого взаимодействия.
  • Поддержка звука.
  • Поддержка наборов букв не только латинского алфавита.
  • Обнаружение ошибок и отладка программы.
  • Notebook интерфейс.
2.1 15 июня 1992
2.2 1 июня 1993[9]
  • Внешний интерфейс под Windows с новыми командами по управлению файлами Mathematica.
  • Отдельный внешний интерфейс в Macintosh.
  • Внешний интерфейс для X Windows.
  • MathLink под Windows.
  • Версия для Linux.
  • Добавлена возможность построения кривых уровня.
  • Пакет для символьных решений дифференциальных уравнений первого порядка.
  • Добавлено 10 других пакетов в таких областях как 3-х мерное построение контурных графиков, вариационное исчисление и музыка.
  • Новые свойства справки, включай онлайновые руководства для X Windows и браузер функций для Macintosh и NeXT.
  • Более быстрые решения для разреженных систем линейных уравнений.
  • Символьное вычисление определённых интегралов расширено, включая проверку на наличие неинтегрируемых сингулярностей и разрезов функций с точками ветвления в интервале интегрирования.
Mathematica 3 3.0 3 сентября 1996[8]
  • Интерактивная система математического набора.
  • Алгебраические числа.
  • Компилятор Mathematica расширен для работы с массивами машинных чисел.
  • Поддержка нелинейного метода наименьших квадратов посредством техники Левенберга-Маргуардта.
  • Улучшена интерполяция (важно для нахождения результата численных обыкновенных дифференциальных уравнений).
  • Интервальная арифметика.
  • Новые функции для упрощения и преобразования выражений.
  • Оптимизированные функции базиса Грёбнера.
  • Много новых специальных функций.
  • Программирование обмена данными, основанное на исключениях.
3.0.1 29 июля 1997
Mathematica 4 4.0 19 мая 1999[10]
  • Широкие улучшения в скорости и эффективности численных вычислений.
  • Публикация документов в ряд форматов.
  • Проверка орфографии и автоматический перенос слов.
  • Прямой импорт и экспорт в более чем 20 форматов графических, звуковых файлов и файлов стандартных данных.
  • Расширен набор и произведены улучшения функций для анализа данных, включая корреляцию, конволюцию и новый алгоритм преобразований Фурье.
  • Поддержка проведения вычислений в специфических алгебраических областях.
  • Сетевое управление лицензией доступно на всех платформах.
  • Улучшения во многих встроенных функциях Mathematica.
4.0.1 сентябрь 1999
4.0.2 август 2000
4.1 2 ноября 2000
4.2 1 ноября 2002
  • Более прозрачная интеграция Java посредством J/Link 2.0 и встроенная Java Runtime Engine.
  • Улучшены линейное программирование и оптимизация.
  • Улучшения скорости и надёжности многих численных функций.
  • Улучшенное упрощение выражений.
  • Улучшения статистических функций, включая пакет ANOVA.
  • Включён новый пакет Combinatorica для комбинаторики и теории графов.
  • Включён новый пакет AuthorTools для технических публикаций.
  • Окружение слайд-шоу для презентаций.
  • Новые форматы импорта и экспорта, включающие FITS и STDS.
  • XML-расширения, которые позволяют сохранять файлы и выражения Mathematica как XML.
  • Включён новый пакет XML средств для символьных манипуляций XML.
  • Поддержка экспорта в XHTML, включая таблицы стилей.
  • Расширенная поддержка MathML 2.0.
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]
  • Расширены автоматические и ручные настройки прокси-сервера для соединения с интернетом.
  • Более полная документация по функциям Mathematica, унаследованным из более ранних версий.
  • Значительно улучшена производительность MathLink на Mac и Unix системах.
  • Улучшена производительность различных конвертеров в функциях Import и Export.
  • Более быстрая работа ListPlot, ListPlot3D и Plot3D для большого числа точек.
  • Улучшено исходное окно системы справки.
  • Расширения для автоматического определения формата файла для функции Import.
  • Полная поддержка масштабных значений FontSize.
  • Улучшения в импорте Table, CSV, TSV и MathML.
  • Добавлены пункт меню Evaluate Notebook и подменю Magnification.
  • Дополнительные пример применения функций Mathematica и учебные руководства.
  • Обновления поддерживаемых данных.
6.0.2 март 2008[17]
  • Новая документация Virtual Book с обновлённым содержанием Mathematica Book.
  • Новый Function Navigator (навигатор функций), простой просматриваемый обзор всех объектов Mathematica.
  • Несколько дополнительных улучшений документации, включая прирост производительности, индексирование и систему ссылок.
  • Полная 64-битная производительность на Intel Mac.
  • Улучшенная производительность конвертеров Import и Export на Mac и Unix.
  • Значительное ускорение импорта файлов двоичных данных.
  • Улучшено поведение графики при экспорте в TeX и PDF.
  • Улучшенный импорт метаданных из файлов астрономических изображений FITS.
  • Новый инструмент выбора координаты и усовершенствованная подсветка графических выборов для интерактивных графиков.
6.0.3 июнь 2008[17]
  • Полный список стандартных дополнительных пакетов добавлен в Documentation Center (систему справки Mathematica).
  • Улучшения в документации пакетов.
  • Улучшенное обращение с опциями для MatrixForm и TableForm.
  • Повышенна стабильность внешнего интерфейса с Manipulate содержащим выбранный график.
  • Улучшено обращение с опциями для ListPlot.
  • Улучшено обращение с комбинациями AxesLabel и Ticks.
  • Улучшено обращение с числовыми данными без пробелов в импорте Protein Data Bank (PDB).
  • Изменена обмотка при экспорте в LightWave Object (LWO) для более близкого соответствия производственным стандартам.
  • Улучшена интерактивность под Linux с композитными менеджерами окон, такими как Compiz.
  • Улучшено поведение внешнего интерфейса в Ubuntu Hardy и Fedora Core 9.
Mathematica 7 7.0 18 ноября 2008[18]
7.0.1 5 марта 2009[19]
  • Прирост производительности функций обработки изображений ядра.
  • Вызов правой кнопкой мыши меню для быстрого управления изображениями.
  • Новые учебники, руководства «How to» и скринкасты.
  • Тысячи новых примеров в документации.
  • Улучшен поиск по документации.
  • Интеграция со средствами рукописного ввода математических выражений в Windows 7.
  • Интеграция с следующим релизом gridMathematica Server.
Mathematica 8 8.0 15 ноября 2010
8.0.1 23 октября 2011
  • Много новых автоматических упрощений для получаемых распределений, включая аффинные преобразования, суммы переменных, смеси параметров и цензурированные и усечённые распределения.
  • Улучшены результаты для функции Dot (произведение) для списков с большим количеством (> 1 000 000) целых элементов.
  • Улучшена стабильность при работе с процессорами Intel Sandy Bridge посредством включения новой версии библиотеки Intel Math Kernel Library.
  • Улучшение производительности и надёжности для многих операций с графами и сетями.
  • Уменьшено время загрузки внешнего интерфейса.
  • Улучшено создание соединений MathLink TCPIP при определённых специфических условиях.
  • Улучшен экспорт рисунков «Real» и «Real32» в TIFF для совместимости с большим количеством внешних программ для просмотра TIFF.
  • Улучшенная функциональность и стабильность Домашней редакции (Home Edition) Mathematica посредством включения 64-битных компонент.
8.0.4 26 октября 2011
  • Новые опции меню и интерактивный мастер создания CDF-документов.
  • Новые функции CDFInformation и CDFDeploy для программного создания CDF-файлов.
  • Новый индикатор процента загрузки для браузерного CDF-плагина.
  • Улучшены стабильность, скорость и безопасность браузерного CDF-плагина.
  • Испытана работа под Mac OS X Lion.
  • Улучшено использование памяти функции Share при хранении больших массивов данных.
  • Обновлена библиотека MKL для увеличения производительности.
  • Новая подсветка синтаксиса, оповещающая об использовании Module-переменной в Dynamic.
  • Улучшения производительности для функций цитирования.
  • Улучшено поведение оптимизированных переменных в компилируемых условных выражениях.
  • Улучшено поведение внешнего интерфейса при сохранении не озаглавленных файлов новых версий Linux.

[править] См. также

[править] Примечания

  1. 1 2 Mathematica Latest Version and Quick Revision History  (англ.). Wolfram (13 апреля 2011). Архивировано из первоисточника 14 февраля 2012. Проверено 13 апреля 2011.
  2. 1 2 [1], Nasser M. Abbasi.
  3. Mathematica Scrapbook: June 23, 1988: Mathematica 1.0 Is Launched!
  4. http://www.mathematica-journal.com/issue/v9i1/news.html Mathematica Journal, Volume 9, Issue 1
  5. Supercomputer Pictures Solve the Once Insoluble, John Markoff, October 30, 1988.
  6. Mathematica 1.1. Biotechnology Software. Vogel, W. K. (1989)
  7. Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations by Elinor Craig, MacWeek, July 25, 1989.
  8. 1 2 [2], Wolfram news archive, 1996.
  9. New version of Mathematica, Mechanical Engineering, June 1, 1993.
  10. Mathematica 4.0 by Charles Seiters, Macworld, October 1, 1999.
  11. Mathematica 5.0 Adds Up: Exactly 15 years after Mathematica’s initial release, Wolfram Research has released Mathematica , PC Magazine, September 3, 2003.
  12. 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.
  13. Mathematica hits 64-bit, MacWorld UK, July 13, 2005.
  14. [3] Today, Mathematica is reinvented — Blog by Stephen Wolfram
  15. 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.
  16. [4], Wolfram Blog, 2007.
  17. 1 2 [5], Mathematica Quick Revision History.
  18. [6], Mathematica 7.0 Released Today! — Blog by Stephen Wolfram
  19. [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.
Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках