Питон | Математика

SageMath: математические расчеты на Python

Одна из лучших автоматических математических библиотек для Python.

Вы, наверное, слышали о Wolfram Mathematica, GNU Octave и Mathworks Matlab. Эти три — помимо R Programming и Maple — представляют собой триаду математических инструментов для ученых и инженеров из разных областей. Но держу пари, вы еще не слышали о SageMath.

Что такое SageMath?

SageMath — бесплатная математическая библиотека с открытым исходным кодом для Python. Он основан на других уже известных вам пакетах Python, таких как NumPy, SciPy, Matplotlib, Maxima и многих других.

Он доступен для дистрибутивов Windows, macOS и Linux. Скачать его можно здесь, с его официальной страницы.

Как вы его запускаете?

Как в Windows, так и в macOS вы можете просто щелкнуть прямой доступ к ноутбуку (который будет работать на Jupyter). Вы также можете использовать командную строку, но я не рекомендую это делать. Из Linux вы можете использовать как терминал, так и прямой доступ для запуска SageMath.

Это откроет в вашем браузере локальную записную книжку на основе Python, которая будет выглядеть следующим образом:

Затем мы можем либо создать новый файл, либо открыть существующий. Обратите внимание, что файлы Jupyter Notebook имеют расширение «.ipynb». Как только мы это сделаем, мы окажемся с классическим интерфейсом Jupyter.

Начало работы с SageMath

Вы должны думать о SageMath, как о Python с дополнительными функциями. Так что не бойтесь пробовать то, что, по вашему мнению, может сработать. Вот краткий пример того, как создать матрицу:

l=[[1,2,3],[4,5,6],[7,8,9]] #declaring a 2D array
M = matrix(l)               #converting that array to a matrix
M                           #printing M, equivalent to print(M) 
#output:
[1 2 3]
[4 5 6]
[7 8 9]

Более элегантным способом графического представления M будет show(M), в котором используется текст уценки, подобный LaTeX.

Как видите, функция matrix(), принадлежащая библиотеке SageMath, принимает в качестве аргументов обычные массивы Python. Другим примером может быть следующее:

v1=vector([1,-2,4])
v2=vector([-1,0,1])
v3=v2.cross_product(v1)
v3
#output:
(2, 5, 2)

Опять же, для более «красивого» вывода мы можем использовать функцию show().

Что можно сделать с Сейджем?

SageMath отлично работает при решении задач по алгебре, например, при поиске ядер или собственных пространств матриц. Но это также очень хороший инструмент для анализа данных, построения 2D- и 3D-графиков и обработки символьных выражений.

Не стесняйтесь проверить документацию, где вы найдете практически все, что вам нужно.

Единственная проблема с SageMath

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

Но есть еще

SageMath — это гораздо больше, чем я могу описать в одной статье. Я мог бы написать подробные статьи об определенных группах функций в SageMath, если это сработает. Не стесняйтесь комментировать ниже, что вы думаете об этой библиотеке Python!