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

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

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

new — создает пустой граф (без ребер и узлов);

void — создает пустой граф (без ребер);

duplicate — создает копию графа;

complete — создает полный граф;

random — возвращает случайный граф;

Petersen — создает граф Петерсена.

Функции модификации графов:

addedges — добавляет в граф ребро;

addvertex — добавляет в граф вершины;

connect — соединяет одни заданные вершины с другими;

delete — удаляет из графа ребро или вершину.

Функции контроля структуры графов:

draw — рисует граф;

edges — возвращает список ребер графа;

vertices — возвращает список узлов графа;

show — возвращает таблицу с полной информацией о графе;

ends — возвращает имена вершин графа;

head — возвращает имя вершины, которая является головой ребер;

tail — возвращает имя вершины, которая является хвостом ребер;

incidence — возвращает матрицу инцидентности;

adjacency — возвращает матрицу смежности;

eweight — возвращает веса ребер;

vweight — возвращает веса вершин;

isplanar — упрощает граф, удаляя циклы и повторяющиеся ребра, и проверяет его на планарность (возвращает true, если граф оказался планарным и false в противном случае).

Функции с типовыми возможностями графов:

flow — находит максимальный поток в сети от одной заданной вершины к другой;

shortpathtree — находит кратчайший путь в графе с помощью алгоритма Дейкстры.

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

На рис. 9.8 показан пример создания графа, имеющего четыре вершины, и графа Петерсона с выводом их графиков графической функцией draw.

Рис. 9.8. Построение графов

На рис. 9.9 показан другой пример работы с графами — построение графа функцией complete и затем его преобразование путем удаления части вершин. Исходный и преобразованный графы строятся функцией draw.

Рис. 9.9. Преобразование графа удалением части вершин

В третьем примере (рис. 9.10) граф формируется по частям — вначале задается пустой граф функцией new, а затем с помощью функций addvertex и addedge в него включаются вершины и ребра. Далее функция connect соединяет вершину a с вершиной с, делая граф замкнутым. Функция draw строит сформированный таким образом граф, а функции head и tail используются для выявления «голов» и «хвостов» графа.

Рис. 9.10. Формирование графа и определение его «голов» и «хвостов»

В четвертом примере, представленном на рис. 9.11, показано создание графа G2 (его изображение было приведено на рис. 9.9) с вычислением для этого графа максимального потока от вершины 1. Обратите внимание, что в параметрах функции flow, использованной для этого, заданы две переменные: eset — принимает значение множества с ребрами, по которым проходит максимальный поток, и comp — принимает значение множества, в котором содержатся вершины, по которым проходит максимальный поток. Значения этих переменных выведены в области вывода. В заключительной части этого примера показано применение функции shortpathtree, ищущей наиболее короткий путь от вершины 1 до других вершин.

Рис. 9.11. Пример вычисления максимального потока и наиболее коротких путей для заданного графа

9.3.3. Получение информации о графе

Приведенный ниже еще один пример иллюстрирует работу функции show, выдающей таблицу с полной информацией о графе, созданном функцией complete:

> restart:with(networks):G2:=complete(4):

> show(G2);

table([_Counttrees = _Counttrees, _Vertices = {1,2,3,4}, _Vweight = table(sparse, []), _Edges = {e1,e2,e3,e4,e5,e6}, _Bicomponents = _Bicomponents, _Emaxname = 6, _Head = table([]), _Tail = table([]), _EdgeIndex = table(symmetric, [(3,4)={e6},(2,3)={e4},(1,4)={е3},(1,2)={е1},(1,3)={е2},(2,4)={e5}]), _Neighbors = table([1={2,3,4},2={1,3,4},3={1,2,4},4={1,2,3}]), _Econnectivity = _Econnectivity, Ends = table([e4={2,3},e1={1,2},{1,4},e6={3,4},e5={2,4},e2={1,3}]), _Countcuts = _Countcuts, _Eweight = table([e4=1, e1=1, e3=1, e6=1, e5=1, e2=1]), _Status = {SIMPLE, COMPLETE}])

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

9.4. Математические пакеты расширения специального назначения

9.4.1. Инструментальный пакет для линейных рекуррентных

уравнений — LREtools

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

> with(LREtools);

[REcontent, REcreate, REplot, REpritnpart, REreduceorder, REtoDE, REtodelta, REtopeoc, autodispersion, constcoeffsol, dispersion, divconq, firstlin, hypergeomsols, polysols, ratpolysols, riccati, shift]

9.4.2. Пакет функций дифференциальных форм difforms

В пакете дифференциальных форм содержится следующий ряд функций:

> with(difforms);

[&^, d, defform, formpart, parity, scalarpart, simpform, wdegree]

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

9.4.3. Пакет работы с тензорами 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);

дает доступ к множеству функций пакета:

Christoffel1 — вычисление символов Кристоффеля первого рода;

Christoffel2 — вычисление символов Кристоффеля второго рода;

Einstein — возвращает тензор Эйнштейна;

display_alJGR — описывает ненулевые компоненты всех тензоров и параметров, вычисленных командой tensorsGR (общая теория относительности);

displayGR — описывает ненулевые компоненты конкретного тензора (общая теория относительности);

Jacobian — Якобиан преобразования координат;

Killing_eqns — вычисляет компоненты для уравнений Киллинга (имеет отношение к симметриям пространства);

LeviCivita — вычисляет ковариантные и контравариантные псевдотензоры Леви-Чивита;

Lie_diff — вычисляет производную Ли тензора по отношению к контравариантному векторному полю;

Ricci — тензор Риччи;

Ricciscalar — скаляр Риччи;

Riemann — тензор Римана;

RiemannF — тензор кривизны Римана в жесткой системе отсчета;

tensorsGR — вычисляет тензор кривизны в данной системе координат (общая теория относительности);

Weyl — тензор Вейля;

act — применяет операции к элементам тензора, таблицам вращений или кривизны;

antisymmetrize — антисимметризация тензора по любым индексам;

change_basis — преобразование системы координат;

commutator — коммутатор двух контравариантных векторных полей;

compare — сравнивает два тензора, таблицы вращений или кривизны;

conj — комплексное сопряжение;

connexF — вычисляет связующие коэффициенты для жесткой системы координат;

contact — свертка тензора по парам индексов;

convertNP — преобразует связующие коэффициенты или тензор Римана к формализму Ньюмена-Пенроуза;

cov_diff — ковариантное дифференцирование;

create — создает тензорный объект;

d1metric — первая частная производная метрики;

d2metric — вторая частная производная метрики;

directional_diff — производная по направлению,

dual — осуществляет дуальную операцию над индексами тензора;

entermetric — обеспечивает ввод пользователем координатных переменных и ковариантных компонент метрического тензора;

exterior_diff — внешнее дифференцирование полностью антисимметричного ковариантного тензора;

exterior_prod — внешнее произведение двух ковариантных антисимметричных тензоров;

1 ... 99 100 101 102 103 104 105 106 107 ... 125
Перейти на страницу:
На этой странице вы можете бесплатно скачать Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов торрент бесплатно.
Комментарии
КОММЕНТАРИИ 👉
Комментарии
Татьяна
Татьяна 21.11.2024 - 19:18
Одним словом, Марк Твен!
Без носенко Сергей Михайлович
Без носенко Сергей Михайлович 25.10.2024 - 16:41
Я помню брата моего деда- Без носенко Григория Корнеевича, дядьку Фёдора т тётю Фаню. И много слышал от деда про Загранное, Танцы, Савгу...