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.