Sage: математика open source

Одним из курсов в последнем семестре у меня был Mathematical Software, где мы изучали фундаментальные алгоритмы, лежащие в основе почти всех математических операций, проводимых в компьютере (удобные для вычислений виды представления данных, быстрое умножение, трансформации Фурье, алгоритм Карацубы и т.д.). Курс не был похож на другие: к концу семестра в классе осталось только трое человек; не было никаких тестов или экзаменов, финальная оценка состояла из двух домашних заданий и одного проекта; и, наконец, я давно не исписывал сотню с лишним страниц тетради в течение одного курса. Практическая часть - работа с системой Sage.

Sage (анг. ‘Мудрец’) — система компьютерной алгебры покрывающая много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ. Первая версия Sage была выпущена 24 февраля 2005 года в виде свободного программного обеспечения с лицензией GNU GPL. Первоначальной целью проекта было “создание открытого программного обеспечения альтернативного системам Magma, Maple, Mathematica, и MATLAB”. Разработчиком Sage является Уильям Стейн — математик Университета Вашингтона.

Для финального проекта нужно было сделать что-нибудь полезное для сообщества Sage. Учитывая приличную нагрузку из-за других курсов, мы (я и мой друг Темирлан) решили пойти путем наименьшего сопротивления и сделать русскоязычную документацию для Sage. Мы перевели официальный туториал, а я записал четыре скринкаста.

Sage имеет удобный веб-интерфейс, который полностью повторяет функциональность основной программы. Доступ к нему осуществляется посредством сервера, так что если вашей школе/организации/университету нужно математическое программное обеспечение, Sage имеет неоспоримый плюс: его можно поставить на одной машине, запустить веб-сервер Sage Notebook и пользоваться программой смогут все, у кого есть браузер с поддержкой javascript. Туториал описывает работу Sage Notebook и покрывает такие темы, как простые арифметические операции, работа с полиномами, кольцами, интерактивной консолью, с различными интерфейсами (Sage включает в себя некоторые другие мат. пакеты: (GP/PARI, GAP, Singular, Maxima), программирование (Sage использует Python).

####Скринкасты

Вводный скринкаст о командной строке, справочной системе, Python’е и графиках.

Второй скринкаст: подробнее о двумерных графиках.

Третий скринкаст: работа с трехмерными графиками.

Четвертый скринкаст: @interact.

Поделиться
Отправить

/