Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Специализированные пакеты Maple

В начало книги

 

Предметный указатель

tensor - пакет тензорной алгебры
К предыдущему разделуК следующему разделу

Этот пакет новый, в предыдущих версиях его не было, поэтому остановимся на нем подробнее. Пакет содержит команды для оперирования с тензорами и их использования в общей теории относительности как в естественном базисе так и с движущимся репером.

Этот пакет использует свой тип представления данных, называемый tensor_type, чтобы представлять объекты как с ковариантными так и контрвариантными индексами. Говоря более конкретно, tensor_type это таблица с двумя входами: поле компонент `compts` , для запоминания компонент объекта и поле характеристик индексов `index_char` , для описания ковариантных/контрвариантных признаков индексов объекта. Компоненты должны запоминаться в виде массива с размерностью эквивалентной рангу объекта и со всеми диапазонами индексов, начиная с 1 и кончая размерностью пространства (разрешены только диапазоны с одинаковой размерностью). Характеристики индекса запоминаются как список положительных и отрицательных единиц. Положительная единица на i-той позиции означает, что i-тый индекс контрвариантный. Аналогично, отрицательная единица означает, что индекс ковариантный. Например [1,-1,-1,1] означает, что индексы 1 и 4 контравариантны, а индексы 2 и 3 ковариантны.

Таблица tensor_type - процедура, она возвращает true если ее первый аргумент удовлетворяет свойствам тензора и false в противном случае.

Каждому тензору соответствуют еще две табицы данных "таблица коэффициентов вращений" и "таблица компонент кривизны".

Таблица коэффициентов вращений запоминает коэффициенты вращения Ньюмена-Пенроуза, вычисляемые командой tensor [ npspin ]. Коэффициенты индексируются в соответствии с их греческими именами: epsilon, nu, lambda, pi, mu, tau, rho, sigma, kappa, alpha, beta, и gamma (то есть., элемент таблицы [mu] содержит коэффициент 'mu').

Таблица компонент кривизны содержит компоненты кривизны Ньюмена-Пенроуза, вычисляемые командой tensor [ npcurve ]. Эта таблица содержит три поля: Phi , которое является массивом размерности (0..2,0..2) (с эрмитовыми матричными компонентами) и содержит компоненты Риччи; Psi , которое является массивом с размерностью (0..4) содержащим компоненты Вейля; и R - скалярное поле, содержащее скаляр Риччи.

Пакет содержит также собственную эффективную команду упрощения тензоров tensor [ simp ] и некоторые индексные функции не содержащиеся в основной библиотеке Maple , информацию о которых можно получить при помощи команды tensor[indexing] .

 

Индексные и упрощающие функции пакета инициализируются при помощи whith [любая команда пакета] либо командой with ( tensor ).

Приведем полный список команд пакета:

Christoffel1 команда вычисления символов Кристоффеля первого рода
Christoffel2 команда вычисления символов Кристоффеля второго рода
Einstein тензор Эйнштейна
display_allGR описывает все объекты, используемые в общей теории относительности
displayGR описывает один из объектов общей теории относительности
tensorsGR вычисляет объекты общей теории относительности
Jacobian Якобиан преобразований координат
Killing_eqns вычисляет выражения для уравнений Киллинга для каждой компоненты полгностью симметричного ковариантного тензора.
Levi_Civita Леви-Чивита псевдотензоры
Lie_diff производная Ли по вектору
Ricci тензор Риччи
Ricciscalar скаляр Риччи
Riemann тензор Римана
RiemannF тензор кривизна Римана в жесткой системе отсчета
Weyl тензор Вейля
act применяет операции у элементам тензора, таблица вращений или кривизны
antisymmetrize симметризация тензора по любым индексам
change_basis изменение систем координат
commutator коммутатор двух векторов
compare сравнивает два тезора, таблицы вращений или кривизны
conj комплексное сопряжение
connexF связующие коэффициенты для жесткой системы координат
contract свертка тензора по парам индексов
convertNP преобразует связующий или Римана тензор к Ньюмена-Пенроуза формализму
cov_diff ковариантное дифференцирование
create создает тензорный объект
d1metric первая частная производная метрики
d2metric вторая частная производная метрики
directional_diff производная по направлению
dual осуществляет дуальную операцию над индексами тензора
entermetric средство для ввода пользователем метрических тензорных компонент
exterior_diff внешнее дифференцирование
exterior_prod внешнее произведение
frame вычисляет систему координат, которая переводит метрические компоненты к

диагональной сигнатурной матрице (с положитедьными или отрицательными единицами)

geodesic_eqns уравнение Эйлера -Лагранжа для геодезических кривых
get_char определяет признак (ковариантный/конрвариантный) объекта
get_compts определяет компоненты объекта
get_rank определяет ранг объекта
invars инварианты Риманова тензора кривизны (Общая теория относительности)
invert обращение тензора второго ранга
lin_com линейная комбинация тензорных объектов
lower опускает индексы
npcurve Ньюмена-Пенроуза компонента кривизны в формализме Дебевера (О.т.о.)
npspin Ньюмена-Пенроуза компонента вращения в формализме Дебевера (О.т.о.)
partial_diff частная производная тензора
permute_indices перестановка индексов
petrov классификация полиномов 4-той степени
prod внутреннее и внешнее тензорное произведение
raise поднятие индекса
symmetrize симметризация тензора по любым индексам
transform изменение координатной системы

 

 

Примеры

> restart;with(tensor):

Введем коордигнаты

> coords:=[t, r, theta,phi]:

Определим компоненты ковариантного метрического тензора Шварцшильда:

> g:=array(symmetric,sparse,1..4,1..4);
g[1,1]:=(1-2*m/r): g[2,2]:=-1/g[1,1];
g[3,3]:=-r^2: g[4,4]:=-r^2*sin(theta)^2;

[Maple Math]

[Maple Math]

[Maple Math]

Теперь создадим метрический тензор п используя команду create .

> metric:=create([-1,-1], eval(g));

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Проверим, что новый объект "g" действительно тензор (`tensor_type`):

> type(metric,tensor_type);

[Maple Math]

Вычислим тензоры кривизны по заданному ковариантному метрическому тензору и заданным координатам

> tensorsGR(coords,metric,con_metric,det_met, C1, C2, Rm, Rc, R, G, C):

Здесь comtra_metric - контравариантный метрический тензор; det_met - детерминант компонент метрического тензора, С1, С2 - символы кристоффеля 1-го и 2-го рода, Rm - тензор Римана, Rc - тензор Риччи, R - скаляр Риччи, G - тензор Эйнштейна, C - тензор Вейля.

 

Теперь при помощи команды displayGR можно вывести на дисплей компоненты любого из перечисленных объектов, указав его имя, которое может быть одним из следующих

 

coordinates cov_metric contra_metric detmetric Christoffel1
Christoffel2 Riemann Ricci Ricciscalar Einstein Weyl

Например

> displayGR(Christoffel1,C1);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Для вывода на дисплей тензоров до второго второго ранга (скаляров, векторов и матриц) удобнее использовать команду eval

> eval(con_metric);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> eval(det_met);

[Maple Math]

В начало страницы К предыдущему разделуК следующему разделу

Предметный указатель

| На первую страницу | Поиск | Купить Matlab

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


Copyright © 1993-2024. Компания Softline. Все права защищены.

Дата последнего обновления информации на сайте: 04.03.17
Сайт начал работу 01.09.00