Питон | Математика
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!