stringtranslate.com

Вольфрам Математика

Wolfram Mathematica — это программная система со встроенными библиотеками для нескольких областей технических вычислений, которые позволяют машинное обучение , статистику , символьные вычисления , манипулирование данными, сетевой анализ, анализ временных рядов, НЛП , оптимизацию , функции построения графиков и различные типы данных, реализацию алгоритмов , создание пользовательских интерфейсов и взаимодействие с программами, написанными на других языках программирования . Он был задуман Стивеном Вольфрамом и разработан компанией Wolfram Research из Шампейна, штат Иллинойс. [8] [9] Язык Wolfram Language — это язык программирования, используемый в системе Mathematica . [10] Mathematica 1.0 была выпущена 23 июня 1988 года в Шампейне, штат Иллинойс, и Санта-Кларе, Калифорния . [11] [12] [13]

Интерфейс ноутбука

Система Mathematica разделена на две части: ядро ​​и интерфейсную часть . Ядро интерпретирует выражения (код языка Wolfram Language) и возвращает результирующие выражения, которые затем могут отображаться во внешнем интерфейсе.

Оригинальный внешний интерфейс, разработанный Теодором Греем [14] в 1988 году, состоит из интерфейса блокнота и позволяет создавать и редактировать документы блокнота , которые могут содержать код, открытый текст, изображения и графику. [15]

Альтернативой интерфейсу Mathematica является Wolfram Workbench — интегрированная среда разработки (IDE) на базе Eclipse , представленная в 2006 году. Она предоставляет инструменты разработки кода на основе проектов для Mathematica, включая управление версиями, отладку, профилирование и тестирование. [16]

Существует также плагин для IDE на базе IntelliJ IDEA для работы с кодом Wolfram Language, который помимо подсветки синтаксиса может анализировать и автоматически заполнять локальные переменные и определенные функции. [17] Ядро Mathematica также включает интерфейс командной строки. [18]

Другие интерфейсы включают JMath, [19] на основе GNU Readline и WolframScript [20] , который запускает автономные программы Mathematica (с аргументами) из командной строки UNIX.

Расширение файлов Mathematica — .nb и .m для файлов конфигурации.

Mathematica спроектирована так, чтобы быть полностью стабильной и обратно совместимой с предыдущими версиями.

Высокопроизводительные вычисления

Возможности высокопроизводительных вычислений были расширены с введением упакованных массивов в версии 4 (1999 г.) [21] и разреженных матриц (версия 5, 2003 г.) [22] , а также за счет принятия библиотеки GNU Multiple Precision Arithmetic Library для оценки высокоточных вычислений. арифметика.

В версии 5.2 (2005 г.) добавлена ​​автоматическая многопоточность, когда вычисления выполняются на многоядерных компьютерах. [23] В этот выпуск включены библиотеки, оптимизированные для конкретного процессора. [24] Кроме того, Mathematica поддерживается сторонними специализированными аппаратными средствами ускорения, такими как ClearSpeed . [25]

В 2002 году была представлена ​​GridMathematica , позволяющая параллельное программирование на уровне пользователя в гетерогенных кластерах и многопроцессорных системах [26] , а в 2008 году технология параллельных вычислений была включена во все лицензии Mathematica, включая поддержку технологии Grid, такой как Windows HPC Server 2008 , Microsoft Compute Cluster Server и Солнечная сетка .

Поддержка аппаратного обеспечения CUDA и OpenCL GPU была добавлена ​​в 2010 году. [27]

Расширения

Начиная с версии 14, в языке Wolfram Language имеется 6602 встроенные функции и символы. [28] Стивен Вольфрам объявил о запуске репозитория функций Wolfram в июне 2019 года, чтобы общественное сообщество Wolfram могло внести свой вклад в функциональность языка Wolfram Language. [29] На момент объявления Стивеном Вольфрамом о выпуске Mathematica 13 в качестве ресурсных функций было предоставлено 2259 функций. [30] Помимо хранилища функций Wolfram, существует хранилище данных Wolfram с вычисляемыми данными и хранилище нейронных сетей Wolfram для машинного обучения. [31]

Wolfram Mathematica является основой пакета Combinatorica, который добавляет в программу функциональные возможности дискретной математики в области комбинаторики и теории графов. [32]

Подключения к другим приложениям, языкам программирования и сервисам.

Связь с другими приложениями может осуществляться с использованием протокола, называемого протоколом символьной передачи Wolfram (WSTP). Он обеспечивает связь между ядром Wolfram Mathematica и внешним интерфейсом и обеспечивает общий интерфейс между ядром и другими приложениями. [33]

Wolfram Research свободно распространяет комплект разработчика для связывания приложений, написанных на языке программирования C , с ядром Mathematica через WSTP с использованием J/Link., [34] — программы на Java , которая может запрашивать Mathematica для выполнения вычислений. Аналогичная функциональность достигается с помощью .NET/Link, [35] , но с помощью программ .NET вместо программ Java.

Другие языки, подключаемые к Mathematica, включают Haskell , [36] AppleScript , [37] Racket , [38] Visual Basic , [39] Python , [40] [41] и Clojure . [42]

Mathematica поддерживает создание и выполнение моделей Modelica для системного моделирования и соединяется с Wolfram System Modeler .

Также доступны ссылки на многие сторонние программные пакеты и API. [43]

Mathematica также может собирать данные в реальном времени из различных источников [44] и читать и записывать в публичные блокчейны ( Биткойн , Ethereum и ARK). [45]

Он поддерживает импорт и экспорт более 220 форматов данных, изображений, видео, звука, систем автоматизированного проектирования (САПР), географических информационных систем (ГИС), [46] документов и биомедицинских форматов.

В 2019 году была добавлена ​​поддержка компиляции кода Wolfram Language в LLVM . [47]

В версии 12.3 языка Wolfram Language добавлена ​​поддержка Arduino . [48]

Вычислимые данные

Mathematica также интегрирована с Wolfram Alpha , онлайн- системой ответов , которая предоставляет дополнительные данные, некоторые из которых обновляются в режиме реального времени, для пользователей, использующих Mathematica с подключением к Интернету. Некоторые наборы данных включают астрономические, химические, геополитические, языковые, биомедицинские, авиационные и погодные данные, а также математические данные (такие как узлы и многогранники). [49]

Прием

В 1989 году компания BYTE включила Mathematica в число победителей премии BYTE Awards с отличием, заявив, что это «еще одно революционное приложение для Macintosh... оно может позволить вам освоить алгебру и исчисление, которые казалось невозможными для понимания из учебника». [50] Mathematica подвергалась критике за закрытость исходного кода. [51] Wolfram Research утверждает, что сохранение закрытого исходного кода Mathematica имеет решающее значение для ее бизнес-модели и непрерывности программного обеспечения. [52] [53]

Смотрите также

Рекомендации

  1. Вольфрам, Стивен (23 июня 2008 г.), Mathematica сегодня исполняется 20 лет, Вольфрам , получено 16 мая 2012 г.
  2. ^ «История продолжается: анонс версии 14 языков Wolfram Language и Mathematica» . Проверено 9 января 2024 г.
  3. ^ «Празднование первой четверти века Mathematica» . Проверено 11 августа 2015 г.
  4. ^ Программная инженерия Mathematica — Документация Wolfram Mathematica 9, заархивированная 29 июля 2017 г. в Wayback Machine . Ссылка.wolfram.com. Проверено 23 марта 2015 г.
  5. ^ «Системные требования Mathematica 12 и доступность платформы» . Проверено 16 декабря 2020 г.
  6. ^ Raspberry Pi включает Mathematica бесплатно. Архивировано 9 мая 2014 г. на Wayback Machine The Verge.
  7. ^ "Вольфрам Математика" . Проверено 11 августа 2015 г.
  8. ^ «Стивен Вольфрам: Простые решения; программное обеспечение Mathematica физика-иконоборца решает сложные головоломки» . БизнесУик . 3 октября 2005 года . Проверено 4 августа 2021 г.
  9. ^ «Свяжитесь с Wolfram Research» . Проверено 11 августа 2015 г.
  10. ^ «Новый язык программирования Стивена Вольфрама: может ли он сделать мир вычислимым?». Журнал «Сланец» . 6 марта 2014 года . Проверено 11 августа 2015 г.
  11. ^ «Математика - три десятилетия вклада, изобретений, открытий и образования» . www.wolfram.com . Проверено 16 мая 2022 г.
  12. ^ «Празднование трети века математики и взгляд в будущее - сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . Проверено 16 мая 2022 г.
  13. ^ «Было время до Mathematica… — Сочинения Стивена Вольфрама». сочинения.stephenwolfram.com . Проверено 16 мая 2022 г.
  14. ^ Патент US8407580 Поиск патентов в Google.
  15. ^ Хейс, Брайан (1 января 1990 г.). «Мысли о математике» (PDF) . Пиксель . Архивировано (PDF) из оригинала 15 июля 2014 г.
  16. ^ «Wolfram представляет Workbench IDE для Mathematica» . Макмир . 21 июня 2006 г. Архивировано из оригинала 2 июля 2006 г. Проверено 11 августа 2015 г.
  17. ^ «Плагин Mathematica для IntelliJ IDEA» .
  18. ^ Использование текстового интерфейса. Архивировано 29 октября 2013 г. в документации Wayback Machine на wolfram.com.
  19. ^ «JMath: интерфейс для Mathematica на основе GNU Readline» . Проверено 11 августа 2015 г.
  20. ^ "Список каталогов" . Проверено 18 апреля 2019 г.
  21. ^ Математическое программное обеспечение обладает новыми возможностями; новые программы автоматизируют такие утомительные процессы, как решение нелинейных дифференциальных уравнений и преобразование единиц. Агнес Шэнли, Химическая инженерия , 1 марта 2002 г.
  22. ^ Mathematica 5.1: дополнительные функции делают программное обеспечение хорошо подходящим для специалистов по исследованию операций. Архивировано 25 сентября 2008 г. в Wayback Machine МанМоханом С. Соди, OR/MS Today , 1 декабря 2004 г.
  23. 21-я ежегодная церемония вручения награды «Выбор редакции». Архивировано 12 января 2009 г. в Wayback Machine , Macworld , 1 февраля 2006 г.
  24. ^ «Mathematica настроена на использование возможностей процессора, когда они доступны» . Проверено 13 апреля 2020 г. .
  25. ^ «Платы ускорителей ClearSpeed ​​Advance, сертифицированные Wolfram Research; математические сопроцессоры позволяют пользователям Mathematica увеличить производительность в четыре раза» . Архивировано из оригинала 25 января 2016 года . Проверено 11 августа 2015 г.
  26. ^ GridMathematica предлагает решение для параллельных вычислений. Архивировано 2 декабря 2005 г. в Wayback Machine Деннисом Селлерсом, MacWorld , 20 ноября 2002 г.
  27. ^ «Поддержка CUDA и OpenCL добавлена ​​в Mathematica 8» . Проверено 13 апреля 2020 г. .
  28. ^ «История продолжается: анонс версии 14 языков Wolfram Language и Mathematica» . сочинения.stephenwolfram.com . Проверено 25 июня 2024 г.
  29. ^ «Репозиторий функций Wolfram: запуск открытой платформы для расширения языка Wolfram - сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . Проверено 16 мая 2022 г.
  30. ^ «Запуск версии 13.0 языка Wolfram Language + Mathematica — сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . Проверено 16 мая 2022 г.
  31. ^ «Запуск репозитория данных Wolfram: публикация данных, которая действительно работает - сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . Проверено 16 мая 2022 г.
  32. ^ Скиена, Стивен (2003). Вычислительная дискретная математика: комбинаторика и теория графов с Mathematica . Издательство Кембриджского университета.
  33. ^ «Протокол символической передачи Wolfram (WSTP)» .
  34. Mathematica 4.2. Архивировано 21 ноября 2007 г. в Wayback Machine Чарльзом Зейтером, Macworld , 1 ноября 2002 г.
  35. ^ .NET/Link. Архивировано 9 сентября 2010 г. на Wayback Machine : .NET/Link — это набор инструментов, который интегрирует Mathematica и Microsoft .NET Framework.
  36. ^ «mathlink: написание пакетов Mathematica на Haskell — Hackage» . Проверено 11 августа 2015 г.
  37. ^ С.Кратки. «MathLink для AppleScript». Архивировано из оригинала 17 июля 2011 года . Проверено 11 августа 2015 г.
  38. ^ «MrMathematica: вызов Mathematica из схемы» . Проверено 11 августа 2015 г.
  39. ^ «Mathematica для ActiveX — из архива библиотеки Wolfram» . Проверено 11 августа 2015 г.
  40. ^ "Эрокаррера/Питоника". Гитхаб . Проверено 11 августа 2015 г.
  41. ^ «PYML (интерфейс Python Mathematica) — из архива библиотеки Wolfram» . Проверено 11 августа 2015 г.
  42. ^ "Клоюратика - Дом" . Clojuratica.weebly.com . Проверено 16 августа 2013 г.
  43. ^ «Документация Wolfram: ServiceConnect» . Проверено 4 августа 2021 г.
  44. ^ «Вернье и Математика».
  45. ^ «Работа с блокчейнами» . Проверено 15 апреля 2020 г.
  46. ^ Обзор Mathematica 6 Labs. Архивировано 25 марта 2022 г. в Wayback Machine Cadalyst , 1 февраля 2008 г.
  47. ^ «Создать код LLVM» . Проверено 13 апреля 2020 г. .
  48. ^ «Запуск версии 12.3 Wolfram Language & Mathematica — сочинения Стивена Вольфрама» . сочинения.stephenwolfram.com . Проверено 29 января 2022 г.
  49. ^ «Научно-технические данные», Mathematic Guide , Wolfram Research, заархивировано из оригинала 10 мая 2012 г. , получено 16 мая 2012 г.
  50. ^ "Награды BYTE". БАЙТ . Январь 1989 г. с. 327.
  51. ^ "Пол Ромер". paulromer.net . Проверено 5 августа 2021 г.
  52. ^ «Почему технология Wolfram Tech не имеет открытого исходного кода - дюжина причин - Блог Wolfram» . blog.wolfram.com . Проверено 5 августа 2021 г.
  53. ^ «Шесть причин, почему язык Wolfram (похоже) с открытым исходным кодом - блог Wolfram» . blog.wolfram.com . Проверено 16 мая 2022 г.

Внешние ссылки