Это старая версия документа.


Программный пакет «SageMath» (см. Официальный сайт) позиционируется разработчиками как открытая альтернатива известным математическим программам, таким как «Matlab», «Maple» и др. И хотя не всё реализовано, но программа уже применима для научной деятельности. «SageMath» написана на «Python» и объединяет в себе программные математические библиотеки: «SciPy», «NumPy», «Matplotlib» (см. Matplotlib Gallery) и другие (см. Содержащиеся в Sage программные пакеты).

Установка

Программа «SageMath» доступна в виде исходных кодов или готовых сборок для «Unix»-подобных ОС (см. Download). Запуск под управлением ОС семейства «Windows» требует применения виртуализации.

Для удобства работы можно воспользоваться PPA-репозиторием ppa:aims/sagemath, добавить который в список источников ПО можно командами в терминале

sudo apt-add-repository -y ppa:aims/sagemath
sudo apt-get update
sudo apt-get install sagemath-upstream-binary

Запуск

«SageMath» может работать в двух режимах:

  • Консольный
  • Веб-интерфейс «Notebook»

Запустить «SageMath» можно командой в терминале

sage

или, что по сути тоже самое

sagemath
Первый запуск займет некоторое время, так как программа подстраивается под новую структуру каталогов, этот процесс нельзя перерывать

Через некоторое время будет выведено приглашения для работы:

sage:

теперь можно работать в консольном режиме.

Если же требуется запустить веб-интерфейс «Notebook», то в консоли «SageMath» необходимо ввести команду

notebook()

При этом запустится веб-браузер по адресу localhost:8080

Использование

Практические примеры разной сложности доступны в документации к самому программному пакету «SageMath» (см. Tutorial) и к входящим в него библиотекам. Непосредственную консультацию по конкретному вопросу можно получить в AskSage.

Консольный режим и веб-интерфейс поддерживают автодополнение команд и переменных (наберите начало команды, а затем нажмите Tab). Поучение краткой информации о команде возможно с использование символа «?», например,

notebook?

При этом откроется консольный интерфейс просмотра документации, выйти из него можно нажав кнопку Q

Вывод графиков

Отдельной проблемой любой научной работы является представление результатов. По-умолчанию, «SageMath» предоставляет простую отрисовку графиков. Для более сложных графиков целесообразно воспользоваться библиотекой «Matplotlib» (см. Matplotlib Gallery). Хотя, возможно, придется затем обработать их в «Inkscape» для исправление незначительных проблем. Пример получения графиков в векторном формате SVG доступен в архиве, его следует скачать, распаковать, открыть папку в терминале, запустить «SageMath» и в её консоли ввести

load Main.sage

или просто в консоли «BASH» ввести

echo "load Main.sage" | sage

в таком случае «SageMath» закроется по завершении, что удобно для применения в скриптах. В подкаталоге «SVG» должны появится файлы графиков (из-за наличия недоработок в «librsvg» изображения следует просматривать в «Inkscape» или «Firefox»), например, такие Используя код из этих примеров можно получить свои графики.

Ссылки