Array(діапазони, список, опції);
Всі параметри необов'язкові і можуть задаватися в довільному порядку. Параметр діапазонами є цілочисельні діапазони зміни індексів масивів, що задаються через кому, — розмірність масиву рівна кількості заданих діапазонів. Значення елементів масиву задаються параметром список у вигляді списку для одновимірних масивів або списку списків для багатовимірних масивів, Як значення параметра функції можна застосовувати symmetric, antisymmetric, identity і diagonal. Вони використовуються для завдання масивів спеціального вигляду (симетричних, антисиметричних, одиничних і діагональних). Для завдання векторів і матриць за допомогою цієї функції слід указувати діапазони зміни індексів, що починаються з одиниці:
> vec:=array(1..2,[1,2]);
> matr:=array(1..2,1..2,[[1,2],[10,15]]);
Для завдання тих же вектора і матриці можна використовувати відповідно команди vector() і matrix() з пакету linalg, заздалегідь підключивши його командою with (linalg). Синтаксис цих команд наступний:
Vector (n,[элемент1,элемент2,...]);
Matrix (n,m,[элемент1,элемент2,...]);
Тут цілі величини n і m задають розмірності вектора і матриці, а значення їх елементів задаються у вигляді простого списку.
> vec:=vector(2,[1,2]);
> matr:=matrix(2,2,[1,2,10,15]);
У Maple 6 команди vector() і matrix() знаходяться в основній бібліотеці, тому ними можна користуватися і без підключення пакету linalg. Проте доступ до всієї решти команд цього пакету вимагає його явного підключення.
Значення елементів вектора або матриці не обов'язково задавати при створенні цих об'єктів. Можна пізніше за допомогою загальноприйнятого індексного посилання на елементи вектора або матриці (у квадратних дужках після імені вектора або масиву задаються індекс(ы) необхідного елементу) привласнити їм нові значення або використати вже привласнені значення в обчисленнях.
> vec[1]:=5;
> eval(vec);
Зверніть увагу, що для відображення вмісту вектора vec використана команда eval(), оскільки змінний, містить складні об'єкти, якими є і вектори, і матриці, обчислюється не повністю, а тільки до свого імені.
Пакет linalg містить більше ста корисних команд виконання матричних операцій, а також структурних перетворень матриць. Перелік всіх доступних команд можна знайти на сторінці довідки, що відображається командою ?linalg.
Пакет LinearAlgebra
Всі команди пакету LinearAlgebra можна викликати безпосередньо по імені, заздалегідь підключивши всі його команди функцією
> with(LinearAlgebra);
або окрему команду з використанням синтаксису
> with(LinearAlgebra, имя_команды);
Можна викликати команду, заздалегідь не підключаючи її, а використовуючи довге ім'я
LinearAlgebra [ім'я__команды] (параметри);
LinearAlgebra['ім'я__команды'](параметри);
Остання форма (ім'я команди, укладене в одинарні лапки), викликає відповідну команду пакету, навіть якщо в поточному сеансі використовується який-небудь об'єкт з таким же ім'ям.
Пакет LinearAlgebra реалізований у вигляді модуля, нової мовної конструкції Maple, що реалізовує елементи об'єктно-орієнтованого програмування. Кожна команда є методом об'єкту LinearAlgebra, а тому її можна викликати, використовуючи спеціальну операцію : - звернення до методу об'єкту:
> LinearAlgebra:-имя команди(параметри);
Команда, що в цьому випадку викликається, також буде завантажена, не конфліктуючи з об'єктом іншого типу, створеним в поточному сеансі.
