Операции линейной алгебры
Линейная алгебра — один из фундаментальных разделов математики. Он во многом способствовал развитию методов вычислений. Средства линейной алгебры (преобразование матриц, решение систем линейных уравнений и т. д.) широко используются при решении задач механики, электро- и радиотехники и других отраслей науки и техники. В этом разделе мы познакомимся с основным набором средств системы Mathematica, предназначенных для решения задач линейной алгебры.
Совокупность данных образует массив (Array). Массивы могут быть одномерными (один список), двумерными и многомерными (два и более списка). Одномерные массивы в математике называют векторами, двумерные — матрицами. В общем случае массив характеризуется размерностью (числом измерений) и размером — произведением числа элементов по всем размерностям. Mathematica позволяет создавать многомерные массивы — число элементов в них ограничено лишь объемом памяти компьютера. Для задания массивов используются следующие функции:- Array [ f, n] — генерирует список длиной п с элементами f [ 1 ], f [ 2 ], ..., f[n];
- Array [f, {nl, n2, ...}] — генерирует массив размером n1x n2 x... в виде вложенных списков с элементами f [ i I, i2,...] (аргумент функции i k меняется от 1 до nk);
- Array[f, dims, origin] — генерирует список с размерностью dims, используя спецификацию индекса origin;
- Array [f, dims, origin, h] — использует заголовок h, а не List, для каждого уровня массива.
Ввод (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 |
A | b | c | ||
А | = | d | E | f |
i | k | L |
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 позволяет осуществлять над векторами и матрицами основные операции, используемые в линейной алгебре:
- Cross [vl,v2, v3,...] — векторное произведение (может задаваться в виде v1*v2*v3*...);
- Det [m] — возвращает детерминант (определитель) квадратной матрицы m;
- DiagonalMatrix [list] — возвращает диагональную матрицу с главной диагональю, сформированной из элементов списка list, и нулевыми остальными элементами матрицы;
- Dot [a, b, с] — возвращает произведения векторов, матриц и тензоров. Операцию произведения можно задавать также в виде а. b. с;
- Eigensystem[m] — возвращает список {values, vectors} собственных значений и собственных векторов квадратной матрицы т;
- Eigenvalues [m] — возвращает список собственных значений квадратной матрицы m;
- Eigenvectors [m] — возвращает список собственных векторов квадратной матрицы m;
- IdentityMatrix [n] — возвращает единичную матрицу размером пхп (у нее диагональные элементы имеют значения 1, остальные 0);
- Inverse [m] — возвращает обратную матрицу для квадратной матрицы т, то есть матрицу m- 1 , которая, будучи умноженной на исходную матрицу, дает единичную матрицу;
- LinearSolve [m, b] — возвращает вектор х, представляющий собой решение матричного уравнения m. x==b, где m — матрица коэффициентов левой части системы линейных уравнений, х — вектор неизвестных и b — вектор свободных членов в правой части системы;
- Tr [list] — возвращает след матрицы или тензора (эта функция есть только у Mathematica 4);
- Transpose [m] — возвращает транспонированную матрицу, у которой столбцы и строки меняются местами в сравнении -с исходной матрицей m;
- RowReduce [m] — производит гауссовское исключение переменных, возвращая упрощенную форму матрицы m, полученную путем линейного комбинирования строк.
Ввод (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. Вычисление детерминанта, собственных значений и векторов матрицы
Приведем еще несколько примеров: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}
Forekc.ru Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий |