exterior_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 — преобразование системы координат.
Пакет представляет несомненный интерес для физиков-теоретиков, работающих в области общей теории относительности и ее приложений. Для них (но не для большинства пользователей) отмеченные выше данные полезны и понятны.
9.4.4. Пакет Domains
Этот небольшой пакет служит для создания
> restart;with(Domains);
-------------------- Domains version 1.0 -----------------------
Initially defined domains are Z and Q the integers and rationals
Abbreviations, e.g. DUP for DenseUnivariatePolynomial, also made
Warning, the protected names Array, Matrix and Vector have been
redefined and unprotected
Пакет допускает применение следующих конструкций:
Domains[domain]
Domains[evaldomains]
Domains[example]
Domains[coding]
Приведенный ниже пример поясняет создание и использование доменов Q (для рациональных данных) и Z (для целочисленных данных):
> Q[`+`] (1/2,2/5,3/8);
> Z[Gcd](660,130);
Следующая операция показывает, что домен Z является таблицей:
> type(Z,table);
А функция show позволяет вывести полный перечень всех операций, доступных для домена Z:
> show(Z,operations);
` Signatures for constructor Z`
` note: operations prefixed by — are not available`
` * : (Integers,Z) -> Z`
` * : (Z,Z*) -> Z`
` + : (Z,Z*) -> Z`
` - : Z -> Z`
` - : (Z,Z) -> Z`
` 0 : Z`
` 1 : Z`
` < : (Z,Z) -> Boolean`
` <= : (Z,Z) -> Boolean`
` <> : (Z,Z) -> Boolean`
` = : (Z,Z) -> Boolean`
` > : (Z,Z) -> Boolean`
` >= : (Z,Z) -> Boolean`
` Abs : Z -> Z`
` Characteristic : Integers`
` Coerce : Integers -> Z`
` Div : (Z,Z) -> Union(Z,FAIL)`
` EuclideanNorm : Z -> Integers`
` Factor : Z -> [Z, [ [Z,Integers]*]`
` Gcd : Z* -> Z`
` Gcdex : (Z,Z,Name) -> Z`
` Gcdex : (Z,Z,Name, Narre) -> Z`
` Input : Expression -> Union(Z,FAIL)`
` Inv : Z -> Union(Z,FAIL)`
` Lcm : Z* -> Z`
` Max : (Z,Z*) -> Z`
` Min : (Z,Z*) -> Z`
` Modp : (Z,Z) -> Z`
` Mods : (Z,Z) -> Z`
` ModularHomomorphism : () -> (Z -> Z,Z)`
` Normal : Z -> Z`
` Output : Z -> Expression`
` Powmod : (Z,Integers,Z) -> Z`
` Prime : Z -> Boolean`
` Quo : (Z,Z,Name) -> Z`
` Quo : (Z,Z) -> Z`
` Random : () -> Z`
` Relatively Prime : (Z,Z) -> Boolean`
` Rem : (Z,Z,Name) -> Z`