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 и Sun Grid .

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

Расширения

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

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

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

Связь с другими приложениями может осуществляться с помощью протокола Wolfram Symbolic Transfer Protocol (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] и может читать и записывать данные в публичные блокчейны ( Bitcoin , 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.1 Wolfram Language & Mathematica» . Получено 31 июля 2024 г.
  3. ^ "Celebrating Mathematica's First Quarter Century". 23 июня 2013 г. Получено 11 августа 2015 г.
  4. ^ Программная инженерия Mathematica — Документация Wolfram Mathematica 9 Архивировано 29 июля 2017 г. на Wayback Machine . Reference.wolfram.com. Получено 23 марта 2015 г.
  5. ^ "Системные требования и доступность платформы Mathematica 12" . Получено 16 декабря 2020 г. .
  6. ^ Raspberry Pi включает Mathematica бесплатно Архивировано 2014-05-09 на Wayback Machine The Verge
  7. ^ "Wolfram Mathematica" . Получено 11 августа 2015 г.
  8. ^ "Стивен Вольфрам: Простые решения; Программное обеспечение Mathematica этого физика-иконоборца решает сложные головоломки" . BusinessWeek . 3 октября 2005 г. Получено 4 августа 2021 г.
  9. ^ "Связаться с Wolfram Research" . Получено 11 августа 2015 г.
  10. ^ «Новый язык программирования Стивена Вольфрама: может ли он сделать мир вычислимым?». Журнал Slate . 6 марта 2014 г. Получено 11 августа 2015 г.
  11. ^ «Mathematica — три десятилетия вкладов, изобретений, открытий и образования». www.wolfram.com . Получено 16.05.2022 .
  12. ^ «Отмечаем треть века Mathematica и смотрим вперед — сочинения Стивена Вольфрама». writings.stephenwolfram.com . 22 октября 2021 г. . Получено 16.05.2022 .
  13. ^ «Было время до Mathematica…—Сочинения Стивена Вольфрама». writings.stephenwolfram.com . 6 июня 2013 г. Получено 16 мая 2022 г.
  14. ^ Патент US8407580 Поиск патентов Google
  15. ^ Хейс, Брайан (1990-01-01). "Мысли о Mathematica" (PDF) . Pixel . Архивировано (PDF) из оригинала 2014-07-15.
  16. ^ "Wolfram представляет Workbench IDE для Mathematica". Macworld . 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». writings.stephenwolfram.com . 9 января 2024 г. Получено 25 июня 2024 г.
  29. ^ «Репозиторий функций Wolfram: запуск открытой платформы для расширения языка Wolfram — сочинения Стивена Вольфрама». writings.stephenwolfram.com . 11 июня 2019 г. . Получено 16.05.2022 .
  30. ^ «Запуск версии 13.0 Wolfram Language + Mathematica—Stephen Wolfram Writings». writings.stephenwolfram.com . 13 декабря 2021 г. . Получено 16.05.2022 .
  31. ^ «Запуск репозитория данных Wolfram: публикация данных, которая действительно работает — сочинения Стивена Вольфрама». writings.stephenwolfram.com . 20 апреля 2017 г. . Получено 16 мая 2022 г.
  32. ^ Скиена, Стивен (2003). Вычислительная дискретная математика: комбинаторика и теория графов с Mathematica . Cambridge University Press.
  33. ^ «Протокол символической передачи Wolfram (WSTP)».
  34. Mathematica 4.2. Архивировано 21 ноября 2007 г. на Wayback Machine Чарльзом Сайтером, Macworld , 1 ноября 2002 г.
  35. ^ .NET/Link Архивировано 09.09.2010 на Wayback Machine : .NET/Link — это набор инструментов, который интегрирует Mathematica и Microsoft .NET Framework.
  36. ^ "mathlink: Написание пакетов Mathematica на Haskell - Hackage" . Получено 11 августа 2015 г. .
  37. ^ S.Kratky. "MathLink for AppleScript". Архивировано из оригинала 17 июля 2011 г. Получено 11 августа 2015 г.
  38. ^ "MrMathematica: Вызов Mathematica из Scheme" . Получено 11 августа 2015 г.
  39. ^ "Mathematica для ActiveX - из архива библиотеки Wolfram" . Получено 11 августа 2015 г.
  40. ^ "erocarrera/pythonika". GitHub . Получено 11 августа 2015 г. .
  41. ^ "PYML (интерфейс Python Mathematica) - из архива библиотеки Wolfram" . Получено 11 августа 2015 г.
  42. ^ "Clojuratica - Главная". Clojuratica.weebly.com . Получено 2013-08-16 .
  43. ^ "Wolfram Documentation: ServiceConnect" . Получено 4 августа 2021 г. .
  44. ^ «Вернье и Mathematica».
  45. ^ "Работа с блокчейнами" . Получено 15 апреля 2020 г.
  46. ^ Обзор лабораторий Mathematica 6 Архивировано 25.03.2022 на Wayback Machine Cadalyst 1 февраля 2008 г.
  47. ^ "Создать код LLVM" . Получено 13 апреля 2020 г.
  48. ^ «Запуск версии 12.3 Wolfram Language & Mathematica—Stephen Wolfram Writings». writings.stephenwolfram.com . 20 мая 2021 г. . Получено 29.01.2022 .
  49. ^ "Scientific and Technical Data", Mathematic Guide , Wolfram Research, архивировано из оригинала 10 мая 2012 г. , извлечено 16 мая 2012 г.
  50. ^ "Награды BYTE". BYTE . Январь 1989. С. 327.
  51. ^ "Пол Ромер". paulromer.net . Получено 2021-08-05 .
  52. ^ «Почему Wolfram Tech не является ПО с открытым исходным кодом — дюжина причин — блог Wolfram». blog.wolfram.com . 2 апреля 2019 г. Получено 05.08.2021 г.
  53. ^ «Шесть причин, по которым язык Wolfram Language имеет (подобный) открытый исходный код — блог Wolfram». blog.wolfram.com . 30 ноября 2021 г. . Получено 16.05.2022 .

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