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

Группа специальных интересов matrix-sig (http://mail.python.org/pipermail/ matrix-sig) была создана сообществом Python в 1995 году. Создание другой формы данных для массивов. Джим Хугунин, в то время аспирант Массачусетского технологического института, создал Numeric, модуль C-расширения, построенный на матричном объекте Джима Фултона из предыдущего года и добавивший несколько концепций из matrix-sig. Хугунин объявил о своем уходе из проекта в июне 1997 года, чтобы сосредоточиться на Jython, реализации Python на основе Java. Поль Дюбуа занял пост ведущего создателя Numeric после того, как Хьюгунин ушел в отставку.

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

В те первые годы между стандартными и научными группами Python было тесное сотрудничество. На самом деле, Гвидо ван Россум, доброжелательный диктатор Python на всю жизнь (BDFL), был членом матричного знака. В результате этого тесного сотрудничества Python приобрел новые функции и синтаксис, которые были запрошены научным сообществом Python. Хотя были некоторые незначительные изменения, такие как добавление комплексных чисел, большинство изменений было сосредоточено на том, чтобы сделать синтаксис работы с массивами более кратким и понятным.

Чтобы получить представление об этом важном новом направлении, давайте кратко рассмотрим три популярных проекта для математических и символьных вычислений: sympy, mpmath и Sage.

SymPy — это чисто основанная на Python схема машинной алгебры. На рис. 1 показан базовый сеанс SymPy, демонстрирующий возможности SymPy. После импорта нескольких продуктов из SymPy с помощью функции var мы объявляем один символ x. Затем, используя процедурные (интеграция) или объектно-ориентированные (diff) типы, мы можем символически использовать x.

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

Интегралы, производные, пределы, нелинейные уравнения, обыкновенные дифференциальные уравнения, специальные функции, аппроксимация функций и линейная алгебра — вот некоторые из тем, рассматриваемых в этом курсе. Рисунок 2 иллюстрирует, как мы можем использовать интеграл Гаусса для проверки до 50 цифр в качестве примера:

Sage — это основанная на Python математическая программная среда с открытым исходным кодом, которая объединяет множество пакетов с открытым исходным кодом в один графический интерфейс. Это

Включены линейная алгебра, исчисление, теория чисел, криптография, коммутативная алгебра, теория групп, комбинаторика, теория графов и многие другие математические области. Хотя NumPy, SciPy, matplotlib и другие библиотеки предоставляют вычислительную среду программирования, сравнимую с Matlab, Sage больше похожа на Mathematica, Maple или Magma.

Надеюсь, вы оцените этот специальный выпуск и воспользуетесь предоставленными ресурсами.