Jump to content

Мудрые коллекторы

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 на git . Новые примеры рабочих листов. Больше классов и методов (некоторые унаследованы от Sage).
0.4 10 февраля 2014 г. Новые классы, члены и методы.
0.5 12 июля 2014 г. Это крупное обновление, предполагающее введение алгебраических структур для описания тензорных полей, а именно модулей над алгеброй скалярных полей, среди которых свободные модули конечного ранга. Это достигается с помощью Sage Parent/ Element Схема и модель принуждения.
0.6 28 сентября 2014 г.
  • Графический вывод диаграмм (метод Chart.plot()) и точек (метод Point.plot()); вот несколько примеров.
  • Введение индексной записи для обозначения тензорных сжатий и тензорных симметризаций (новый класс TensorWithIndices); см. эти ссылки: 1 , 2 .
  • Аргумент методов symmetrize() и antisymmetrize() в тензорных классах теперь представляет собой непосредственно последовательность позиций индекса (а не отдельный список/кортеж, инкапсулирующий такую ​​последовательность).
  • Метод self_contract() тензорных классов переименованы trace().
  • Оптимизирован код тензорных сокращений; более того, теперь разрешены множественные сокращения тензоров.
  • документация (справочные руководства 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). Основные изменения
  • Топологические свойства были отделены от дифференциальных путем реализации топологических многообразий (новый класс TopologicalManifold) и создадим класс дифференцируемых многообразий ( DifferentiableManifold) наследовать от TopologicalManifold.
  • Базовое поле, над которым определяются многообразия, больше не считается действительным полем: это может быть любое топологическое поле (недискретное для определения дифференцируемости дифф. многообразий). Это позволяет легко определять комплексные многообразия, устанавливая поле в C .
  • Класс ManifoldOpenSubset было подавлено: открытые подмножества многообразий теперь являются экземплярами TopologicalManifold или DifferentiableManifold (поскольку открытое подмножество верхнего/разностного многообразия само по себе является верхним/разностным многообразием)
  • Функции, определенные в патче координат, больше не обязательно являются символическими функциями координат: теперь они относятся к универсальному классу. CoordFunction, символьные функции описываются его подклассом ( CoordFunctionSymb). Это открывает путь для «числовых» многообразий, таких как пространство-время, созданное с помощью числовых кодов теории относительности.
  • Улучшенное распараллеливание, управляемое новым классом Singleton. Parallelism и глобальная функция use_multiproc.
0.9.1 19 сентября 2016 г. *Полное изменение теперь указано на (этой) странице Википедии*

В этом выпуске распространены дальнейшие изменения кода, связанные с интеграцией SageManifolds в SageMath (см. метатикет № 18528); он также добавляет несколько новых функций.

Новые функции:

  • Вычисление тензора Схоутена, конформного тензора Коттона и конформного тензора Коттона-Йорка, связанных с заданной псевдоримановой метрикой
  • Добавить структуру алгеброида Ли к модулям векторных полей (классам VectorFieldModule и VectorFieldFreeModule): новый метод VectorField.bracket
  • Распараллеливание графиков векторных полей
  • Распараллеливание арифметики полностью антисимметричных компонент тензора
  • Улучшенный рендеринг переменных в частных производных с использованием отображения символов LaTeX (класс ExpressionNice)
  • Добавить оператор сравнения для карт переходов (класс CoordChange)
  • Добавить функции списка для баз (методы __len__ и __iter__ в классах FreeModuleBasis и FreeModuleCoBasis)

Синтаксические изменения:

  • Метод CoordChange.set_inverse: заменить ключевое слово check к verbose, значение по умолчанию сейчас verbose=False
  • Введение Manifold.options управлять отображением математических выражений вместо глобальных функций nice_derivatives и omit_function_args, которые были подавлены
  • Функция set_axes_labels (для установки меток на 3D-графиках) больше не импортируется во время запуска; если необходимо, нужно ввести from sage.manifolds.utilities import set_axes_labels
  • Функция xder (внешняя производная) больше не импортируется во время запуска; если необходимо, нужно ввести from sage.manifolds.utilities import xder
  • Сорт DiffForm: метод exterior_der переименован exterior_derivative
  • Классы DiffScalarField, TensorField и TensorFieldParal: метод lie_der переименован lie_derivative, с lie_der хранится как псевдоним последнего

Еще внутренние изменения:

  • Структура многообразия теперь описывается с помощью конкретных одноэлементных классов: TopologicalStructure, RealTopologicalStructure, DifferentialStructure и RealDifferentialStructure
  • Сорт TopologicalManifoldSubset переименован ManifoldSubset
  • Сорт TopologicalManifoldPoint переименован ManifoldPoint
  • Подмножества коллекторов больше не являются родительскими элементами фасада.
  • Сорт ManifoldSubset: новые методы lift и retract
  • Введение коммутативной алгебры всех символьных координатных функций на заданной карте: новый класс CoordFunctionSymbRing и класс CoordFunction теперь наследуется от AlgebraElement
  • Сорт FiniteRankFreeModule: категория изменена с Modules(ring) к Modules(ring).FiniteDimensional()
  • Некоторые изменения для подготовки перехода на Python 3 (например, print заменен на print())
1.0 11 января 2017 г. Помимо полной интеграции с SageMath 7.5, по сравнению с версией 0.9.1 имеются лишь незначительные изменения:

Синтаксические изменения:

  • Метод plot классов RealChart и VectorField: аргумент ключевого слова nb_values переименован number_values
  • Метод structure_coef класса VectorFrame переименован structure_coeff
  • Сорт OpenInterval: аргумент subinterval_of переименован ambient в конструкторе
  • Сорт RealLine: Имя LateX изменено с \RR к \Bold{R}

Внутренние изменения:

  • Систематическое использование синтаксиса, совместимого с Python3 (для подготовки перехода SageMath на Python3); в частности:
    • Все случаи iteritems() изменен на items()
    • Все случаи itervalues() изменен на values()
    • Классы ScalarField и TensorField: метод __nonzero__ переименован __bool__
    • Сорт TensorField: метод __div__ переименован __truediv__
  • Классы TensorFieldModule, VectorFieldModule и DiffFormModule: добавить кешированный метод zero
  • Классы DiffForm и DiffFormParal: метод exterior_derivative кэшируется (через декоратор @cached_method)
  • Сорт VectorFrame: метод structure_coeff кэшируется (через декоратор @cached_method)

Другие изменения:

  • Улучшения в документации; в частности, в справочное руководство добавлена ​​трехмерная графика для иллюстрации использования некоторых plot методы
  • Значения, установленные пользователем для некоторых аргументов ключевого слова plot методы становятся новыми значениями по умолчанию до дальнейшего явного изменения (это поведение обеспечивается декоратором @options):
    • TangentVector.plot: аргумент scale
    • VectorField.plot: аргументы max_range, scale и color
    • DifferentiableCurve.plot: аргументы thickness, plot_points, max_range и aspect_ratio
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 General Public License . Чтобы скачать и установить SageManifolds, смотрите здесь . Точнее, это GPL v2+ (это означает, что пользователь может выбрать использование лицензии выше, чем GPL версии 2).

Разработка

[ редактировать ]

Большая часть источника находится в билетах на trac.sagemath.org .

Репозитории GitHub находятся по адресу github.com/sagemanifolds/SageManifolds .

Другие ссылки представлены по адресу sagemanifolds.obspm.fr/contact.html .

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: df6677e30dca6aebf85fcf1a00c7b0ba__1719296580
URL1:https://arc.ask3.ru/arc/aa/df/ba/df6677e30dca6aebf85fcf1a00c7b0ba.html
Заголовок, (Title) документа по адресу, URL1:
Sage Manifolds - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)