Введение в Wolfram Mathematica

06 June 2013

Wolfram Mathematica — это программное обеспечение, не только для математических вычислений, это гораздо больше: от моделирования и симуляции, визуализации, документации, до создания веб-сайтов. Mathematica обладает возможностью осуществлять вызовы функций и принимать вызовы с C, .NET, Java и других языков, генерировать C код, компилировать автономные библиотеки и исполняемые файлы.
Обо всех достоинствах Mathematica можно почитать на официальном сайте

Для начала работы с Mathematica вам необходимо её получить и установить на свой компьютер. Mathematica прекрасно работает на Windows, Mac, Linux.
Скачать и бесплатно попробовать Mathematica так же можно на оф. сайте.
Если же вы надумаете её купить, то цены на неё вполне приемлемые. Например для студента за семестровый вариант она обойдётся в $44.95. Для домашнего использования в $295. Если вы планируете использовать её для коммерческих целей, то наилучший вариант лицензии это Standard Edition (Вы получаете подписку на Premier Service и бесплатные обновления).

Изучение


Самая лучшая книга по Mathematica — это встроенный Help. Имеет огромную кучу туториалов и советов. Огромное множество примеров. Всё что вам может понадобится находится там. Это первое место где нужно искать нужную информацию. Однако, если вам нужно больше, в интернете огромное множество сообществ посвещённых Mathematica. (Например: mathematica.stackexchange.com).

Блокноты и Ячейки


Все вычисления в Mathematica находятся в блокнотах. И имеют расширение .nb. В блокнотах находятся как и код, так и результаты вычислений. Блокноты разбиты на ячейки различного типа:

  • Ячейки ввода – в них задаются команды, которые будут вычислены
  • Ячейки результата – в них выводится результат вычислений
  • Другие ячейки – ячейки с текстом, заголовки и все остальное





Нумерация ячеек идёт в том порядке в котором вы их запустили. Для того что-бы вычислить значение ячейки нажмите SHIFT+ENTER или правый ENTER, либо Evaluation -> Evaluate Cells.

Для того, чтобы обратиться к значению последней вычисленной ячейке используйте знак %.



Бесконечная точность


Одной из замечательных особенностью Mathematica является концепция бесконечной точности. Если результатом вычислений является корень из двух, то она так и напишет.



Вы можете попросить округлить ответ так:



Или же добавить дробную часть (или просто точку) к числам в выражении:




Ввод формул



В Mathematica реализован удобный ввод формул. Но для начала вам могут пригодится палитры (На картинке справа находится Palettes -> Basic Math Assistant).

У каждой кнопочки на палитре есть свои горячие клавиши. Например, чтобы написать знак интеграла нужно нажать Esc int Esc.

Вот список наиболее часто используемых горячих клавиш:

  • CTRL+2 – Шаблон квадратного корня
  • CTRL+6 – Верхний индекс
  • CTRL+7 – Надстрочный символ
  • CTRL+- – Нижний индекс
  • CTRL+= – Подстрочный символ
  • CTRL+/ – Дробь
  • CTRL+2, затем CTRL+5 – Корень любой степени
  • ALT+ENTER – Создает новую ячейку
  • SHIFT+CTRL+D – Разбивает текущую ячейку
  • SHIFT+CTRL+M – Склеивает несколько ячеек



Выражения, Списки, Функции



Все что записано внутри ячеек является выражениями. Каждое выражение состоит из головы и списка. Например в выражение Power[2, 2]. В нём головой является Power, а списком 2, 2.
Даже 2+2 является выражением. Чтобы посмотреть как Mathematica интерпретирует ввод, есть функция FullForm:



Функция Hold просит математику не вычислять выражение. Обратной функция является Evaluate.

Списки в Mathematica создаются при помощи фигурных скобок: {…}, что является сокращением от List[…].

Для манипуляции со списками в Mathematica есть огромная куча функций. Всё что вам может когда-нибудь понадобиться уже есть там. Вам остаётся только найти нужную функцию.

Для того чтобы получить элемент списка есть функция Part, c сокращённым вариантом в виде двойных квадратных скобок [[…]] либо с толстыми скобками (Esc [[ Esc).

Поскольку всё является выражениями (и списки тоже), мы может получить голову выражения таким вот способом:



Таким образом индекс первого элемента в списке это 1.

Так же есть возможность заменить голову любого выражения. Это делает функция Apply[head, expression]. Либо её сокращённый вариант @@.



В Mathematica есть несколько способов применить функции(головы) к выражениям. Это обычные квадратные скобки: f[x], префикс: f@x, постфикс: x // f



А так же инфикс: из x ~ f ~ y получим f[x, y].

Однострочное программирование


В Mathematica есть множество функций для обычного программирования, такие как For, If, Switch. Однако, их лучше не использовать без крайней необходимости. Так как практически всё тоже самое можно сделать в одну строчку при помощи специальных функций и их комбинированием (поначалу бывает сложно перестроиться на такой стиль программирования).

Вот хорошее видео демонстрирующее как работают некоторые из функций



Динамические интерактивные вычисления


Одной из замечательнейших возможностью Mathematica, являются динамические вычисления. Они позволяют манипулировать данными и смотреть на то как динамически меняется результат.

Для динамических вычислений используются функции Dynamic, Manipulate и др.



Заключение


В статье я рассказал о основных аспектах работы в Mathematica. Есть также несколько других важных моментов, таких как паттерны, модули, ядра. О них я расскажу в следующий раз, если эта тема будет интересна вам.

Hi, I’m Anton. If you liked the post share it Tweet Share
If you found a typo edit post on GitHub.