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

Сегодня я хочу познакомить вас с Sage.

Одним из курсов в последнем семестре у меня был 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).

Все это находится на freetonik.com/sage.

Скринкасты

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

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

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

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

(Публикация на Хабрахабре)

  • http://www.facebook.com/people/Павел-Иванов/100000182856696 Павел Иванов

    Рахим, небольшая просьба — если можешь, выложи, пожалуйста, письменные лекции свои к этому пакету — будет очень любопытно почитать, если тебе не трудно. Пригодится моим одногруппникам на занятиях по MathLab, как альтернатива.

    • freetonik

      К сожалению, таковых не имею.

      Сам курс был о том, грубо говоря, что «под капотом» у таких пакетов, об алгоритмах. Их могу выложить. Нужно отыскать сканер.

      Вообще, конспектов не так много, но ничего никогда не сканировал. Идея интересная, спасибо!

    • http://www.facebook.com/people/Павел-Иванов/100000182856696 Павел Иванов

      Если выложишь — будет замечательно. Как раз тема алгоритмов, которые задействованы в проекте Sage — и интересна.

      Кстати говоря, раз уж зашла тема об алгоритмах, я обратил внимание, что лицензия у этого проекта — GNU, а, стало быть, ваш курс был основан на работе с исходным кодом ядра проекта? Или я не до конца прав? :)

    • freetonik

      Займусь этим ближе к апрелю.

      Нет нет, мы вообще не касались никакого софта, мы лишь изучали эффективные способы математических преобразований, большинство из которых реализованы в Sage.

  • Mysterynight1

    Привет,а как можно прочитать твою «Русская версия учебного пособия Sage»,ссылка не открывается?Или это конфиденциальная информация?*Спасибо*

    • freetonik

      Поправил, прошу прощения – freetonik.com/sage/tutorial/

    • Maria Smirnes

      Спасибо, дельная вещь) Это official tutorial ,как я понимаю?

    • freetonik

      Практически. Он будет включен в следующую стабильную сборку Sage и появится тут – sagemath.org/ru/

  • gulsim

    работала на Wolfram Mathematica. чем эта программа отличается от него?

    • gulsim

      по-моему почти ничем...