Sage (англ. мудрець) — система комп'ютерної алгебри, що покриває багато областей математики, включаючи алгебру, комбінаторику, обчислювальну математику і матаналіз. Перша версія Sage була випущена 24 лютого 2005 року в вигляді вільного програмного забезпечення з ліцензією GNU GPL. Первинною метою проекту було «створення відкритого програмного забезпечення альтернативного системам Magma, Maple, Mathematica, і MATLAB». Розробником Sage є Вільям Стейн - математик Університету Вашингтона.
Можливості:
- Інтерфейс notebook для перегляду і повторного використання введених команд та отриманих результатів, включаючи графіки і текстові анотації, доступний з більшості сучасних веб-браузерів. Доступно захищене з'єднання через протокол HTTPS, коли конфіденційність має значення. Так само Sage може виконуватися як локально, так і віддалено.
- Інтерфейс введення на основі командного рядка, з використанням мультипарадігменної мови Python.
- Підтримка паралельних обчислень з використанням як багатоядерних процесорів, так і багатопроцесорних систем і систем розподілених обчислень.
- Матаналіз реалізований на основі систем Maxima і SymPy.
- Лінійна алгебра реалізована на основі систем GSL, SciPy і NumPy.
- Бібліотеки елементарних і спеціальних математичних функцій.
- Плоскі і тривимірні графіки для функцій і даних.
- Засоби роботи з матрицями і масивами даних з підтримкою розріджених масивів
- Різні статистичні бібліотеки функцій, що використовують функціональність R і SciPy.
- Набір інструментів для додавання власного користувацького інтерфейсу до обчислень і додатків.
- Засоби для обробки зображень з використанням pylab і Python.
- Засоби візуалізації та аналізу теорії графів.
- Процедури для імпорту та експорту різних форматів даних: зображень, відео, аудіо, САПР, ГІС, документів і медичних форматів.
- Підтримка комплексних чисел, символьних і обчислень з довільною точністю.
- Підготовка науково-технічної документації з використанням редактора формул і можливістю вбудовування Sage в документацію формату LaTeX.
- Мережні інструменти для з'єднання з базами даних SQL, підтримка мережних протоколів, включаючи HTTP, NNTP, IMAP, SSH, IRC, FTP.
- Програмні інтерфейси для роботи з системами Mathematica, Magma, і Maple.
- Хоча це не представлено безпосередньо, Sage може бути викликаний з інтерфейсу Mathematica.
Вихідний код і виконувані файли Sage доступні для скачування. Якщо компіляція здійснюється на кінцевому комп'ютері, багато файлів, що входять в комплект бібліотеки будуть автоматично налаштовані для оптимальної роботи на даному обладнанні, приймаючи в розрахунок кількість процесорів, розмір кеш-буферів і підтримку спеціальних наборів інструкцій, наприклад SSE.