> evalm(M1*z);

> evalm(M1/z);

> evalm(M1+z);

> evalm(M1-z);

Среди других функций для работы с матрицами полезно обратить внимание на функцию map, которая применяет заданную операцию (например, функции дифференцирования diff и интегрирования int) к каждому элементу матрицы. Примеры такого рода даны ниже:

> M:=array(1..2,1..2,[[х,х^2],[х^3,х^4]]);

> map(diff,M, x);

> map(int, %, x);

> map(sin, M);

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

В дальнейшем мы продолжим изучение матричных функций и операций, включенных в пакеты Maple.

6.2. Пакет линейной алгебры linalg системы

6.2.1. Состав пакета linalg

Несомненно, что уникальной возможностью системы Maple, как и других систем компьютерной алгебры, является возможность решения задач линейной алгебры в символьном (формульном, аналитическом) виде. Однако такое решение представляет скорее теоретический, чем практический интерес, поскольку даже при небольших размерах матриц (уже при 4–5 строках и столбцах) символьные результаты оказываются очень громоздкими и трудно обозримыми. Они полезны только при решении специфических аналитических задач, например с разреженными матрицами, у которых большинство элементов имеют нулевые значения.

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

В ядро Maple, как отмечалось, введены очень скромные и минимально необходимые средства для решения задач линейной алгебры. Основной упор в их реализации сделан на подключаемые пакеты. Основным из них, унаследованным от предшествующих реализаций системы, является пакет решения задач линейной алгебры linalg. Это один из самых обширных и мощных пакетов в области решения задач линейной алгебры. Для их просмотра достаточно использовать команду:

> with(linalg);

Для большинства пользователей системой Maple набор функций пакета оказывается чрезмерно обширным и потому опущен. Укажем, однако, наиболее употребительные функции пакета linalg:

• addcol — добавляет к одному из столбцов другой столбец, умноженный на некоторое число;

• addrow — добавляет к одной из строк другую строку, умноженную на некоторое число;

• angle — вычисляет угол между векторами;

• augment — объединяет две или больше матриц по горизонтали;

• backsub — реализует метод обратной подстановки при решении системы линейных уравнений (см. также forwardsub);

• band — создает ленточную матрицу;

• basis — находит базис векторного пространства;

• bezout — создает Bezout-матрицу двух полиномов;

• BlockDiagonal — создает блок-диагональную матрицу;

• blockmatrix — создает блок-матрицу;

• cholesky — декомпозиция Холесского для квадратной положительно определенной матрицы;

• charmat — создает характеристическую матрицу (charmat(M,v) матрица, вычисляемая как v∙E-М);

• charpoly — возвращает характеристический полином матрицы;

• colspace — вычисляет базис пространства столбцов;

• colspan — находит базис линейной оболочки столбцов матрицы;

• companion — вычисляет сопровождающую матрицу, ассоциированную с полиномом;

• cond — вычисляет число обусловленности матрицы (cond(M) есть величина norm(M)∙norm (M-l));

• curl — вычисляет ротор вектора;

• definite — тест на положительную (отрицательную) определенность матрицы;

• diag — создает блок-диагональную матрицу;

• diverge — вычисляет дивергенцию векторной функции;

• eigenvals — вычисляет собственные значения матрицы;

• eigenvects — вычисляет собственные векторы матрицы;

• equal — определяет, являются ли две матрицы равными;

• exponential — создает экспоненциальную матрицу;

• ffgausselim — свободное от дробей Гауссово исключение в матрице;

• fibonacci — матрица Фибоначчи;

• forwardsub — реализует метод прямой подстановки при решении системы линейных уравнений (например для матрицы L и вектора b forwardsub(L,b) возвращает вектор решения х системы линейных уравнений L∙x=b);

• frobenius — вычисляет форму Фробениуса (Frobenius) матрицы;

• gausselim — Гауссово исключение в матрице;

• gaussjord — синоним для rref (метод исключения Гаусса-Жордана);

• geneqns — генерирует элементы матрицы из уравнений;

• genmatrix — генерирует матрицу из коэффициентов уравнений;

• grad — градиент векторного выражения;

• GramSchmidt — вычисляет ортогональные векторы;

• hadamard — вычисляет ограничение на коэффициенты детерминанта;

• hessian — вычисляет гессиан-матрицу выражения;

• hilbert — создает матрицу Гильберта;

• htranspose — находит эрмитову транспонированную матрицу;

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату