Операции линейной алгебры
Линейная алгебра — один из фундаментальных разделов математики. Он во многом способствовал развитию методов вычислений. Средства линейной алгебры (преобразование матриц, решение систем линейных уравнений и т. д.) широко используются при решении задач механики, электро- и радиотехники и других отраслей науки и техники. В этом разделе мы познакомимся с основным набором средств системы Mathematica, предназначенных для решения задач линейной алгебры.
Совокупность данных образует массив (Array). Массивы могут быть одномерными (один список), двумерными и многомерными (два и более списка). Одномерные массивы в математике называют векторами, двумерные — матрицами. В общем случае массив характеризуется размерностью (числом измерений) и размером — произведением числа элементов по всем размерностям. Mathematica позволяет создавать многомерные массивы — число элементов в них ограничено лишь объемом памяти компьютера.
Для задания массивов используются следующие функции:
Далее приводятся примеры задания массивов и их вывода.
Ввод (In)
| Вывод (Out) | ||||||||||
Y : =Array [Exp , 4 ] Y | {e, | e 2 , | e 3 , | e 4 } | |||||||
N[Y] |
|
| {2. | 71828, | 7. | 38906, | 20.0855, 54 | .5982} | |||
Array[f,{3 | , | 3}] | {{f | [1, | 1], | f | [1, 2] | { | f[l, | 3]}, | {f[2, 1], f[2, 2], |
{[2 | , 3] | }, | {f | [3, 1] | { | f[3, | 2], f | [3, 3] }} | |||
Array [Sin, | 3 | ,0] | {0, | Sin | [1] | , Sin[2] | } | ||||
Array [Sin, | 4 | ,l,Plus] | Sin | [1] | + Sin | [2] + | Sin[3] | + Sin | [4] | ||
Array[f ,5, | 2 | ,2] | 2[f | [2], | f [ | 3] | , f[4] | { | f [5] | , f[6] | ] |
Основные понятия линейной алгебры
Массивы, в основном в виде векторов и матриц, широко применяются при решении задач линейной алгебры. Прежде чем перейти к рассмотрению возможностей Mathematica в части решения таких задач, рассмотрим краткие определения, относящиеся к линейной алгебре.
Матрица — прямоугольная двумерная таблица, содержащая m строк и п столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением (расширительная трактовка матрицы).
Квадратная матрица — матрица, у которой число строк m равно числу столбцов п. Пример квадратной матрицы размером 3x3:
1 2 3
4 5 6
7 8 9
Сингулярная (вырожденная) матрица — квадратная матрица, у которой детерминант (определитель) равен 0. Такая матрица обычно не упрощается при символьных вычислениях. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении.
Единичная матрица — это квадратная матрица, у которой диагональные элементов равны 1, а остальные элементы равны 0. Ниже представлена единичная матрица размером 4x4:
1 | 0 | 0 | 0 | ||
0 | 1 | 0 | 0 | ||
E | = | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
Транспонированная матрица — квадратная матрица, у которой столбцы и строки меняются местами. Приведем простой пример.
Исходная матрица:
a | b | c | ||
A | = | d | e | f |
i | k | l |
Транспонированная матрица:
a | d | i | ||
А т | = | b | e | k |
c | f | l |
Обратная матрица — это матрица М -1 , которая, будучи умноженной на исходную квадратную матрицу М, дает единичную матрицу Е.
Ступенчатая форма матрицы соответствует условиям, когда первый ненулевой элемент в каждой строке есть 1 и первый ненулевой элемент каждой строки появляется справа от первого ненулевого элемента в предыдущей строке, то есть все элементы ниже первого ненулевого в строке — нули.
Диагональ матрицы — расположенные диагонально элементы А., матрицы А. В приведенной ниже матрице элементы диагонали представлены заглавными буквами:
A | b | c | ||
А | = | d | E | f |
i | k | L |
Обычно указанную диагональ называют главной диагональю — для матрицы А, приведенной выше, это диагональ с элементами А, Е и L. Иногда вводят понятия поддиагоналей (элементы d и k) и наддиагоналей (элементы b к f).
Ранг матрицы — наибольший из порядков отличных от нуля миноров квадратной матрицы.
След матрицы — сумма диагональных элементов квадратной матрицы. Определитель матрицы — это многочлен от элементов квадратной матрицы, каждый член которого является произведением п элементов, взятых по одному из каждой строки и каждого столбца со знаком произведения, заданным четностью перестановок:
detА = Сумма a1j(-1)j+1M1<j>
где M <J> — определитель матрицы порядка n-1, полученной из матрицы А вычеркиванием первой строки и j-то столбца. В таком виде определитель (он же детерминант) легко получить в символьных вычислениях. В численных расчетах мы будем подразумевать под определителем численное значение этого многочлена.
Матрица в целой степени — квадратная матрица в степени п (п — целое неотрицательное число), определяемая следующим образом: М° = Е, М 1 = М, М 2 = = М*М,..., Мn = М n-1 -М.
Идемпотентная матрица — матрица, отвечающая условию Р 2 = Р.
Инволютивная матрица — матрица, отвечающая условию I 2 = Е.
Симметрическая матрица — матрица, отвечающая условию А т = А.
Кососимметрическая матрица — матрица, отвечающая условию А т = -А.
Ортогональная матрица — матрица, отвечающая условию А т = А- 1 .
Комплексно-сопряженная матрица — матрица А , полученная из исходной матрицы А заменой ее элементов на комплексно-сопряженные.
Эрмитова матрица — матрица А, удовлетворяющая условию А = А .
Собственный вектор квадратной матрицы А — любой вектор х е V n , х не равно 0, удовлетворяющий уравнению Ах = gx, где g — некоторое число, называемое собственным значением матрицы А.
Характеристический многочлен матрицы — определитель разности этой матрицы и единичной матрицы, умноженный на переменную многочлена — |А - g Е|.
Собственные значения матрицы — корни ее характеристического многочлена.
Норма — обобщенное понятие абсолютной величины числа. Норма трехмерного вектора ||х|| — его длина. Норма матрицы — значение sup(||Ax||/||x||). I-норма матрицы А — число
Матричная форма записи системы линейных уравнений — выражение А-Х = В, где А — матрица коэффициентов системы, X — вектор неизвестных, и В — вектор свободных членов. Один из способов решения такой системы очевиден — X = А -1 В, где А- 1 — обратная матрица.
Следующая группа функций системы Mathematica позволяет осуществлять над векторами и матрицами основные операции, используемые в линейной алгебре:
Следующие примеры иллюстрируют применение основных из этих функций.
Ввод (In) | Вывод (Out) | |||
A: =IdentityMatrix [3] | ||||
А | {{1, | 0, | 0}, | {0, 1, 0}, {0, 0, 1}} |
MatrixExp [A] | {{E, | 0, | 0}, | {0, E, 0}, {0, 0, E}} |
MatrixQ [A] | True | |||
MatrixPower [MatrixExp [A] , -1 . 5] | {{0. {0, | 22313, 0, 0}, {0, 0.22313, 0), 0, 0.22313}} | ||
А+{{1,2,3},{4,5,6},{7,8,9}} | {{2, | 2, | 3}, | {4, 6, 6}, {7, 8, 10}} |
m:={{1,2},{3,7}} | ||||
Inverse [m] | {{7, | -2} | , ( | -3, 1}} |
MatrixQ [m] | True | |||
RowReduce [m] | {{1, | 0}, | {0 | , 1}} |
Вычисление детерминанта матрицы и функций, относящихся к собственным значениям, представлено на рис. 3.11.
Рис. 3.11. Вычисление детерминанта, собственных значений и векторов матрицы
Приведем еще несколько примеров:
m={{1,2},{3,7}}
{{1, 2}, {3, 7}}
Transpose[m]
{{1, 3), {2, 7}}
m//MatrixForm
1 2
3 7
Transpose[m]//MatrixForm
Inverse[m]//MatrixForm
7 -2
-3 1
В приложении указан ряд дополнительных матричных функций, применяемых реже, чем описанные выше функции.
Решение систем линейных уравнений
Приведем также примеры на решение систем линейных уравнений матричными методами. В первом из них решение выполняется в символьном виде на основании формулы X = А -1 В, где А — матрица коэффициентов системы линейных уравнений, В — вектор свободных членов. Для перемножения используется функция Dot, а для инвертирования матрицы — функция Inverse:
A:={{a,b},{c,d}}
B:={e,f}
X:=Dot[Inverse[A],B]
X
{-de/(bc+ad) -bf/(bc+ad)- ce/(bc+ad) -af/(bc+ad)}
Во втором примере для решения системы линейных уравнений используется функция LinearSolve:
LinearSolve[{{l,2},{3,4}},{7,9}]
{-5, 6}
Нередко, например в электротехнических расчетах, встречается необходимость решения систем линейных уравнений с комплексными элементами. Все описанные выше функции обеспечивают работу с комплексными числами. Следующий пример иллюстрирует решение системы линейных уравнений с комплексными данными:
А={ U+2I,2+3I},{3+4I,4+5I}}
{{1+21, 2 + 31}, {3 + 41, 4+ 51}}
В={21,3}
{21,3} X=LinearSolve[А,В]
{1/4-41, 11I/4}
Число матричных функций в системе Mathematica 3/4 ограничено разумным минимумом, позволяющим реализовать множество других, более сложных матричных функций и преобразований. Их можно найти в пакетах расширения системы, посвященных линейной алгебре.