Пакет для работы с тензорами tensor
Этот пакет впервые появился в реализации Maple V R5. Он дает средства для работы с тензорами и вычислениями, используемыми в общей теории относительности. В нем использован специальный тип данных tensor_type в виде таблиц с двумя полями: компонентов и характеристик индексов.
Поле компонентов – массив с размерностью, эквивалентной рангу объекта. Поле характеристик индексов задается списком чисел 1 и -1. При этом 1 на i-й позиции означает, что соответствующий индекс контрвариантный, а -1 – что он ковариантный.
Процедура tensor_type возвращает логическое значение true, если ее первый аргумент удовлетворяет свойствам тензора, и false, если он этому свойству не удовлетворяет.
Каждому тензору соответствуют еще две таблицы.
Таблица коэффициентов вращения задает коэффициенты вращения Ньюмена-Пенроуза, которые вычисляются функцией tensor[npspin] и индексируются именами греческих букв alpha, beta, gamma, epsilon и т. д. Другая таблица (компонент кривизны) содержит компоненты кривизны Ньюмена-Пенроуза.
Они представлены тремя полями: полем Phi в виде массива размерности (0..2.0..2) с компонентами Риччи, поле Psi с массивом размерности (0..4) с компонентами Вейля и полем R со скаляром Риччи.
Объявление:
> with(tensor); [Christoffel1, Christoffel2, Einstein, Jacobian, Killing_eqns, LevijCivita, Lie_diff, Ricci, Ricciscalar, Riemann, RiemannF, Weyl, act, antisymmetrize, change_basis, commutator, compare, conj, connexF, contract, convertNP, cov_diff, create,dlmetric, d2metric, directional_diff, displayGR, display_allGR, dual, entermetric, exteriorjiiff, exterior_prod, frame, geodesic_eqns, get_char, get_compts, get_rank, init, invars, invert, lin_com, lower, npcurve, npspin, partial_diff, permute_indices, petrov, prod, raise, symmetrize, tensorsGR, transform}
Дает доступ к следующим функциям пакета:
- Christoffel1 – вычисление символов Кристоффеля первого рода;
- Christoffel2 – вычисление символов Кристоффеля второго рода;
- Einstein – возвращение тензора Эйнштейна;
- display_alJGR – описывает ненулевые компоненты всех тензоров и параметров, вычисленных командой tensorsGR (общая теория относительности);
- displayGR – описывает ненулевые компоненты конкретного тензора (общая теория относительности);
- Jacobian – Якобиан преобразования координат;
- Killng_eqns – вычисление компонентов для уравнений Киллинга (имеет отношение к симметриям пространства);
- LeviCivita – вычисление ковариантных и контрвариантных псевдотензоров Леви-Чивита;
- Lie_diff – вычисляет производную Ли тензора по отношению к контравариантному векторному полю;
- Ricci – тензор Риччи;
- Ricciscalar – скаляр Риччи;
- Riemann – тензор Римана;
- RiemannF – тензор кривизны Римана в жесткой системе отсчета;
- tensorsGR – вычисляет тензор кривизны в данной системе координат (общая теория относительности);
- Weyl – тензор Вейля;
- act – применяет операции к элементам тензора, таблицам вращений или кривизны;
- antisymmetrize – антисимметризация тензора по любым индексам;
- change_basis – преобразование системы координат;
- commutator – коммутатор двух контравариантных векторных полей;
- compare – сравнивает два тензора, таблицы вращений или кривизны;
- conj – комплексное сопряжение;
- connexF – вычисляет связующие коэффициенты для жесткой системы координат;
- contract – свертка тензора по парам индексов;
- convertNP – преобразует связующие коэффициенты или тензор Римана к формализму Ньюмена-Пенроуза;
- cov_diff – ковариантное дифференцирование;
- create – создает тензорный объект;
- d1metric – первая частная производная метрики;
- d2metric – вторая частная производная метрики;
- directional_diff – производная по направлению;
- dual – осуществляет дуальную операцию над индексами тензора;
- entermetric – обеспечивает ввод пользователем координатных переменных и ковариантных компонент метрического тензора;
- externor_diff– внешнее дифференцирование полностью антисимметричного ковариантного тензора;
- exterior_prod – внешнее произведение двух ковариантных антисимметричных тензоров;
- frame – задает систему координат, которая приводит метрические компоненты к диагональной сигнатурной матрице (с положительными или отрицательными единицами);
- geodesic_eqns – уравнение Эйлера-Лагранжа для геодезических кривых;
- get_char – возвращает признак (ковариантный/контравариантный) объекта;
- getcompts – возвращает компоненты объекта;
- get_rank – возвращает ранг объекта;
- invars – инварианты тензора кривизны Римана (общая теория относительности);
- invert – обращение тензора второго ранга;
- lincom – линейная комбинация тензорных объектов;
- lower – опускает индексы;
- npcurve – компонента кривизны Ньюмена-Пенроуза в формализме Дебевера (общая теория относительности);
- npspin – компонент вращения Ньюмена-Пенроуза в формализме Дебевера (общая теория относительности);
- partial_diff – частная производная тензора;
- permute_indices – перестановка индексов;
- petrov – классификация Петрова тензора Вейля;
- prod – внутреннее и внешнее тензорные произведения;
- raise – поднятие индекса;
- symmetrize – симметризация тензора по любым индексам;
- transform – преобразование системы координат.
Примеры применения этого пакета можно найти в справочной базе данных системы. Пакет представляет интерес для физиков-теоретиков, работающих в области общей теории относительности и ее приложений. Для них (но не для большинства пользователей) приведенные данные полезны и понятны.