Производим разложение определителя на множители

Элементы линейной алгебры в системе Mathematica

Ниже будут рассмотрены способы решения задач линейной алгебры в системе Mathematica.

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

Действия с матрицами

Матрицей называется прямоугольная таблица чисел. Для обозначения матрицы применяются круглые скобки или квадратные скобки, например

Производим разложение определителя на множители - student2.ru

Числа, составляющие таблицу, называются её элементами. Горизонтальные ряды элементов называются строками, а вертикальные столбцами.

Матрицу из Производим разложение определителя на множители - student2.ru строк и Производим разложение определителя на множители - student2.ru столбцов будем называть Производим разложение определителя на множители - student2.ru матрицей или матрицей размеров Производим разложение определителя на множители - student2.ru .

Если число строк матрицы равно числу столбцов, то матрица называется квадратной, а число строк- порядком этой матрицы.

При записи матрицы в общем виде элементы матрицы обозначаются одной буквой с двумя индексами. Первый индекс указывает номер строки, а второй –номер столбца.

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

Две матрицы с одинаковым числом строк называются матрицами одинаковых размеров.

Если элементы квадратной матрицы, расположенные симметрично относительно главной диагонали, равны, то матрица называется симметричной.

Если в матрице отличны от нуля только элементы, стоящие на главной диагонали, то матрица называется диагональной.

Рассмотрим ввод матриц в систему Mathematica.

Пусть дана матрица

Производим разложение определителя на множители - student2.ru

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

A={{5,8,12},{6,4,7},{9,11,6}}

{{5,8,12},{6,4,7},{9,11,6}}

С помощью функции MatrixForm эту матрицу можно переписать в привычной матричной форме, т.е. как прямоугольную таблицу.

MatrixForm[A]

Производим разложение определителя на множители - student2.ru

В сиcтеме Mathematica предусмотрена также возможность вводить матрицу, как прямоугольную таблицу. Для этого предусмотрена специальная кнопка на панели инструментов BasicInput.На этой кнопке помещено изображение матрицы размера Производим разложение определителя на множители - student2.ru . Нужно щёлкнуть по этой кнопке левой кнопкой мыши. Комбинация клавиш Производим разложение определителя на множители - student2.ru предназначена для добавления в матрицу столбца, а комбинация клавиш Ctr и Enter – для добавления строки. Удалять строки и столбцы можно обычными приёмами редактирования.

Производим разложение определителя на множители - student2.ru

Приведём примеры симметричной и диагональной матриц.

Производим разложение определителя на множители - student2.ru

Если мы хотим выписать, например, элемент матрицы A, стоящей во второй строке и в третьем столбце, то делается это следующим образом

Производим разложение определителя на множители - student2.ru

Если мы хотим получить все элементы второй строки матрицы A, то это можно сделать так

A[[2]]

{6,4,7}

Рассмотрим теперь основные операции над матрицами и правила выполнения этих операций в системе Mathematica.

1. Умножение матрицы на число.

При умножении матрицы на число каждый элемент матрицы умножается на это число.

Производим разложение определителя на множители - student2.ru

2. Прибавление к матрице числа.

При прибавлении к матрице числа это число прибавляется к каждому элементу матрицы.

Производим разложение определителя на множители - student2.ru

3. Сложение матриц.

При сложении двух матриц одинаковых размеров Производим разложение определителя на множители - student2.ru получается матрица тех же размеров. Каждый элемент этой матрицы равен сумме соответствующих элементов слагаемых.

Производим разложение определителя на множители - student2.ru

4. Умножение матриц.

Пусть имеется матрица Производим разложение определителя на множители - student2.ru размеров Производим разложение определителя на множители - student2.ru и матрица Производим разложение определителя на множители - student2.ru размеров Производим разложение определителя на множители - student2.ru (количество столбцов в матрице Производим разложение определителя на множители - student2.ru равно количеству строк в матрице Производим разложение определителя на множители - student2.ru ). Произведением матриц Производим разложение определителя на множители - student2.ru и Производим разложение определителя на множители - student2.ru называется матрица Производим разложение определителя на множители - student2.ru размера Производим разложение определителя на множители - student2.ru , элементы которой определяются по формулам

Производим разложение определителя на множители - student2.ru

Таким образом, элемент произведения матриц Производим разложение определителя на множители - student2.ru и Производим разложение определителя на множители - student2.ru , стоящий в Производим разложение определителя на множители - student2.ru й строке и Производим разложение определителя на множители - student2.ru м столбце, равен сумме произведений элементов Производим разложение определителя на множители - student2.ru й строки первой матрицы Производим разложение определителя на множители - student2.ru на соответствующие элементы Производим разложение определителя на множители - student2.ru го столбца второй матрицы Производим разложение определителя на множители - student2.ru

Отметим, что для операции умножения матриц коммутативный закон не выполняется.

Производим разложение определителя на множители - student2.ru

Матрица по своей конструкции является двухуровневым списком ( массивом). Элементами первого уровня для неё являются векторы. Вектор может использоваться для замены строки матрицы. При умножении на матрицу слева вектор ведёт себя как матрица- столбец, т.е. матрица из одного столбца. При умножении на матрицу справа вектор ведёт себя как матрица- строка, т.е. матрица из одной строки. В результате выполнения каждой из указанных операций мы получаем вектор.

При умножении двух векторов, мы, очевидно, получим число.

Производим разложение определителя на множители - student2.ru

5. Транспонирование матриц.

Пусть имеется матрица Производим разложение определителя на множители - student2.ru размером Производим разложение определителя на множители - student2.ru Построим матрицу Производим разложение определителя на множители - student2.ru размером Производим разложение определителя на множители - student2.ru следующим образом: в качестве первого столбца матрица Производим разложение определителя на множители - student2.ru возьмём первую строку матрицы Производим разложение определителя на множители - student2.ru , второго столбца- вторую строку матрицы Производим разложение определителя на множители - student2.ru и т.д. Построенная таким образом матрица называется транспонированной к матрице А.

Производим разложение определителя на множители - student2.ru

6. Элементарные преобразования строк матриц.

К элементарным преобразованиям строк матрицы относятся преобразования следующего вида:

1. Перестановка строк матрицы.

2. Умножение строки матрицы на число.

3. Прибавление к одной из строк матрицы другой строки, умноженной на некоторое число.

Рассмотрим выполнение этих преобразований в системе Mathematica.

Производим разложение определителя на множители - student2.ru

Умножим вторую строку этой матрицы на число 12.

Производим разложение определителя на множители - student2.ru

Прибавим к третьей строке матрицы первую строку, умножив её предварительно на 13.

Производим разложение определителя на множители - student2.ru

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

Производим разложение определителя на множители - student2.ru

Рассмотрим теперь схему преобразования матрицы с выбором главного элемента.

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

Затем выбираем наибольший по абсолютной величине элемент среди строк и столбцов, не рассмотренных ранее. Так продолжаем до тех пор, пока не переберём все строки матрицы.

Рассмотрим описанные преобразования матрицы на следующем примере.

Производим разложение определителя на множители - student2.ru

Наибольший по абсолютной величине элемент находится в первой строке. Делим все элементы первой строки на этот элемент.

A[[1]]=A[[1]]/A[[1,2]];

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

A[[2]]=A[[2]]-A[[1]]*A[[2,2]];

A[[3]]=A[[3]]-A[[1]]*A[[3,2]];

A[[4]]=A[[4]]-A[[1]]*A[[4,2]];

MatrixForm[A]

Производим разложение определителя на множители - student2.ru

Находим наибольший по абсолютной величине элемент. Первую строку не учитываем.

Max[Abs[{A[[2]],A[[3]],A[[4]]}]];

Наибольший по абсолютной величине элемент находится в третьей строке. Делим все элементы третьей строки на этот элемент.

A[[3]]=A[[3]]/A[[3,5]];

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

A[[1]]=A[[1]]-A[[3]]*A[[1,5]];

A[[2]]=A[[2]]-A[[3]]*A[[2,5]];

A[[4]]=A[[4]]-A[[3]]*A[[4,5]];

MatrixForm[A]

Производим разложение определителя на множители - student2.ru

Находим наибольший по абсолютной величине элемент. Первую и третью строки не учитываем не учитываем.

Max[Abs[{A[[2]],A[[4]]}]]

Наибольший по абсолютной величине элемент находится в четвёртой строке. Делим все элементы четвёртой строки на этот элемент

A[[4]]=A[[4]]/A[[4,3]];

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

A[[1]]=A[[1]]-A[[4]]*A[[1,3]];

A[[2]]=A[[2]]-A[[4]]*A[[2,3]];

A[[3]]=A[[3]]-A[[4]]*A[[3,3]];

MatrixForm[A]

Производим разложение определителя на множители - student2.ru

Находим максимальный по абсолютной величине элемент второй строки.

Max[Abs[A[[2]]]]

Этот элемент находится в четвёртом столбце. Делим вторую строку на максимальный элемент.

A[[2]]=A[[2]]/A[[2,4]];

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

A[[1]]=A[[1]]-A[[2]]*A[[1,4]];

A[[3]]=A[[3]]-A[[2]]*A[[3,4]];

A[[4]]=A[[4]]-A[[2]]*A[[4,4]];

MatrixForm[A]

Производим разложение определителя на множители - student2.ru

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

Рассмотрим пример выполнения этой команды.

Производим разложение определителя на множители - student2.ru

7. Вычисление определителя матрицы.

Система Mathematica позволяет вычислять определители матриц, элементами которых могут быть как числа, так и символьные величины. Рассмотрим некоторые примеры вычисления определителя матрицы.

Производим разложение определителя на множители - student2.ru

Det[A]

78853750347132695363584/30947323736623528969

Найдём приближённое значение полученного числа

Производим разложение определителя на множители - student2.ru

Вычислим теперь определитель, элементы которого являются символьными величинами.

X=Table[x[n],{n,1,8}];

Производим разложение определителя на множители - student2.ru

Вычисляем определитель.

Det[B];

Производим разложение определителя на множители

Factor[%]

Производим разложение определителя на множители - student2.ru

8. Вычисление обратной матрицы.

Пусть Производим разложение определителя на множители - student2.ru - матрица, на главой диагонали которой стоят единицы, а все остальные элементы равны нулю. Такая матрица называется единичной. Матрица Производим разложение определителя на множители - student2.ru называется обратной для матрицы Производим разложение определителя на множители - student2.ru , если выполняется соотношение

Производим разложение определителя на множители - student2.ru .

В системе Mathematica обратная матрица находится следующим образом

Производим разложение определителя на множители - student2.ru

10 Вычисление собственных чисел и собственных векторов матрицы.

Пусть Производим разложение определителя на множители - student2.ru -квадратная матрица порядка Производим разложение определителя на множители - student2.ru , Производим разложение определителя на множители - student2.ru единичная матрица того же порядка, Производим разложение определителя на множители - student2.ru вещественное число. Находим определитель матрицы Производим разложение определителя на множители - student2.ru и приравниваем его нулю. Корни полученного уравнения называются собственными числами матрицы Производим разложение определителя на множители - student2.ru . Можно доказать, что если матрица Производим разложение определителя на множители - student2.ru является симметричной, то её корни являются вещественными.

Покажем, как собственные числа матрицы находятся в системе Mathematica.

Производим разложение определителя на множители - student2.ru

Матрица Производим разложение определителя на множители - student2.ru называется положительно определённой, если все её собственные числа положительны.

Пусть Производим разложение определителя на множители - student2.ru -собственное число матрицы Производим разложение определителя на множители - student2.ru . Ненулевой вектор Производим разложение определителя на множители - student2.ru называется собственным вектором матрицы Производим разложение определителя на множители - student2.ru с собственным числом Производим разложение определителя на множители - student2.ru Производим разложение определителя на множители - student2.ru , если выполняется соотношение

Производим разложение определителя на множители - student2.ru .

Собственные векторы матрицы Производим разложение определителя на множители - student2.ru в системе Mathematica могут быть найдены следующим образом

Производим разложение определителя на множители - student2.ru

Система выдала координаты четырёх линейно независимых собственных векторов матрицы Производим разложение определителя на множители - student2.ru .

11. Вычисление ранга матрицы.

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

Несколько строк матрицы называются линейно независимыми, если ни одна из них не выражается линейно через остальные.

Рангом матрицы называется наибольшее число линейно независимых строк этой матрицы

Посмотрим, как система Mathematica вычисляет ранг матрицы.

Производим разложение определителя на множители - student2.ru

2. Ортогональные системы векторов.

Два вектора будем называть ортогональными, если сумма произведений одноимённых координат этих векторов (скалярное произведение) равна нулю.

В системе Mathematica скалярное произведение векторов Производим разложение определителя на множители - student2.ru и Производим разложение определителя на множители - student2.ru находится следующим образом

Производим разложение определителя на множители - student2.ru . (2.1)

Нормой (длиной) вектора называется квадратный корень из суммы квадратов координат этого вектора. В системе Mathematica норму вектора можно найти так

Производим разложение определителя на множители - student2.ru

Легко можно проверить, что если Производим разложение определителя на множители - student2.ru - ненулевой вектор, то норма вектора Производим разложение определителя на множители - student2.ru равна единице.

Два вектора называются ортогональными, если их скалярное произведение равно нулю.

Если система не содержит ненулевых векторов и векторы этой системы попарно ортогональны, то эта система линейно независима.

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

f1={3,8,11};

f2={5,-1,4};

f3={1,-2,3};

Проверяем, является ли система из заданных векторов линейно независимой. С этой целью строим матрицу, строки которой совпадают с заданными векторами, и находим её определитель.

f={f1,f2,f3};Det[f]

-172

Так как определитель отличен от нуля, то система линейно независима. Далее полагаем

g1=f1;e1=g1/Norm[g1]

Производим разложение определителя на множители - student2.ru

g2=f2-f2.e1*e1;e2=FullSimplify[g2/Norm[g2]]

Производим разложение определителя на множители - student2.ru

g3=f3-f3.e1*e1-f3.e2*e2;e3=FullSimplify[g3/Norm[g3]]

Производим разложение определителя на множители - student2.ru

Пользуясь определением легко проверить, что тройка векторов

{ Производим разложение определителя на множители - student2.ru } образует ортонормированный базис.

Пусть

a={7,2,11}

-заданный вектор. Найдём координаты Производим разложение определителя на множители - student2.ru этого вектора в построенном базисе

Производим разложение определителя на множители - student2.ru

Производим разложение определителя на множители - student2.ru

Производим разложение определителя на множители - student2.ru

Производим разложение определителя на множители - student2.ru

Производим разложение определителя на множители - student2.ru

Производим разложение определителя на множители - student2.ru

Наши рекомендации