Переменные и функции
Имена переменных должны начинаться с букв и могут также содержать цифры:
(Имена переменных лучше начинать с маленьких букв, так как встроенные объекты начинаются с прописных букв.)
Пробел между двумя переменными или цифрами обозначает умножение:
(Другими словами, “a b” — это a умножить на b, а “ab” — это переменная ab.)
a b + 5 x x
Используем символы /. и для замены частей выражения:
(Символ “правило” может быть набран как ->.)
1 + 2 x /. x -> 2
Присвоение значения переменной осуществляется с использованием символа = (равенство):
x = 2
Собственные переменные можно использовать в любых выражениях и функциях:
1 + 2 x
Значение переменной можно стереть и тогда x останется не вычисленным:
Wolfram Mathematica

Доступно для рабочего стола,
облака и мобильных устройств
Mathematica
На протяжении трёх десятилетий Mathematica определяет передовой край технических вычислений и обеспечивает основную среду для проведения расчётов для миллионов новаторов, педагогов, студентов и других пользователей по всему миру.
Широко признанная за технические возможности и элегантную простоту использования, система Mathematica обеспечивает цельную интегрированную и постоянно расширяющуюся систему, охватывающую весь спектр технических вычислений, а также доступна бесперебойно в облаке через любой веб-браузер наряду со всеми родными современными системами для рабочего стола.



![]()
![]()
Нет лучшего выбора для современных технических вычислений
Благодаря энергичному развитию и стабильному видению на протяжении трёх десятилетий, Mathematica не имеет себе равных в большом диапазоне измерений и уникальна в своей поддержке современной среды и организации рабочего процесса для технических расчётов.

Огромная система, тесная интеграция
Mathematica имеет в наличии более 6000 встроенных функций, покрывающих все области технических расчётов—все они тщательно интегрированны для идеальной совместной работы, и все они включены в полностью интегрированную систему Mathematica.

За пределами чисел и математики
Основываясь на трех десятилетиях развития, Mathematica превосходит во всех областях технических расчётов, включая нейронные сети, машинное обучение, обработку изображений, геометрию, науку о данных, визуализацию и многое другое.
Удивительная алгоритмическая производительность
Mathematica строится на беспрецендентно мощных алгоритмах всех предметных областей; многие из них были созданы компанией Wolfram, используя уникальные методы развития и уникальные возможности языка Wolfram Language.
Более высокий уровень, чем когда-либо прежде
Суперфункции, мета-алгоритмы. Mathematica предоставляет прогрессивную высокоуровневую среду с максимальным уровнем автоматизации, что позволяет Вам быть наиболее продуктивными.

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

Убедительная простота в использовании
Mathematica использует свои алгоритмические возможности и тщательное проектирование языка Wolfram Language для создания уникальной в использовании системы, имеющей предиктивные рекомендации, поддержку ввода на естественном языке и многое другое.
Не только пишите код, но и документируйте
Mathematica использует Wolfram Notebook Interface, который позволяет организовать всё, что Вы делаете, в богатый содержанием документ, который включает текст, выполнимый код, динамичную графику, пользовательский интерфейс и многое другое.
Понятный код
Благодаря когерентному дизайну и использованию интуитивных названий функций, состоящих из полных английских слов, язык Wolfram Language исключительно просто читать, использовать и изучать.
Представляйте свои результаты наилучшим способом
Благодаря утончённой вычислительной эстетике и отмеченному наградами дизайну, система Mathematica представляет Ваши результаты в привлекательном виде, мгновенно создавая передовые интерактивные визуализации и готовые к публикации документы.
Реальные данные напрямую
Mathematica имеет доступ к обширной базе знаний Wolfram Knowledgebase, которая включает актуальные реальные данные из тысяч предметных областей.

Эффективная облачная интеграция
Mathematica теперь эффективно интегрированна с облаком позволяя совместное использование, облачные расчёты и многое другое в уникальной и мощной гибридной среде облака/рабочего стола.

Совместимо с чем угодно
Mathematica построена так, чтобы быть подключенной ко всему: файловым форматам (более 180), другим языкам, Wolfram Data Drop, API, базам данных, программам, интернету вещей, устройствам и даже распределённым копиям самой себя.
Более 150 000 примеров
Начните с практически любого проекта с помощью более 150 000 примеров из Documentation Center, и более 10 000 демонстраций с открытым кодом в Wolfram Demonstrations Project и множества других ресурсов.
Функциональное покрытие
Mathematica основывается на инновационном языке Wolfram Language.
Как задать функцию в wolfram mathematica
- Продукция и услуги
-
- Wolfram|One
- Mathematica
- Wolfram|Alpha Notebook Edition
- Finance Platform
- System Modeler
- Wolfram Player
- Wolfram Engine
- WolframScript
-
- Enterprise Private Cloud
- Сервер приложений
- Enterprise Mathematica
- Wolfram|Alpha Appliance
- Корпоративное консультирование
- Технический консалтинг
- Wolfram|Alpha Решения для бизнеса
- Система ресурсов
- Хранилище данных
- Хранилище нейронных сетей
- Хранилище функций
- Wolfram|Alpha Pro
- Problem Generator
- API
- Продукция для образования
- Мобильные приложения
- Wolfram Player
- Приложение Wolfram Cloud
- Wolfram|Alpha для мобильных устройств
- Приложения, работающие на основе Wolfram|Alpha
- Платная проектная поддержка
- Wolfram U
- Летние программы
-
- Инженерное дело, НИОКР
- Аэрокосмическая и оборонная промышленность
- Химическое машиностроение
- Системы управления
- Электротехника
- Обработка изображений
- Производственная инженерия
- Машиностроение
- Исследование операций
- Другие.
- Финансы, статистика и бизнес-анализ
- Актуарное дело
- Биоинформатика
- Наука о данных
- Эконометрика
- Управление финансовыми рисками
- Статистика
- Другие.
- Образование
- Все решения для образования
- Машинное обучение
- Мультипарадигмальная наука о данных
- Высокопроизводительные вычисления
- Структура квантовых вычислений
- Программное обеспечение и веб
- Разработка программного обеспечения
- Издательское дело
- Разработка интерфейсов
- Веб-разработка
- Астрономия
- Биология
- Химия
- Другие.
-
- Обучение
- Документация языка Wolfram Language
- Краткое введение для программистов
- Wolfram U
- Видео и скринкасты
- Книга: Введение в язык Wolfram Language
- Вебинары и тренинг
- Летние мероприятия
- Книги
- Обратиться за помощью
- Ответы на часто задаваемые вопросы технической поддержки
- Wolfram Community
- Обратиться в службу поддержки
- Расширенная поддержка
- Платная поддержка проекта
- Технический консалтинг
-
- О компании
- История
- Блог Wolfram
- Мероприятия
- Контактная информация
- Работать с нами
- Вакансии Wolfram
- Стажировка
- Другие вакансии в сфере языка Wolfram Language
- Проекты
- Wolfram Foundation
- MathWorld
- Computer-Based Math
- Новый вид науки
- Технологии Wolfram для хакатонов
- Student Ambassador Program
- Wolfram для стартапов
- Demonstrations Project
- Премии Wolfram Innovator
- Wolfram + Raspberry Pi
- Летние программы
- Другие.
Wolfram Mathematica: знакомство

Все знают Wolfram|Alpha, и наверняка слышали о Wolfram Mathematica. К сожалению, поиск показал отсутствие постов об этой замечательной среде на хабре, и данной статьей хотелось бы открыть серию публикаций посвященных программированию на Mathematica. Для начала стоит сказать о возможностях и особенностях этой системы, которых ой как много, так что запаситесь терпением. Если хабражителей заинтересует этот математический пакет, то обязательно последуют другие статьи, более конкретные, обучающие работе со средой и внутренним языком.

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

Поскольку описывается математическая среда, в первую очередь надо рассказать о ее вычислительных способностях и диапазоне решаемых задач: Mathematica содержит наибольшую в мире коллекцию высокооптимизированных алгоритмов, заключенных в одной системе, многие из которых были открыты при Wolfram Research. Сочетание эффективности JIT (компиляции на лету) и автоматически конфигурируемых параллельных вычислений, гарантирует корректность ответов и высокую скорость их получения. Система поддерживает числа любой точности, причем для внутренних расчетов часто используются еще более точные значения для повышения качества результата. Также, для повышения точности среда использует символьные вычисления, т.е. пытается упростить или преобразовать выражение и лишь затем производит численный расчет. При этом алгоритм решения выбирается автоматически из тысяч методов и может быть изменен даже в процессе вычисления, что ускоряет получение решения и повышает точность больше, чем ручное задание метода (что, однако, не запрещено).

Все математические возможности заключены в небольшом наборе мощных функций, предоставляющих возможность решения алгебраических, дифференциальных, реккурентных и функциональных равенств и неравенств, а также линейных систем; возможность проводить дифференциальный и интегральный анализы, анализ рядов и анализ Фурье, кластерный анализ, интегральные преобразования и многое другое. А также: символьные матрицы, матрицы с числами любой точности, плотные, разреженные, матрицы с миллионами элементов, различные численные методы для нахождения корней и систем алгебраических уравнений. Mathematica предоставляет всеобъемлющую систему для дискретных вычислений, включает в себя все аспекты полиномиальной алгебры, такие, как разложение на множители и декомпозицию, структурные операции, деление многочленов и т.д. Среда позволяет создавать, отображать и управлять кривыми Безье, B-сплайнами, NURBS кривыми и поверхностями в любом числе измерений. Интерполирование данных сплайнами позволяет применять сплайновые методы в любой области.

Взятие простых и многомерных интегралов, а также сумм и произведений их последовательностей; поддерживается большое число методов численного интегрирования. По слухам, Mathematica берет 99% всех известных интегралов и является лидером в данной области. К сожалению, сейчас найти такую информацию на сайте не удалось, но еще ни разу она меня в этой области не подводила.

Mathematica поддерживает широкий набор основных операций и алгоритмов на графах, например: нахождение путей, циклов, клик и прочие. Можно задавать произвольные графы, генерировать случайные, интерактивно конструировать их, а также экспортировать и импортировать в стандартный формат графов и матричный вид. Про такие простые вещи как разложение на множители, простые числа, сравнительную и модульную арифметику можно даже и не упоминать. Доступны математические константы любой точности, а миллионы знаков таких констант как π или e вычисляются в одно мгновение.

Статистики тоже найдут Mathematica полезной, т.к. она включает в себя большее число статистических распределений, чем в любой другой системе, и предлагает полный набор статистических мер и операций (от математического ожидания и дисперсии до полувариантов и энтропии информации), автоматическую оценку параметров и проверку гипотез, анализ статистических моделей и многое другое.

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

Mathematica поддерживает сотни форматов для импорта и экспорта, включая электронные таблицы, xml, двумерные и трехмерные графические форматы, мультимедиа-файлы, документы, включая pdf и html, а также архивы и многие другие специфические форматы данных. Изначально поддерживаются все стандартные растровые, векторные и видео форматы, включая gif, jpeg, png, svg, eps, avi, flv, quicktime, swf и прочие. Можно импортировать как видеофайлы целиком, так и выделять отдельные кадры для дальнейшей обработки. А для работы с изображениями в Mathematica встроено множество функций служащих для их получения, применения различных фильтров, сегментации, анализа форм, выделения контуров и т.д., работающих в реальном времени.

На многоядерной системе среда автоматически запускает несколько частей расчета одновременно (несколько кривят душой, все же надо немного повозиться). Подсистема параллельных вычислений может масштабироваться для сетевых вычислений, grid-систем, облачных вычислений, а символьный язык предоставляет поддержку множества моделей разделения данных. Система также позволяет программировать GPU: встроена поддержка CUDA и OpenCL. Все GPU-операции полностью интегрированы в среду, включая обмен данными между процессами, автоматическую компиляцию и линковку GPU-кода.

Mathematica содержит полный набор функций для отображения структурированных и неструктурированных данных в 2d и 3d. Встроены функции для вывода графиков контурных и плотности, графиков из точек, линий и поверхностей, векторных графиков и графиков линий тока, гистограмм, двумерных и трехмерных секторных и столбчатых диаграмм, пузырьковых диаграмм, графиков для специализированных областей (таких как финансы и статистика, теория графов, управляющие системы и т.д.: график «японские свечи», Q-Q-нормальный вероятностный график (quantile plot), «ящик с усами» (box-and-whiskers plot), ЛАФЧХ (Bode plot) и многие другие).

Графическая подсистема обеспечивает высококачественное статическое или динамическое представление функций, данных, диаграмм, изображений или аннотаций автоматически определяя баланс между скоростью вычислений и визуальным соответствием. Графические функции способны самостоятельно выбирать области печати и разбиение на регионы. Mathematica предоставляет сотни опций позволяющих контролировать каждый аспект отображения, включая размер рисунка, метки осей, отображение сетки, разбиение, заливку, 3d-освещение, угол наклона камеры и многое другое, позволяя создавать профессионально выглядящие графики. Более того, 3d-графики являются интерактивными, позволяющими изменять параметры камеры в реальном времени.

Отдельно стоит сказать и про разработку, которая много облегчается с автоматическим конструированием интерфейсов, символьным заданием элементов управления, единым интерфейсом ввода, отладкой и профилированием с возможностью ставить различные типы точек останова, следить за выражениями во время выполнения кода, визуальным пошаговым контролем выполнения программ и многим другим. Mathematica предоставляет мощный редактор исходного кода с подсветкой синтаксиса, отчетами об ошибках, довводом команд, автоматическим форматированием, отступами и т.д. Интеграция с многоязыковой IDE Wolfram Workbench (на базе Eclipse) дает доступ к различным инструментам, повышающим эффективность разработки, например: управлению файлами проекта, развитым инструментам для работы с исходным кодом, отладке и анализу синтаксиса.

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

Система позволяет создавать пакеты – платформонезависимые библиотеки кода, позволяющие многократно его использовать и легко распространять с полным набором документации и вспомогательными панелями инструментов. К Mathematica легко подключить внешние контроллеры или устройства ввода: она автоматически распознает и позволяет конфигурировать геймпады, джойстики, тактильные устройства, 3d-мыши и прочие HID-устройства на любой платформе.

Работа со средой, главным образом, происходит в так называемых «ноутбуках» (notebook, *.nb), которые могут содержать форматированный текст, графику, интерактивные приложения, код и данные, а также могут быть использованы для распространения в виде отчета или презентации. Ввод формул очень прост и в то же время чрезвычайно мощен. В системе присутствуют все типовые возможности высококачественной системы обработки текста, а лежащая в основе документа символьная структура предоставляет гибкие возможности задания разметки и использования стилей (cascading stylesheets): более 1000 опций форматирования и оформления доступны как из меню, так и программно.

Mathematica подключается к любой стандартной SQL-СУБД, предоставляя высокоуровневое символьное представление БД, запросов и результатов наравне с полной поддержкой традиционных строковых SQL-запросов; может вызывать подпрограммы и быть вызвана из программ на C, .NET, Java и других языках; автоматически генерировать код на C для использования в отдельных проектах или для компилирования в библиотеки или исполняемые файлы; подключать динамические библиотеки во время выполнения; подключаться к WSDL-веб сервисам. Все это обеспечивает простое внедрение в существующую инфраструктуру. webMathematica развертывает высокоэффективные приложения Mathematica в виде интерактивных вебсайтов, которые используют современные веб-стандарты и сервисы для добавления динамического содержимого и проведения вычислений через веб. С помощью gridMathematica, приложения можно запускать в параллельном режиме в кластере с автоматической координацией и управлением процессами. Поддерживается программное создание отчетов во множестве форматов, включая PDF, электронные таблицы, HTML и RTF.

Благодаря мощной функции Manipulate можно создавать интерактивные мини-приложения, которые можно будет просмотреть и запустить на любой системе с помощью бесплатного Mathematica Player. Среди особенностей 8 версии пакета, можно выделить прямой доступ к данным Wolfram|Alpha и свободную форму лингвистического ввода. Можно ввести формулу простым человеческим языком, что может быть полезно для новичков.

Как видно из вышеописанного, система является кроссплатформенной и выпущена для windows, mac os, linux и даже sun solaris 10, как 32-битных версий, так и 64-битных. (системные требования и точный список поддерживаемых ОС). И, конечно, в такой мощной системе не обойтись без документации. Mathematica не подкачала и здесь: справка состоит из интерактивных ноутбуков, содержащих более чем 100 000 примеров. Все примеры могут быть запущены или изменены прямо в документации (не бойтесь, изменения не сохраняться), позволяя легко изучать новый функционал.
Заключение
При подготовке, были использованы материалы из раздела features официального сайта, документации и личный многолетний опыт работы со средой. Дополнительную информацию можно найти в обозначенном выше разделе, информацию о способах применения системы в разделе решений, а также можно посмотреть рассказы пользователей. Pro-версия стоит немало, однако есть значительные скидки для студентов, учебных заведений и домашнего использования. Доступна и триальная версия на 15 дней использования. [А еще можно скачать вы сами знаете где].
Надеюсь, мне удалось Вас заинтересовать, и хабр увидит еще множество статей о Wolfram Mathematica.UPD: vayun упомянул об одной из самых интересных штук для ознакомления — о Wolfram Demonstrations Project, на котором можно посмотреть множество мини-программ, сделанных с использованием Manipulate. У всех программ есть онлайн предпросмотр, и возможность скачать демо-проект (запустить можно бесплатным Mathematica Player’ом) и исходники.
- wolfram
- mathematica
- математический пакет
- О компании
- Обучение
- Инженерное дело, НИОКР
-
