Mathematica

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

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

Разработчик

Wolfram Research

Написана на

Си

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

Microsoft Windows, Mac OS X, Linux

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

10.0 (9 июля 2014)

Лицензия

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

Сайт

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

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

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

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

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

  • Вычисление значений функций, в том числе специальных, с произвольной точностью.
  • Решение систем уравнений.
  • Нахождение пределов.
  • Интегрирование и дифференцирование.
  • Нахождение сумм и произведений.
  • Решение дифференциальных уравнений и уравнений в частных производных.
  • Полиномиальная интерполяция функции от произвольного числа аргументов по набору известных значений.
  • Преобразования Фурье и Лапласа, а также Z-преобразование.
  • Расчёт вероятностей

Теория чисел[править | править вики-текст]

  • Определение простого числа по его порядковому номеру, определение количества простых чисел, не превосходящих данное.
  • Дискретное преобразование Фурье
  • Разложение числа на простые множители, нахождение НОД и НОК.

Линейная алгебра[править | править вики-текст]

Графика и звук[править | править вики-текст]

Разработка программного обеспечения[править | править вики-текст]

  • Автоматическое генерирование С-кода и его компоновка.
  • Автоматическое преобразование компилируемых программ системы Mathematica в C-код для автономного или интегрированного использования.
  • Использование SymbolicC для создания, обработки и оптимизации С-кода.
  • Интеграция внешних динамических библиотек
  • Поддержка CUDA и OpenCL.

Язык программирования Mathematica[править | править вики-текст]

Скриншот Mathematica 9 в системе Windows

Кроме того, Mathematica — это интерпретируемый язык функционального программирования. Можно сказать, что система Mathematica написана на языке Mathematica, хотя некоторые функции, особенно относящиеся к линейной алгебре, в целях оптимизации были написаны на языке C.

Mathematica поддерживает и процедурное программирование с применением стандартных операторов управления выполнением программы (циклы и условные переходы), и объектно-ориентированный подход. Mathematica допускает отложенные вычисления. Также в системе Mathematica можно задавать правила работы с теми или иными выражениями.

История версий[править | править вики-текст]

Наименование Версия Дата релиза[1] Основные изменения
Mathematica 1.0 23 июня 1988[1][2][3][4]
  • Первый выпуск Mathematica.
1.1 1989[5]
1.2 1 августа 1989[6]
  • Интерфейс под Macintosh.
  • Поддержка удалённых ядер.
  • Заметно улучшено символьное интегрирование.
  • Возможность решать элементарные дифференциальные уравнения посредством функции DSolve.
  • Решение трансцендентных и других уравнений, которые требуют явного использования обратных функций.
  • Точные интерполяционные многочлены.
  • Добавлены функции LinearProgramming, ConstrainedMax и ConstrainedMin.
  • Добавлены матричные функции MatrixPower (возведение квадратной матрицы в степень) и MatrixExp (экспонента от матрицы).
  • Добавлен базис Грёбнера.
  • Добавлены опции Modulus вычисления по модулю функций Det, Inverse и LinearSolve.
  • Добавлены стандартные пакеты Statistics и Graphics.
  • Много новых графических опций и свойств, включая axes (оси) и labels (заголовки) для 3-хмерной графики.
  • Значительно улучшена эффективность нахождения НОД (наибольшего общего делителя), факторизация многочленов.
Mathematica 2 2.0 15 января 1991[7]
  • Численное решение обыкновенных дифференциальных уравнений.
  • Численный компилятор.
  • Улучшения в линейной алгебре.
  • Реализация алгоритма Риша для функции Integrate (интегрирование).
  • Символьное решение обыкновенных дифференциальных уравнений.
  • Ряды расширены на многие специальные функции.
  • Добавлен ParametricPlot3D.
  • Множество дополнительных средств оформления графики.
  • Улучшено исключение невидимых поверхностей для 3-хмерной графики.
  • Множество операций над строками и файлами.
  • Протокол MathLink межпроцессного и сетевого взаимодействия.
  • Поддержка звука.
  • Поддержка наборов букв не только латинского алфавита.
  • Обнаружение ошибок и отладка программы.
  • Notebook-интерфейс.
2.1 15 июня 1992
2.2 1 июня 1993[8]
  • Внешний интерфейс под Windows с новыми командами по управлению файлами Mathematica.
  • Отдельный внешний интерфейс в Macintosh.
  • Внешний интерфейс для X Windows.
  • MathLink под Windows.
  • Версия для Linux.
  • Добавлена возможность построения кривых уровня.
  • Пакет для символьных решений дифференциальных уравнений первого порядка.
  • Добавлено 10 других пакетов в таких областях, как 3-хмерное построение контурных графиков, вариационное исчисление и музыка.
  • Новые свойства справки, включай онлайновые руководства для X Windows и браузер функций для Macintosh и NeXT.
  • Более быстрые решения для разреженных систем линейных уравнений.
  • Символьное вычисление определённых интегралов расширено, включая проверку на наличие неинтегрируемых сингулярностей и разрезов функций с точками ветвления в интервале интегрирования.
Mathematica 3 3.0 3 сентября 1996[7]
  • Интерактивная система математического набора.
  • Алгебраические числа.
  • Компилятор Mathematica расширен для работы с массивами машинных чисел.
  • Поддержка нелинейного метода наименьших квадратов посредством техники Левенберга-Маргуардта.
  • Улучшена интерполяция (важно для нахождения результата численных обыкновенных дифференциальных уравнений).
  • Интервальная арифметика.
  • Новые функции для упрощения и преобразования выражений.
  • Оптимизированные функции базиса Грёбнера.
  • Много новых специальных функций.
  • Программирование обмена данными, основанное на исключениях.
3.0.1 29 июля 1997
Mathematica 4 4.0 19 мая 1999[9]
  • Широкие улучшения в скорости и эффективности численных вычислений.
  • Публикация документов в ряд форматов.
  • Проверка орфографии и автоматический перенос слов.
  • Прямой импорт и экспорт в более чем 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[10]
5.0.1 январь 2004
Mathematica 5.1 5.1 25 октября 2004[11]
5.1.1 март 2005
Mathematica 5.2 5.2 20 июня 2005[12]
Mathematica 6 6.0 1 мая 2007[13][14]
  • Динамическая интерактивность, позволяющая создавать сложные динамические интерфейсы одной строчкой.
  • Эффектная настраиваемая визуализация для автоматического создания высококачественных графиков функций и данных.
  • Язык для интеграции данных, включая автоматическую интеграцию сотен стандартных форматов данных.
  • Загрузка по запросу данных по математике, физике, химии, финансовому делу, лингвистике и т. д.
  • Конструкция символьного интерфейса для немедленного создания произвольных интерфейсов посредством простых программ.
  • Автоматизированная вычислительная эстетика с алгоритмической оптимизацией для визуального представления.
  • Объединение активных графиков и элементов управления с поточным текстом и вводом.
6.0.1 5 июля 2007[15]
  • Расширены автоматические и ручные настройки прокси-сервера для соединения с интернетом.
  • Более полная документация по функциям Mathematica, унаследованным из более ранних версий.
  • Значительно улучшена производительность MathLink на Mac- и Unix-системах.
  • Улучшена производительность различных конвертеров в функциях Import и Export.
  • Более быстрая работа ListPlot, ListPlot3D и Plot3D для большого числа точек.
  • Улучшено исходное окно системы справки.
  • Расширения для автоматического определения формата файла для функции Import.
  • Полная поддержка масштабных значений FontSize.
  • Улучшения в импорте Table, CSV, TSV и MathML.
  • Добавлены пункт меню Evaluate Notebook и подменю Magnification.
  • Дополнительные пример применения функций Mathematica и учебные руководства.
  • Обновления поддерживаемых данных.
6.0.2 март 2008[16]
  • Новая документация Virtual Book с обновлённым содержанием Mathematica Book.
  • Новый Function Navigator (навигатор функций), простой просматриваемый обзор всех объектов Mathematica.
  • Несколько дополнительных улучшений документации, включая прирост производительности, индексирование и систему ссылок.
  • Полная 64-битная производительность на Intel Mac.
  • Улучшенная производительность конвертеров Import и Export на Mac и Unix.
  • Значительное ускорение импорта файлов двоичных данных.
  • Улучшено поведение графики при экспорте в TeX и PDF.
  • Улучшенный импорт метаданных из файлов астрономических изображений FITS.
  • Новый инструмент выбора координаты и усовершенствованная подсветка графических выборов для интерактивных графиков.
6.0.3 июнь 2008[16]
  • Полный список стандартных дополнительных пакетов добавлен в 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[17]
7.0.1 5 марта 2009[18]
  • Прирост производительности функций обработки изображений ядра.
  • Вызов правой кнопкой мыши меню для быстрого управления изображениями.
  • Новые учебники, руководства «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.2
  • Была выпущена и распространялась исключительно с gridMathematica 8.0.2, не имела отличий в функциональности от версии 8.0.1.
8.0.3
  • Ветвь для разработки Wolfram CDF Player 8.0.3. Версия для пользователей не выпускалась.
8.0.4 26 октября 2011
  • Новые опции меню и интерактивный мастер создания CDF-документов.
  • Новые функции CDFInformation и CDFDeploy для программного создания CDF-файлов.
  • Новый индикатор процента загрузки для браузерного CDF-плагина.
  • Улучшены стабильность, скорость и безопасность браузерного CDF-плагина.
  • Испытана работа под Mac OS X Lion.
  • Улучшено использование памяти функцией Share при хранении больших массивов данных.
  • Обновлена библиотека MKL для увеличения производительности.
  • Новая подсветка синтаксиса, оповещающая об использовании Module-переменной в Dynamic.
  • Улучшения производительности для функций цитирования.
  • Улучшено поведение оптимизированных переменных в компилируемых условных выражениях.
  • Улучшено поведение внешнего интерфейса при сохранении не озаглавленных файлов новых версий Linux.
Mathematica 9 9.0.0 28 ноября 2012

Расширения Mathematica[править | править вики-текст]

AceFEM — среда для решения физических и математических задач методом конечных элементов.

AceGen — система автоматической генерации и оптимизации кода.

Analog Insydes — пакет для моделирования, анализа и создания электрических схем.

BEST Viewpoints — программа для получения определённой информации из набора данных.

Derivatives Expert — анализ ценных бумаг и деривативов.

Experimental Data Analyst — обработка экспериментальных данных, определение параметров зависимостей, оценка ошибок.

Fuzzy Logic — набор инструментов для создания, модификации и визуализации нечётких множеств, а также систем, основанных на нечёткой логике.

Geometrica — геометрическая энциклопедия с возможностями точного построения геометрических объектов и проверки утверждений.

Geometry Expressions — расширение для символьной геометрии.

Global Optimization — глобальная оптимизация нелинейных функций.

KNITRO for Mathematica — решение задач крупномасштабной нелинейной оптимизации.

LensLab — пакет для трассировки лучей, рендеринга и анализа оптических систем.

LinkageDesigner — пакет виртуального макетирования связей.

machine learning framework — построение точных моделей по наборам данных.

MathCode C++ — генерирует оптимизированный код на C++ из программы на Mathematica.

MathCode F90 — генерирует оптимизированный код на Fortran 90 из программы на Mathematica.

Mathematica Link for Excel — взаимодействие Mathematica с Excel.

Mathematica Link for LabVIEW — взаимодействие Mathematica с LabVIEW.

MathModelica (SystemModeler) — платформа для разработки инженерных и биологических моделей.

MathOptimizer — система оптимизации.

MathOptimizer Professional — система оптимизации, использующая внешнее приложение LGO Solver Suite.

MechanicalSystems — анализ механических систем.

Neural Networks — моделирование и анализ искусственных нейронных сетей.

Objectica — полная поддержка возможностей объектно-ориентированного программирования в Mathematica.

Operations Research — решения задач линейной оптимизации, квадратичного программирования, поиска наименьшего пути, комбинаторной оптимизации и эвристики.

Optica — проектирование и анализ оптических систем.

PathwayLab Research Edition — анализ цепочек биохимических реакций.

SchematicSolver — аналитическое исследование аналоговых и цифровых систем.

SEM — поддержка супервычислений.

SmartCAE Heat Transmission — моделирование теплопередачи.

Statistical Inference Package — интерфейс для статического анализа.

Structural Mechanics — моделирование систем механики сплошных сред.

Tensors in Physics — пакет тензорных вычислений.

Time Series — среда для анализа данных, зависящих от времени.

TSi ProPac — моделирование систем управления и динамики многих тел.

UnRisk PRICING ENGINE — быстрый расчёт финансовых рисков.

VisualDSolve — визуализация дифференциальных уравнений.

Примечания[править | править вики-текст]

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