SageManifolds (в соответствии со стилем SageMath) - это расширение, полностью интегрированное в SageMath, для использования в качестве упаковка за дифференциальная геометрия и тензорное исчисление. Официальная страница проекта: sagemanifolds.obspm.fr. Его можно использовать на CoCalc.
SageManifolds имеет дело с дифференцируемые многообразия произвольной размерности. Основные объекты: тензорные поля и нет компоненты тензора в заданной векторной рамке или координатной карте. Другими словами, на многообразии могут быть введены различные диаграммы и фреймы, и данное тензорное поле может иметь представления в каждом из них.
Важным классом рассматриваемых многообразий является класс псевдоримановы многообразия, среди которых Римановы многообразия и Лоренцевы многообразия, с приложениями к Общая теория относительности. В частности, SageManifolds реализует вычисление Тензор кривизны Римана и связанные объекты (Тензор Риччи, Тензор Вейля). SageManifolds также может работать с общий аффинные связи, не обязательно Леви-Чивита ед.
Функциональные возможности
| Версия | Дата | Описание (Из Журнал изменений) |
|---|
| 0.1 | 7 июля 2013 г. | Первый выпуск |
| 0.2 | 12 сентября 2013 г. | Определено шесть классов, и многие документы изменены в соответствии с Sage 5.11. Новые методы в каждом классе. |
| 0.3 | 24 ноября 2013 г. | Репозиторий разработки перемещен из svn к мерзавец. Новые примеры листов. Больше классов и методов (некоторые унаследованы от Sage). |
| 0.4 | 10 февраля 2014 г. | Новые классы, члены и методы. |
| 0.5 | 12 июля 2014 г. | Это крупный выпуск, включающий введение алгебраических структур для описания тензорных полей, а именно модулей над алгеброй скалярных полей, среди которых бесплатные модули конечного ранга. Это достигается с помощью Sage Родитель/Элемент схема и модель принуждения. |
| 0.6 | 28 сентября 2014 г. | - Графический вывод для диаграмм (метод
Chart.plot ()) и точки (метод Point.plot ()); вот несколько примеров. - Введение индексных обозначений для обозначения тензорных сжатий и тензорных симметризаций (новый класс
TensorWithIndices); см. эти ссылки: 1, 2. - Аргумент методов
симметризовать () и антисимметричный () в тензорных классах теперь является непосредственно последовательностью позиций индекса (а не одним списком / кортежем, инкапсулирующим такую последовательность). - Метод
self_contract () тензорных классов переименовано след(). - Оптимизирован код тензорных сокращений; кроме того, теперь разрешены множественные тензорные сокращения.
- Документация (справочные руководства 4 и 5) был улучшен.
|
| 0.7 | 12 марта 2015 г. | Для конечного пользователя новые функции- введение кривых в коллекторы (с некоторыми возможностями построения графиков)
- улучшения в дифференциальных отображениях между многообразиями, включая состав отображения и отображение дифференциала
- введение гомоморфизмов между свободными модулями
|
| 0.8 | 16 мая 2015 | Изменения для конечного пользователя:- График векторных полей: новый метод
VectorField.plot () - Возможность распараллеливания тяжелых вычислений: распараллеливание реализовано для базового тензорного исчисления (арифметика, сжатие) и для вычислений, касающихся аффинных связей (коэффициенты связи, действие на тензорное поле, тензор кривизны Римана)
- Хорошее отображение частных производных
- Стандартные математические функции exp, cos, sin и т. Д. На скалярных полях
- Отображение компонентов тензора в виде списка, по одной в строке: новые методы
TensorField.display_comp () и FreeModuleTensor.display_comp () - Красивое отображение коэффициентов связи: новый метод
AffConnection.display () - Красивое отображение символов Кристоффеля: новый метод
Metric.christoffel_symbols_display () - Красивое отображение карт переходов диаграмм: новый метод
CoordChange.display ()
|
| 0.9 | 10 декабря 2015 г. | Это крупный выпуск, возникший в результате важного рефакторинга кода, ввиду полной интеграции SageManifolds в SageMath (см. Метатикет #18528 на трассе разработчика SageMath). Основные изменения:- Топологические свойства были отделены от дифференциальных за счет реализации топологических многообразий (новый класс
Топологическое многообразие) и составив класс дифференцируемых многообразий (Дифференцируемый) наследовать от Топологическое многообразие. - Базовое поле, над которым определены многообразия, больше не считается действительным полем: это может быть любое топологическое поле (недискретное, чтобы определить дифференцируемость для различных многообразий). Это позволяет легко определять сложные многообразия, устанавливая в поле значение C.
- Класс
ManifoldOpenSubset был подавлен: открытые подмножества многообразий теперь являются экземплярами Топологическое многообразие или же Дифференцируемый (поскольку открытое подмножество многообразия top / diff само по себе является многообразием top / diff) - Функции, определенные на координатном патче, больше не обязательно являются символическими функциями координат: теперь они относятся к универсальному классу
CoordFunction, символические функции описываются его подклассом (CoordFunctionSymb). Это открывает путь для «числовых» многообразий, подобных пространствам-времени, генерируемым кодами числовой теории относительности. - Лучшее распараллеливание благодаря новому классу singleton
Параллелизм и глобальная функция use_multiproc.
|
| 0.9.1 | 19 сентября 2016 г. | * Полное изменение теперь внесено в список на (этой) странице Википедии * В этом выпуске распространяются дальнейшие изменения кода, связанные с интеграцией SageManifolds в SageMath (см. Метатикет № 18528); он также добавляет несколько новых функций. Новые функции: - Вычисление тензора Схоутена, конформного тензора Коттона и конформного тензора Коттона-Йорка, связанных с заданной псевдоримановой метрикой
- Добавить структуру алгеброида Ли в модули векторных полей (классы
ВекторПолеМодуль и ВекторПолеСвободноМодуль): новый метод VectorField.bracket - Распараллеливание графиков векторных полей
- Распараллеливание арифметики полностью антисимметричных компонент тензора
- Улучшен рендеринг переменных в частных производных с использованием отображения символов LaTeX (класс
Выражение) - Добавить оператор сравнения для карт переходов (класс
CoordChange) - Добавить список функций для баз (методов
__len__ и __iter__ в классах FreeModuleBasis и FreeModuleCoBasis)
Синтаксические изменения: - Метод
CoordChange.set_inverse: заменить ключевое слово проверить к подробный, по умолчанию сейчас verbose = Ложь - Представление о
Manifold.options управлять отображением математических выражений вместо глобальных функций nice_derivatives и omit_function_args, которые были подавлены - Функция
set_axes_labels (для установки меток на 3D-графиках) больше не импортируются во время запуска; при необходимости нужно ввести из sage.manifolds.utilities import set_axes_labels - Функция
xder (внешняя производная) больше не импортируется во время запуска; при необходимости нужно набрать из sage.manifolds.utilities import xder - Учебный класс
DiffForm: метод external_der переименован external_derivative - Классы
DiffScalarField, TensorField и TensorFieldParal: метод lie_der переименован lie_derivative, с lie_der сохранен как псевдоним последнего
Больше внутренних изменений: - Структура коллектора теперь описывается с помощью конкретных классов-одиночек:
Топологическая структура, RealTopologicalStructure, Дифференциальная структура и RealDifferentialStructure - Учебный класс
ТопологическийМногообразиеПодмножество переименован Манифольд - Учебный класс
ТопологическийManifoldPoint переименован ManifoldPoint - Подмножества многообразий больше не являются родительскими фасадами
- Учебный класс
Манифольд: новые методы поднимать и втягивать - Введение коммутативной алгебры всех символьных координатных функций на данной карте: новый класс
КоординатаФункцияСимволКольцо и класс CoordFunction теперь наследуется от АлгебраЭлемент - Учебный класс
FiniteRankFreeModule: категория изменена с Модули (кольцо) к Модули (кольцо) .FiniteDimensional () - Некоторые изменения для подготовки перехода на Python 3 (например,
Распечатать заменен на Распечатать())
|
| 1.0 | 11 января 2017 | Помимо полной интеграции в SageMath 7.5, есть лишь незначительные изменения относительно v0.9.1: Синтаксические изменения: - Метод
участок классов RealChart и ВекторПоле: аргумент ключевого слова nb_values переименован number_values - Метод
structure_coef класса VectorFrame переименован structure_coeff - Учебный класс
OpenInterval: аргумент subinterval_of переименован окружающий в конструкторе - Учебный класс
RealLine: Название LateX изменено с RR к Bold {R}
Внутренние изменения: - Систематическое использование синтаксиса, совместимого с Python3 (для подготовки миграции SageMath на Python3); особенно:
- Все появления
iteritems () изменился на Предметы() - Все появления
itervalues () изменился на значения() - Классы
Скалярное поле и TensorField: метод __nonzero__ переименован __bool__ - Учебный класс
TensorField: метод __div__ переименован __truediv__
- Классы
TensorFieldModule, ВекторПолеМодуль и DiffFormModule: добавить кешированный метод нуль - Классы
DiffForm и DiffFormParal: метод external_derivative кешируется (через декоратор @cached_method) - Учебный класс
VectorFrame: метод structure_coeff кешируется (через декоратор @cached_method)
Прочие изменения: - Улучшения в документации; в частности, в справочное руководство была добавлена трехмерная графика для иллюстрации использования некоторых
участок методы - Значения, установленные пользователем для некоторых аргументов ключевого слова
участок методы становятся новыми значениями по умолчанию до дальнейшего явного изменения (это поведение обеспечивается декоратором @опции):TangentVector.plot: аргумент шкалаVectorField.plot: аргументы max_range, шкала и цветDifferentiableCurve.plot: аргументы толщина, plot_points, max_range и соотношение сторон
|
| 1.0.1 | 25 марта 2017 г. | |
| 1.0.2 | 21 июля 2017 г. | |
| 1.1 | 7 декабря 2017 г. | |
Дополнительная документация доступна doc.sagemath.org/html/en/reference/manifolds/.
Бесплатное и открытое программное обеспечение
Как и SageMath, SageManifolds - это свободный и Открытый исходный код программное обеспечение на основе Python язык программирования. Выпускается под Стандартная общественная лицензия GNU. Чтобы загрузить и установить SageManifolds, см. здесь. Это более конкретно GPL v2 + (это означает, что пользователь может выбрать лицензию выше GPL версии 2.)
Разработка
Большая часть источника находится в билетах на trac.sagemath.org.
Репозитории Github есть по адресу github.com/sagemanifolds/SageManifolds.
Другие ссылки доступны на sagemanifolds.obspm.fr/contact.html.