Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Лінійна алгебра в Maple.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
120.83 Кб
Скачать

Лекція №26

Тема: Лінійна алгебра в Maple

План

  1. Пакет linalg.

  2. Пакет LinearAlgebra.

  3. Елементарні операції з матрицями і векторами.

  4. Рішення систем лінійних рівнянь.

У Maple виконання перетворень лінійної алгебри можна здійснювати за допомогою команд двох пакетів: linalg і LinearAlgebra, функціональність яких практично однакова. Перший пакет входив до складу і всіх попередніх версій Maple, тоді як другий пакет — це новий засіб, що дозволяє працювати з числовими матрицями, у тому числі і з матрицями великих розмірів, використовуючи всю потужність відомого пакету чисельних розрахунків NAG (Numerical Algorithms Group).

Основними об'єктами, з якими працюють команди цих пакетів, є матриці, проте матриці одного пакету не еквівалентні матрицям іншого. У пакеті linalg використовуються матриці, побудовані на основі масиву, створюваного командою array про, тоді як в пакеті LinearAlgebra застосовуються вектори і матриці, побудовані на основі нової структури r-таблииы (r-table) і створювані спеціальними конструкторами vector про і Matrix про або з використанням короткої нотації <а,b,с>. Матриці в пакеті linalg обчислюються тільки до рівня своїх імен, тому в ньому неможливо обчислити операції поелементного підсумовування або віднімання, використовуючи прості операції над ідентифікаторами матриць, і доводиться користуватися спеціальним синтаксисом через команду evalm(). У пакеті LinearAlgebra матриці обчислюються до рівня своїх елементів, тому просте завдання імені матриці у області введення робочого листу приводить до відображення її елементів, а не імені матриці, як у випадку з пакетом linalg. Окрім цього, в пакеті LinearAlgebra матриці можуть задаватися як операнди складання і віднімання, що приводить до поелементного виконання вказаних операцій без використовування додаткових синтаксичних конструкцій.

Щоб ухвалити рішення, якому пакету лінійної алгебри віддати перевагу, рекомендується взяти до уваги наступні обставини:

  • Пакет linalg корисний при виконанні абстрактних обчислень над матрицями і векторами.

  • Пакет LinearAlgebra володіє більш дружнім інтерфейсом, працює з числовими матрицями і особливо ефективний при роботі з числовими матрицями великих розмірів через можливість звернення до програм пакету чисельних розрахунків NAG, що відкомпілюються.

Пакет linalg

Пакет лінійної алгебри linalg містить команди створення матриць і векторів, пропонує великий набір функцій для роботи із структурою цих об'єктів, для виконання основних матричних і векторних операцій і для вирішення основних задач лінійної алгебри: рішення систем лінійних рівнянь, знаходження власних векторів і власних векторів матриці, приведення матриць до спеціальних форм і т.д. І всі ці дії можна виконувати з матрицями і векторами, елементи яких можуть бути загальними виразами алгебри, одержуючи результати також у вигляді виразів алгебри.

Всі команди пакету лінійної алгебри працюють з матрицями і векторами. У Maple матрицею вважається двовимірний масив, індекси якого змінюються від одиниці. Аналогічно, вектор — це одновимірний масив з індексом, що змінюється від одиниці. Визначити матрицю або вектор в Maple можна двома способами: або за допомогою команди array() стандартної бібліотеки, або командами matrix () і vector() пакету linalg.

Найзагальніший синтаксис команди array про, яка дозволяє задавати багатовимірні масиви з індексами, що змінюються в діапазонах цілих (як позитивних, так негативних) чисел, наступний: