Операции линейной алгебры
Линейная
алгебра — один из фундаментальных разделов математики. Он во многом способствовал
развитию методов вычислений. Средства линейной алгебры (преобразование матриц,
решение систем линейных уравнений и т. д.) широко используются при решении задач
механики, электро- и радиотехники и других отраслей науки и техники. В этом
разделе мы познакомимся с основным набором средств системы Mathematica, предназначенных
для решения задач линейной алгебры.
Совокупность
данных образует массив (Array). Массивы могут быть одномерными (один
список), двумерными и многомерными (два и более списка). Одномерные массивы
в математике называют векторами, двумерные — матрицами. В общем
случае массив характеризуется размерностью (числом измерений) и размером
— произведением числа элементов по всем размерностям. Mathematica позволяет
создавать многомерные массивы — число элементов в них ограничено лишь объемом
памяти компьютера.
Для задания
массивов используются следующие функции:
Далее приводятся
примеры задания массивов и их вывода.
Ввод (In)
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
, которая, будучи умноженной на исходную
квадратную матрицу М, дает единичную матрицу Е.
Ступенчатая
форма матрицы соответствует условиям, когда первый ненулевой элемент в каждой
строке есть 1 и первый ненулевой элемент каждой строки появляется справа от
первого ненулевого элемента в предыдущей строке, то есть все элементы ниже первого
ненулевого в строке — нули.
Диагональ
матрицы — расположенные диагонально элементы А., матрицы А. В приведенной
ниже матрице элементы диагонали представлены заглавными буквами:
Обычно указанную
диагональ называют главной диагональю — для матрицы А, приведенной выше,
это диагональ с элементами А, Е и 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.
Вывод
(Out)
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
A
b
c
А
=
d
E
f
i
k
L
Рис. 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 ограничено разумным минимумом, позволяющим реализовать множество других, более сложных матричных функций и преобразований. Их можно найти в пакетах расширения системы, посвященных линейной алгебре.