Категории
Самые читаемые
onlinekniga.com » Научные и научно-популярные книги » Математика » Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Читать онлайн Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 100 101 102 103 104 105 106 107 108 ... 125
Перейти на страницу:

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

[Array, Matrix, MatrixInverse, Vector, init, show]

Пакет допускает применение следующих конструкций:

Domains[domain]

Domains[evaldomains]

Domains[example]

Domains[coding]

Приведенный ниже пример поясняет создание и использование доменов Q (для рациональных данных) и Z (для целочисленных данных):

> Q[`+`] (1/2,2/5,3/8);

> Z[Gcd](660,130);

10

Следующая операция показывает, что домен Z является таблицей:

> type(Z,table);

true

А функция 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`

` Rem : (Z,Z) -> Z`

` Sign : Z -> UNION(1,-1,0)`

` SmallerEuclideanNorm : (Z,Z) -> Boolean`

` Sqrfree : Z -> [Z, [[Z,Integers]*]]`

` Type : Expression -> Boolean`

` Unit : Z -> Z`

` UnitNormal : Z -> [Z,Z,Z]`

` Zero : Z -> Boolean`

` ^ : (Z,Integers) -> Z`

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

9.4.5. Пакет алгебры линейных операторов — Ore_algebra

Пакет Ore_algebra содержит набор функций алгебры линейных операторов, состав которого можно получить после обращения к пакету:

> with(Ore_algebra);

Этот пакет поддерживает решение задач в области алгебры линейных операторов. Примеры на его применения можно найти в справке и в файле Ore_algebra, имеющимся на Интернет-сайте корпорации MapleSoft.

9.4.6. Пакет для работы с рациональными производящими функциями — genfunc

В пакете genfunc, предназначенном для работы с производящими функциями содержатся функции, список которых выводит команда:

> with(genfunc);

Эти функции представляют специальный интерес для пользователей, работающих в области теории чисел и рациональных функций.

9.4.7. Пакет операций для работы с конечными группами — group

Этот пакет содержит довольно представительный набор функций для работы с конечными группами. Вывод списка функций обеспечивает команда:

> with(group);

Функции этого пакета представляют интерес для математиков, работающих в области конечных групп. Но вряд ли они будут полезны большинству пользователей. Тем не менее, наличие таких функций говорит о полноте функциональных возможностей системы Maple.

9.4.8. Пакет средств симметрии Ли — liesymm

В этом пакете, являющемся реализацией алгоритма Харрисона-Эстабрука, имеется ряд функций, список которых выводит команда:

> with(liesymm);

Эти функции достаточно специфичны и могу пригодится лишь узким специалистам. Детали применения пакета можно найти в справке по нему.

9.4.9. Пакет команд для решения уравнений SolveTools

Пакет команд с весьма многообещающим названием SolveTools на самом деле содержит вовсе не средства для решения уравнений, а несколько весьма специфических функций:

> with(SolveTools);

[Basis, CancelInverses, Combine, Complexity, GreaterComplexity, Linear, RationalCoefficients, SortByComplexity]

Они позволяют найти базис выражений, дескрипторы и рациональные коэффициенты. Примеры применения этого пакета очень просты и с ними несложно ознакомиться по справке.

9.4.10. Пакет для работы с таблицами — Spread

Загрузка этого пакета командой

> with(Spread);

дает средства для работы с таблицами. Функции пакета не имеют самостоятельного значения и призваны поддерживать работу с электронными таблицами, которая уже была подробно описана. Они дают такие средства, как создание в документе шаблона таблиц, проведение операций по заполнению и редактированию ячеек таблиц, копированию содержимого таблиц в буфер памяти и т.д.

9.4.11. Пакет линейных операторов LinearOperators

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

> with(LinearOperators);

Набор функций пакета достаточно представителен. Но, поскольку область применения пакета весьма специфична, рекомендуется знакомиться с его возможностями по справке.

9.4.12. Пакет для работы с массивами ArrayTools

Для упрощения работы с массивами в Maple 9 был введен пакет ArrawTools (файл at):

> with(ArrayTools);

[Alias, ComplexAsFloat, Copy, DataTranspose, Fill]

Он вводит всего пять новых функций. Примеры их применения, взятые из справки по пакету, представлены ниже:

Создание вектора-строки

> М := Vector[row](10,i->i);

М := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Дублирование первых 5 элементов в следующих 5 элементах

> Copy(5,М,М,5), М;

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

Очистка каждого второго элемента

> Fill(0,М,1,2), М;

[1, 0, 3, 0, 5, 0, 2, 0, 4, 0]

Формирование матрицы 2×5

> Alias(М, [2,5], С_order)

Создание матрицы с комплексными элементами

> М := Matrix(2,3,(i,j)->i+I*j, datatype=complex[8], order=C_order);

Создание «двойной» матрицы с элементами в формате плавающей точки

1 ... 100 101 102 103 104 105 106 107 108 ... 125
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов.
Комментарии