Sagemath как библиотека python - PullRequest
       51

Sagemath как библиотека python

3 голосов
/ 24 апреля 2020

Можно ли импортировать функции sagemath внутри сеанса python?

Что я хочу сделать sh, с точки зрения пользователя, это что-то вроде:

>>> import sage
>>> sage.kronecker_symbol(3,5)  # ...or any other sage root functions

вместо доступа к kronecker_symbol(3,5) из сеанса Sagemath. Если это возможно, это было бы очень удобно, поскольку позволило бы внедрить все функции мудреца в мир python.

1 Ответ

1 голос
/ 26 апреля 2020

Импорт функций SageMath в Python сеансе

Для этого есть несколько способов.

SageMath из диспетчера пакетов операционной системы

В некоторых операционных системах Sage изначально упакованы, например, Arch Linux, Debian, Fedora, Gentoo, NixOS и их производные (Linux Mint, Manjaro, Ubuntu ...).

См. отдельную страницу «Распространение» на Sage wiki:

Если вы используете один из них, используйте менеджер пакетов для установки sage или sagemath и тогда библиотека Sage будет установлена ​​на системном Python, и в этом Python станет возможным делать такие вещи, как

>>> from sage.arith.misc import kronecker
>>> kronecker(3, 5)
-1

Другой вариант - использовать кросс-платформенный менеджер пакетов, такой как как Конда, Гикс и Никс. Они должны работать на большинстве Linux дистрибутивов и macOS. Еще одним вариантом будет запуск контейнера Docker.

Я подробно расскажу о случае Conda ниже.

SageMath с Conda

Установите Sage с Conda, и вы получите что.

Инструкции здесь:

и начните с установки Conda дистрибутив, Miniconda, Minimamba или Anaconda, а затем создайте среду sage conda.

После установки среды sage conda активируйте ее:

conda activate sage

С этим sage среда conda активна, запустите

python

и импортируйте модуль sage или импортируйте из него такие функции, как kronecker.

...