Кpаткое посібник по maple

Структура об'єктів Maple

Для того щоб зрозуміти ідеологію Maple, розглянемо уявлення даних. Типовими об'єктами Maple є вирази, що мають структуру дерева. Нехай, наприклад, змінної u присвоєно такий вираз:


При цьому u зіставляється об'єкт, який наочно можна зобразити так:

Функція nops (number of operands) повертає кількість операндів самої зовнішньої операції, яка бере участь у вираженні, що є аргументом цієї функції. Значення операндів повертає функція op. Її перший аргумент задає номер операнда, а другий - вираз, в якому він бере участь. Якщо в якості першого аргументу взяти 0, то функція op поверне тип операції.


Розглянемо деякі інші часто використовувані об'єкти Maple. Для завдання безлічі досить перерахувати його елементи через кому, уклавши їх в фігурні дужки.


Зверніть увагу, що Maple усунув повтори елементів, перетворивши для цього деякі з них, і попутно розставив їх в "зручному для себе" порядку.

Над множинами можна виробляти звичайні теоретико-множинні операції: об'єднання (union), перетин (intersect), теорекіко-множинну різницю (minus)


На відміну від невпорядкованих множин списки являють собою впорядковані набори. Елементи списку полягають в квадратні дужки. Наведені нижче приклади показують, як управляти елементами списку:

Зверніть увагу, що елементи списку самі можуть мати складну структуру (в наших прикладах структуру списку або безлічі).


Подивіться, як було вироблено додавання елементів в список за допомогою функції op, яка в цьому випадку мала лише один аргумент.

За допомогою команд remove і select можна видаляти елементи списку або навпаки залишати в ньому лише елементи, що задовольняють певним умовам. Перший аргумент цих функцій повинен приймати для кожного з елементів списку одне зі значень: true або false. Другим аргументом служить сам оброблюваний список. Третій, необов'язковий параметр по суті є аргументом логічної функції, яка є першим параметром remove і select. задаючи тим самим область істинності відповідного предиката. У наведених нижче прикладах ми спочатку видаляємо зі списку S всі елементи, які самі є списками, а потім залишаємо в S лише елементи, які є іменами змінних або множинами.


Використовуючи список як перший аргумент функції op. можна істотно спростити процедуру вилучення глибоко вкладених операндів з виразів Maple:

Ще одним класом об'єктів Maple є послідовності. Їх можна задавати: або просто перераховуючи їх елементи через кому (не укладаючи всього виразу в дужки), або використовуючи значок послідовності - $ в поєднанні з оператором діапазону (він задається зазначенням меж діапазону, розділених двома точками), або як повертається значення функції seq.

T: = 4, 5, 6, 7, 8, 9, 10, 11


Послідовності виразів легко перетворити в безлічі або списки, просто уклавши їх у відповідні дужки:

Зрозуміло, система, орієнтована на математику, повинна вміти оперувати з матрицями:


Останній приклад показує, що задавати кількість рядків і стовпців матриці можна і неявно, якщо при перерахуванні елементів матриці вказати її структуру. Можна зробити і навпаки - не ставити елементи матриці, а вказати лише її розмірність:

Maple створив об'єкт відповідної розмірності, елементи якого є індексованими змінними. Однак ця конструкція була ідентифікована програмою як масив (array). Справа в тому, що масив є більш загальним (ніж список і матриця) поняттям Maple. Матриця є окремим випадком двовимірного, а список (і вектор) - одновимірного) масиву, нумерація індексів якого починається з одиниці.

У загальному випадку масиви можуть мати будь-яку розмірність, а початкові номери індексів бути будь-якими цілими невід'ємними числами:

Розглянуті приклади не вичерпують усього розмаїття типів об'єктів Maple. Ці об'єкти можуть бути рядками (string), таблицями (table), мати булевский тип (boolean) і т.д. Крім того, існує величезна кількість типів об'єктів, доступних тільки після подгрузки спеціалізованих пакетів.

Відзначимо, що один і той же об'єкт може належати одночасно до кількох типів:

> Type (7, numeric), type (7, odd), type (7, prime), type (7, complex), type (7, positive), type (7, polynom);

true, true, true, true, true, true

Ми бачимо, що на запит про тип числа 7 Maple повернув integer. Однак програма підтверджує, що даний об'єкт є в той же час позитивним непарних простим числом, а також може бути інтерпретований як комплексне число або многочлен.

Волгоградський державний педагогічний університет
Кафедра алгебри, геометрії та інформатики

Схожі статті