Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Описание пакета LinearAlgebra
В Maple имеется пакет LinearAlgebra, ориентированный на решение задач линейной (матричной) алгебры. Он загружается соответствующей командой:
[> with(LinearAlgebra);
После выполнения этих команд система выводит на экран список процедур и функций, которыми располагает пакет LinearAlgebra.
Пакет LinearAlgebra является более мощным и совершенным по сравнению с linalg (в ранних версиях программы). Он предназначен для работы с матрицами и векторами больших размеров. Самым простым образом матрицу размером в пакете LinearAlgebra можно сформировать при помощи команды
[> Matrix(m, n, [[a[1, 1], …, a[1, n]], …, [a[m, 1], …, a[m, n]]]);
Приведем в табл. 3.1 назначение наиболее часто применимых процедур и функций пакета LinearAlgebra. Более полную информацию о каждой процедуре или функции можно узнать в справке, или набрав команду
[> help(имя_процедуры);
Таблица 3.1.
Название процедуры,
функции
| Назначение процедуры, функции
| Basis
| Определяет базис для векторного пространства, заданного системой векторов
| CharacteristicMatrix
| Создает для квадратной матрицы ее характеристическую матрицу
| CharacteristicPolynomial
| Создает для квадратной матрицы ее характеристический многочлен
| Determinant
| Вычисляет для квадратной матрицы ее определитель
| DiagonalMatrix
| Создает диагональную матрицу
| Eigenvalues
| Вычисляет для квадратной матрицы ее собственные значения (собственные числа)
| Eigenvectors
| Вычисляет для квадратной матрицы ее собственные векторы (рекомендуется использовать вместе с процедурой Eigenvalues)
| LinearSolve
| Решает систему линейных алгебраических уравнений (СЛАУ) в матричной форме
| MatrixAdd
| Процедура сложения двух матриц
| Matrixlnverse
| Процедура нахождения обратной матрицы
| MatrixMatrixMultiply
| Процедура произведения двух матриц
| MatrixNorm
| Функция вычисления нормы матрицы
| MatrixScalarMultiply
| Процедура умножения матрицы на скаляр
| MatrixVectorMultiply
| Процедура умножения матрицы на вектор
| Minor
| Вычисляет минор матрицы
| Normalize
| Нормализует вектор
| NullSpace
| Возвращает нуль-пространство (ядро) матрицы
| Rank
| Вычисляет ранг матрицы
| SylvesterMatrix
| Конструирует матрицу Сильвестра из многочленов
| Transpose
| Вычисляет матрицу, транспонированную к данной
| Приведем примеры решения наиболее часто встречающихся задач линейной алгебры (исследование систем линейных алгебраических уравнений на совместность, вычисление собственных векторов и чисел матриц).
Пример 3.1. Исследовать СЛАУ с параметром (СЛАУ задана своей расширенной матрицей) и решить в каждом случае:
.
Ниже приведен текст рабочего листа по решению данной задачи (с описаниями по ходу выполнения команд).
[> restart; with(LinearAlgebra):
/задаем вектор-столбцы основной матрицы/
[> a1: =Vector([2, 1, 3]); a2: =Vector([lambda+1, lambda, -3]);
a3: =Vector([lambda-2, -3, -7]);
/задаем основную матрицу и вектор-столбец свободных коэффициентов системы/
[> A: =Matrix(3, 3, [a1, a2, a3]); B: =Vector([3, lambda+2, 3]);
/выводим определитель основной матрицы системы, решение системы в матричном виде (при значениях, в которых определитель основной матрицы не равен нулю)/
[> Delta: =Determinant(A); X: =LinearSolve(A, B);
/вычисляем значения параметра , при котором определитель обращается в нуль/
[> Korni: =solve(Determinant(A)=0);
[> lambda: =Korni[1]; X: =LinearSolve(A, B);
Error, (in LinearAlgebra: -LA_Main: -LinearSolve) inconsistent system
/Maple предупреждает, что СЛАУ при данном значении параметра несовместна/
[> lambda: =Korni[2]; X: =LinearSolve(A, B);
/СЛАУ имеет бесконечное множество решений при этом значении параметра /
|
Пример 3.2. Найти собственные числа и соответственные собственные векторы матрицы
.
Текст рабочего листа по решению задачи имеет вид:
[> restart; with(LinearAlgebra):
[> A: =Matrix(3, 3, [[3, -6, 9], [1, -2, 3], [-3, 6, -9]]);
/задание исходной матрицы/
[> Add(A, -lambda): p(lambda): =Determinant(Add(A, -lambda));
/составление характеристического многочлена матрицы/
[> solve(p(lambda)=0, {lambda});
/вычисление собственных чисел матрицы/
[> v: =Eigenvalues(A); F: =Eigenvectors(A);
/вычисление собственных чисел и собственных векторов матрицы с помощью процедуры Eigenvectors: первый столбец v – собственные числа матрицы, вторая матрица F содержит соответствующие собственные векторы матрицы, они расположены по столбцам!)/
|
|