Как установить sage на linux
Sage — очень мощное бесплатное математическое программное обеспечение. Sage затрагивает множество областей математики, включая алгебру, линейную алгебру, матанализ, вычислительную математику, комбинаторику, теорию графов и другие.
Как это ни странно звучит, но Sage работает через web-интерфейс. Данный интерфейс называется notebook. Sage может работать как локально, так и удаленно. В простейшем случае работа с программой происходит следующим образом. Вы вводите последовательно команды (выражения, инструкции), затем нажимаете кнопку Evaluate (Запустить) и получаете результат.
Архитектурно Sage включает в себя множество (около 100) open-source математических пакетов (подпрограмм, библиотек). Полный список можно посмотреть на официальном сайте программы.
Sage вполне может стать бесплатной альтернативой таким математическим программам, как Matlab, Maple, Mathematica и т.д.
Существует специальная онлайн версия Sage — http://www.sagenb.org, позволяющая использовать Sage через интернет.
Установка Sage в Ubuntu Linux
Для Ubuntu существует PPA репозиторий, из которого можно легко установить Sage. Обратите внимание, что во время установки будет загружено порядка 700Мб. Итак, для установки Sage в Ubuntu Linux выполните в терминале последовательно следующие команды:
После установки вам нужно будет задать пароль администратора для доступа к Sage. Затем вы можете запустить Sage из меню запуска программ или из командной строки, выполнив:
Користувальницькькі налаштування
Налаштування сайту
Зміст
Приёмы работы и некоторые готовые рецепты описаны здесь.
Установка
На своём компьютере
Перед установкой
Поскольку при запуске и использовании Sage на одном и том же (своём) компьютере нет нужды заботиться ни о шифровании передаваемых данных, ни о доступе к удалённой консоли, в которой происходит сборка, практически никакие дополнительные программы не нужны.
Для Debian GNU/Linux и Ubuntu
libpng нужно для экспорта изображений в PNG-файлы в R.
Создадим каталог, в который будем устанавливать Sage.
Далее продолжить согласно разделу “Обновление”
Обновление
1. Эвакуируем папку, в которой хранятся все рабочие листы нашего пользователя (/home/username/.sage):
2. Проверяем, достаточно ли свободного места на диске (потребуется около 3,5 ГБ).
3. Загружаем архив свежей версии Sage с одного из зеркал и сравниваем контрольную сумму с указанной на сайте зеркала.
4. Распаковываем архив с исходниками:
где sage-6.4.1.tar.gz заменить на имя скачанного файла.
5. Переходим в распакованный каталог:
Для компиляции в 4 потока выполняем:
6. Запускаем сборку:
Дополнительные пакеты
Из коллекции Sage
Sage содержит информацию о ряде пакетов, которые проверены на работоспособность в среде Sage и внесены в соответствующий список. Получить полный список таких пакетов можно следующим образом 1) :
Список довольно велик, и чтобы отобразить только пакеты из определённого класса, можно указать аргумент этой функции:
chardet
Пакеты R
Другие пакеты
Если я правильно понимаю, ключевой приём такой:
В файле документации к этому пакету docs/source/install.txt написано так:
Стало быть, нужно делать так:
spectrum
Для установки пакета spectrum потребовалось предварительно установить пакет easydev:
Для пакетов, находящихся в PyPI, существует и такой способ установки:
Однако, этот способ не заработал даже после установки pyopenssl:
На удалённом сервере
Установка на сервер отличается от установки на локальный компьютер тем, что:
Перед установкой
Установим необходимые дополнительные библиотеки:
Для Debian GNU/Linux и Ubuntu
OpenSSL нужен для опции “secure” Sage Notebook’а. Работа по протоколу HTTPS.
libpng нужно для R. Экспорт в PNG-файлы.
screen удобен для выполнения длительных операций на удалённом сервере, например, по SSH.
Создадим группу и пользователя, от имени которых в дальнейшем будет запускаться Sage-сервер:
Создадим каталог для общесистемной установки Sage:
Обновление
В случае подключения к удалённому компьютеру по SSH, после подключения запускаем
и все дальнейшие команды выполняем в его командной строке.
1. Эвакуируем папку /home/sagenb/.sage
2. Проверяем, достаточно ли свободного места на диске (потребуется около 3,5 ГБ).
3. Загружаем архив свежей версии Sage с одного из зеркал.
4. Распаковываем архив с исходниками:
где sage-6.4.1.tar.gz заменить на имя скачанного файла.
5. Переходим в распакованный каталог:
Для компиляции в 4 потока выполняем:
6. Запускаем сборку:
для сборки с поддержкой OpenSSL
7. Если всё это выполняется в GNU Screen на удалённом компьютере, то “отсоединяем” консоль Screen от текущего экрана последовательным нажатием клавиш:
Чтобы потом снова подключиться к запущенной сессии screen, нужно выполнить
В случае, если произошло “аварийное” отключение от сессии screen, его нужно сперва отключить от несуществующего более экрана, а затем подключить к нашему:
Создаём символическую ссылку на исполнимый файл Sage:
Автозапуск
Ниже приводится пример построения сценария автозапуска Sage-сервера для Debian или Ubuntu.
Если Sage компилировали без поддержки OpenSSL, то опцию “secure” нужно выключить.
в противном случае предпочтительно оставить её включённой:
Здесь 192.168.1.101 – сетевой адрес компьютера, на котором будет работать Sage Notebook сервер. Если оставить строку адреса пустой, т.е.
то Sage Notebook сервер должен работать на всех сетевых интерфейсах компьютера.
После установки/обновления
Sage через прокси
Чтобы иметь доступ к Sage-серверу с компьютеров, которым не разрешены соединения в нестандартные порты (например, в 8000), можно настроить прокси-сервер, который будет ожидать соединения на 80-м порту (в случае HTTP) или на 443-м порту (в случае HTTPS) и перенаправлять их запущенному Sage-серверу.
Создадим для этого SSL-сертификат сервера 2) :
Полученные файлы поместим в /etc/sagenb/certs/
Apache
При использовании веб-сервера Apache, необходимо в его файле конфигурации указать следующее:
Ubuntu Documentation
«Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.»
«Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.»
Installation Instructions
For most recent versions of Ubuntu, you can install with a PPA using the following commands in a terminal:
Download binaries from their website
For example, for a 32-bit processor running Ubuntu 10.4, you’d select sage-4.4.4-linux-32bit-ubuntu_10.04_lts-i686-Linux.tar.lzma where 4.4.4 is the latest Sage version at the time of writing.
Installing reduces to unpacking into /opt (or any other location of your choice), and putting a link to the sage executable in /usr/local/bin:
Compile from source
You can compile sage from source. Though it’s actually very easy, it may take a long time (1 hour on high end hardware, 14 days on a cell phone).
The first step is to install the required packages:
And you may also need the following for some extra features
Then you can compile the code with:
You can now use sage from that directory or move it into /opt:
You should check their own documentation if you find any trouble: http://sagemath.org/download-source.html
Create an icon in the panel
You can add to the panel an icon for starting the sage server. Just select «add new element to the panel», «add new applet» or however it’s called in your system, then choose for a new «Launcher» or «Launcher for external applications».
You can use «SAGE» for the name and the following for the icon:
where «sage-directory. » is the directory where you installed sage.
Getting Started With Sage
Open a terminal and type sage and press enter. The sage command line interface should start up. Wait for the sage prompt to come up. It would looks thus:
This may take up to a minute depending on your hardware.
The first time you use Sage you will be asked to set a password to secure your work.
Choice of Sage Interface: Command Line Or GUI
You have a choice of using Sage either from the command line or from a GUI. The official GUI is called the notebook. In order to use the notebook interface to sage use the sage prompt to type:
This will open the Firefox web browser showing the notebook.
To start work with the notebook click on the link New Worksheet.
The rest involves typing your sage commands into the input box and clicking the evaluate button that lies below it.
You might also use the program Cantor or TeXmacs as an interface, though they’re not as popular as the notebook:
Help and Documentation
A beginner would probably start with the Tutorial at http://www.sagemath.org/doc/tutorial/index.html
Further Reading
Comments
While Sage is truly a powerful software, it still lacks some key features as of today (Dec. 1, 2009). Good news it is under development.
Plotting doesn’t have a good label function. Axis can not be fine tuned as Matlab.
Pablo Angulo: 2010-06-15
Hao, that’s perfectly possible, and it’s been so for a long time. Sage uses matplotlib for most graphics and you can even add labels in latex. Feel free to email sage-support for these kind of questions.
On Lucid I had to add the libgfortran library:
apt-get install libgfortran3
..to get rid of this sage error: ImportError: libgfortran.so.3: cannot open shared object file: No such file or directory.
SAGE (последним исправлял пользователь edgimar 2013-07-20 18:05:34)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
SageMath
Содержание
Программный пакет «SageMath» (см. Официальный сайт) позиционируется разработчиками как открытая альтернатива известным математическим программам, таким как «Matlab», «Maple» и др. И хотя не всё реализовано, но программа уже применима для научной деятельности. «SageMath» написана на «Python» и объединяет в себе программные математические библиотеки: «SciPy», «NumPy», «Matplotlib» (см. Matplotlib Gallery) и другие (см. Содержащиеся в Sage программные пакеты).
Установка
Программа «SageMath» доступна в виде исходных кодов или готовых сборок для «Unix»-подобных ОС (см. Download). Запуск под управлением ОС семейства «Windows» требует применения виртуализации.
Запуск
«SageMath» может работать в двух режимах:
Запустить «SageMath» можно командой в терминале
или, что по сути тоже самое
Через некоторое время будет выведено приглашения для работы:
теперь можно работать в консольном режиме.
Если же требуется запустить веб-интерфейс «Notebook», то в консоли «SageMath» необходимо ввести команду
При этом запустится веб-браузер по адресу localhost:8080
Использование
Практические примеры разной сложности доступны в документации к самому программному пакету «SageMath» (см. Tutorial) и к входящим в него библиотекам. Непосредственную консультацию по конкретному вопросу можно получить в AskSage.
Консольный режим и веб-интерфейс поддерживают автодополнение команд и переменных (наберите начало команды, а затем нажмите Tab ). Получение краткой информации о команде возможно с использование символа «?», например,
При этом откроется консольный интерфейс просмотра документации, выйти из него можно нажав кнопку Q
Вывод графиков
Отдельной проблемой любой научной работы является представление результатов. По-умолчанию, «SageMath» предоставляет простую отрисовку графиков. Для более сложных графиков целесообразно воспользоваться библиотекой «Matplotlib» (см. Matplotlib Gallery). Хотя, возможно, придется затем обработать их в «Inkscape» для исправления незначительных проблем. Пример получения графиков в векторном формате SVG доступен в архиве, его следует скачать, распаковать, открыть папку в терминале, запустить «SageMath» и в её консоли ввести
или просто в консоли «BASH» ввести
в таком случае «SageMath» закроется по завершении, что удобно для применения в скриптах. В подкаталоге «SVG» должны появится файлы графиков (из-за наличия недоработок в «librsvg» изображения следует просматривать в «Inkscape» или «Firefox»), например, такие 




Используя код из этих примеров можно получить свои графики.
Ещё один пример
Нажмите «Save changes» и затем в списке «Action» выберите «Evaluate All», подождите пока всё завершится. Внизу должен появится график. Он имеет дефект, но это поправимо средствами «Inkscape».
Если Вы хотите выполнить этот код в терминале «SageMath», то ниже приведен тот же код что и выше, только без синтаксиса веб-интерфейса и без команд show(), выполнение которых в терминале приведёт к генерации *.dvi файла для каждого выражения, а это негативно скажется на быстроте работы ОС.
Как установить sagemath в Ubuntu / Debian
Установка:
Для установки sagemath в Ubuntu / Linux Mint / Debian, введите в Терминал :
Подробная информация о пакете:
Программное обеспечение с открытым исходным кодом
Зависимости:
C-расширения для Python
Встраиваемый Common-Lisp: имеет интерпретатор и может скомпилировать C
Программы для модулярных символов и эллиптических кривых над Q
Переводчик FORTRAN 77 на C/C++
Подпроцессы линейной алгебры конечного поля / пакет
Программа, использующая квадратичное сито для целых чисел
Система компьютерной алгебры GAP, основные компоненты
Программа для вычислений с поклонниками Groebner
Целые числа факторов, использующие метод эллиптической кривой
Улучшенная интерактивная оболочка Python 2
Язык ISO, территория, валюта, коды сценариев и их переводы
Программа для вычисления с L-функциями
Программа пейджера похожа на более
Реализация базовых реализаций линейной алгебры, разделяемая библиотека
Подпрограммы компьютерной алгебры BRiAl
Полиномы над булевыми кольцами, разделяемая библиотека
Библиотека GNU C: общие библиотеки
Программы, использующие libcdd
Библиотека поиска клики
Библиотека для модулярных символов и эллиптических кривых над Q
Библиотека C для теории чисел, разделяемая библиотека
C библиотека для произвольной точности арифметики шара, разделяемая библиотека
Библиотека поддержки GCC
Графическая библиотека GD
Арифметические и алгебраические вычисления
Набор линейного программирования с поддержкой целых (MIP)
Многоточечная арифметическая библиотека
Арифметическая библиотека с несколькими значениями (привязки C++)
Целочисленная матричная библиотека, файлы времени выполнения
Механизм отображения JavaScript для LaTeX и MathML
Легкая трехмерная графическая библиотека
Библиотека для вычисления с помощью L-функций
Библиотека для расчета коэффициентов Литтлвуда-Ричардсона
Метод библиотеки переводов «Четыре россиянина», разделяемая библиотека
Расширенный метод библиотеки переводов Four Russian Inversion, разделяемая библиотека
Многоцелевая комплексная библиотека с плавающей запятой
Многоточечная вычисление с плавающей запятой
Теория чисел, библиотека
Общая библиотека библиотеки Algebra System PARI/GP
Библиотека алгоритмов графарности
Библиотека Parma Polyhedra (библиотека времени исполнения)
Двигатель для символического геометрического исчисления для Python
Библиотека для нахождения рациональных точек на гиперэллиптических кривых
Библиотеки чтения и истории GNU, библиотеки времени выполнения
Вычислить ранг-ширину и ранг-разложения графов
Стандартная библиотека GNU GNU v3
Библиотека для полиномиальной арифметики в Z/nZ [x]
GNU Октавный язык для численных вычислений
Пакет для анализа политетов решетки
Документация по компьютерной алгебре PARI/GP
PARI / GP Компьютерная алгебра система Галуа резольвенты (галдата)
Парадигмы системы компьютерной алгебры PARI/GP
Модульные многочлены PCA / GP Computer Algebra System (seadata)
Интерактивный высокоуровневый объектно-ориентированный язык (ветка 2.x)
Настраиваемая тема Sphinx с поддержкой боковой панели (Python 2)
Backport модуля stdlib «collections.abc» (Python 2)
Backport из функции «shutil.get_terminal_size» (Python 2)
Backport of functools.lru_cache из Python 3.3
Backport of Python 3.5 Функция проверки имени хоста SSL
Полиномы над булевыми кольцами, модуль Python
Backport расширенного конфигурационного анализатора, представленного в Python 3.2
Криптографические алгоритмы и протоколы для Python
Пакет Python для выпуклой оптимизации
Композитный итератор kwarg (Python 2)
Упростить использование декораторов Python программистами
Система обработки текста для reStructuredText (реализована в Python 2)
Backport пакета перечисления Python 3.4
Автоматически создаваемые страницы индексов для приложений Flask (Python 2)
Поддержка интернационализации и локализации для Flask (Python 2)
Предоставляет класс сеанса, который работает как один до 0.10
Поддержка OpenID для приложений Flask (Python 2)
Набор значков FamFamFam Silk для приложений Flask (Python 2)
Backport модуля functools от Python 3.2.3 до Python 2.7
Пакет модулей Python для libgd
Пакет Python для библиотеки GNUTLS
Модуль Python 2 для получения размера изображения из файла png/jpeg/jpeg2000/gif
Утилиты IPython для Python 2
Система построения на основе Python в стиле, подобном Matlab
Анализатор Markdown для Python 2
Библиотека для арифметики с произвольной точностью с плавающей запятой
Инструмент для создания, управления и изучения сложных сетей
Численный Python добавляет быстрый механизм массива на язык Python
Поддержка OpenID для серверов и потребителей
Модульная оболочка для os.path для Python 2
Backport модуля stdlib «pathlib» (Python 2)
Модуль Python для автоматизации интерактивных приложений
База данных на базе файловой системы, использующая пиренейские соленые огурцы для Python 2
Библиотека изображений Python (вилка подушки)
Установщик пакетов Python
Интерфейс Python для инструмента командной строки pkg-config
Реализация Lex и Yacc для Python2
Библиотека для построения интерактивных командных строк (Python 2)
Модуль, обеспечивающий удобные функции для управления процессами
Запуск подпроцесса в псевдотерминале из Python 2
Пакет подсветки синтаксиса, написанный на Python
Интерфейс Python для языка и среды GNU R (версия 2)
Автономный ноутбук Sage
Преобразование ноутбуков SageNB (Python 2)
Научные инструменты для Python
Улучшения Python Distutils
Благословенный пакет для управления вашими версиями с помощью тегов scm для Python 2
Простые общие функции для Python
Одноразовые общие функции для Python
Чистая библиотека Python Snowball
Генератор документации для проектов Python (реализован в Python 2)
Backport модуля подпроцесса Py3 stdlib для Py2
Компьютерная алгебраическая система (CAS) в Python
Терминалы обслуживались term.js с использованием веб-карт Tornado (Python 2)
Масштабируемый, неблокирующий веб-сервер и инструменты
Легкий набор свойств для Python 2
Основанная на событиях инфраструктура для интернет-приложений (пакет зависимостей)
Backport стандартного модуля ввода текста библиотеки 3.5
Версия Python базы данных часовых поясов Olson
Используйте теги управления версиями для обнаружения номеров версий
Определить ширину печати строки на терминале (Python 2)
Набор утилит для приложений WSGI (Python 2.x)
Связывание Python для библиотеки 0MQ
Интерфейсы для Python
Интерактивный объектно-ориентированный язык высокого уровня (версия 2.7)
Интерактивный высокоуровневый объектно-ориентированный язык (версия python3 по умолчанию)
GNU R ядро статистической вычислительной и графической системы
Пакет GNU R для графики Trellis
Небольшая коллекция кубиков Рубика
База данных полиномов Конвей
Базы данных для эллиптических кривых
Базы данных графов
Базы данных комбинаторных конструкций
Базы данных многогранников
Компьютерная алгебра-система для полиномиальных вычислений
Интерфейс командной строки для SQLite 3



