23. Пакет работы с тензорами tensor

 

Пакет для работы с тензорами 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 — преобразование системы координат.

Примеры применения этого пакета можно найти в справочной базе данных системы. Пакет представляет интерес для физиков-теоретиков, работающих в области общей теории относительности и ее приложений/Для них (но не для большинства пользователей) приведенные данные полезны и понятны.