Пакет для работы с тензорами 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);
[Christoffell, 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}
дает доступ к следующим функциям пакета:
- Christoffell — вычисление символов Кристоффеля первого рода;
- 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 — создает тензорный объект;
- dlmetric — первая частная производная метрики;
- 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 — преобразование системы координат.
Примеры применения этого пакета можно найти в справочной базе данных системы. Пакет представляет интерес для физиков-теоретиков, работающих в области общей теории относительности и ее приложений/Для них (но не для большинства пользователей) приведенные данные полезны и понятны.