Возведение матрицы в степень. Вычисление результатов выражений с матрицами

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

Возведение матрицы в степень.

Пусть k - целое неотрицательное число. Для любой квадратной матрицы $A_{n\times n}$ имеем: $$ A^k=\underbrace{A\cdot A\cdot \ldots \cdot A}_{k \; раз} $$

При этом полагаем, что $A^0=E$, где $E$ - единичная матрица соответствующего порядка.

Пример №4

Задана матрица $ A=\left(\begin{array} {cc} 1 & 2 \\ -1 & -3 \end{array} \right)$. Найти матрицы $A^2$ и $A^6$.

Согласно определению $A^2=A\cdot A$, т.е. для нахождения $A^2$ нам просто нужно умножить матрицу $A$ саму на себя. Операция умножения матриц рассматривалась в первой части темы , поэтому тут просто запишем процесс решения без подробных пояснений:

$$ A^2=A\cdot A=\left(\begin{array} {cc} 1 & 2 \\ -1 & -3 \end{array} \right)\cdot \left(\begin{array} {cc} 1 & 2 \\ -1 & -3 \end{array} \right)= \left(\begin{array} {cc} 1\cdot 1+2\cdot (-1) & 1\cdot 2+2\cdot (-3) \\ -1\cdot 1+(-3)\cdot (-1) & -1\cdot 2+(-3)\cdot (-3) \end{array} \right)= \left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right). $$

Чтобы найти матрицу $A^6$ у нас есть два варианта. Вариант первый: банально продолжить домножать $A^2$ на матрицу $A$:

$$ A^6=A^2\cdot A\cdot A\cdot A\cdot A. $$

Однако можно пойти несколько более простым путём, используя свойство ассоциативности умножения матриц. Расставим скобки в выражении для $A^6$:

$$ A^6=A^2\cdot A\cdot A\cdot A\cdot A=A^2\cdot (A\cdot A)\cdot (A\cdot A)=A^2\cdot A^2\cdot A^2. $$

Если при решении первым способом потребовалось бы четыре операции умножения, то для второго способа - лишь две. Поэтому пойдём вторым путём:

$$ A^6=A^2\cdot A^2\cdot A^2=\left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right)\cdot \left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right)\cdot \left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right)=\\= \left(\begin{array} {cc} -1\cdot (-1)+(-4)\cdot 2 & -1\cdot (-4)+(-4)\cdot 7 \\ 2\cdot (-1)+7\cdot 2 & 2\cdot (-4)+7\cdot 7 \end{array} \right)\cdot \left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right)= \left(\begin{array} {cc} -7 & -24 \\ 12 & 41 \end{array} \right)\cdot \left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right)=\\= \left(\begin{array} {cc} -7\cdot(-1)+(-24)\cdot 2 & -7\cdot (-4)+(-24)\cdot 7 \\ 12\cdot (-1)+41\cdot 2 & 12\cdot (-4)+41\cdot 7 \end{array} \right)= \left(\begin{array} {cc} -41 & -140 \\ 70 & 239 \end{array} \right). $$

Ответ : $A^2=\left(\begin{array} {cc} -1 & -4 \\ 2 & 7 \end{array} \right)$, $A^6=\left(\begin{array} {cc} -41 & -140 \\ 70 & 239 \end{array} \right)$.

Пример №5

Заданы матрицы $ A=\left(\begin{array} {cccc} 1 & 0 & -1 & 2 \\ 3 & -2 & 5 & 0 \\ -1 & 4 & -3 & 6 \end{array} \right)$, $ B=\left(\begin{array} {ccc} -9 & 1 & 0 \\ 2 & -1 & 4 \\ 0 & -2 & 3 \\ 1 & 5 & 0 \end{array} \right)$, $ C=\left(\begin{array} {ccc} -5 & -20 & 13 \\ 10 & 12 & 9 \\ 3 & -15 & 8 \end{array} \right)$. Найти матрицу $D=2AB-3C^T+7E$.

Вычисление матрицы $D$ начнем с нахождения результата произведения $AB$. Матрицы $A$ и $B$ можно перемножать, так как количество столбцов матрицы $A$ равно количеству строк матрицы $B$. Обозначим $F=AB$. При этом матрица $F$ будет иметь три столбца и три строки, т.е. будет квадратной (если этот вывод кажется неочевидным, посмотрите описание умножения матриц в первой части этой темы). Найдем матрицу $F$, вычислив все её элементы:

$$ F=A\cdot B=\left(\begin{array} {cccc} 1 & 0 & -1 & 2 \\ 3 & -2 & 5 & 0 \\ -1 & 4 & -3 & 6 \end{array} \right)\cdot \left(\begin{array} {ccc} -9 & 1 & 0 \\ 2 & -1 & 4 \\ 0 & -2 & 3 \\ 1 & 5 & 0 \end{array} \right)\\ \begin{aligned} & f_{11}=1\cdot (-9)+0\cdot 2+(-1)\cdot 0+2\cdot 1=-7; \\ & f_{12}=1\cdot 1+0\cdot (-1)+(-1)\cdot (-2)+2\cdot 5=13; \\ & f_{13}=1\cdot 0+0\cdot 4+(-1)\cdot 3+2\cdot 0=-3;\\ \\ & f_{21}=3\cdot (-9)+(-2)\cdot 2+5\cdot 0+0\cdot 1=-31;\\ & f_{22}=3\cdot 1+(-2)\cdot (-1)+5\cdot (-2)+0\cdot 5=-5;\\ & f_{23}=3\cdot 0+(-2)\cdot 4+5\cdot 3+0\cdot 0=7;\\ \\ & f_{31}=-1\cdot (-9)+4\cdot 2+(-3)\cdot 0+6\cdot 1=23; \\ & f_{32}=-1\cdot 1+4\cdot (-1)+(-3)\cdot (-2)+6\cdot 5=31;\\ & f_{33}=-1\cdot 0+4\cdot 4+(-3)\cdot 3+6\cdot 0=7. \end{aligned} $$

Итак, $F=\left(\begin{array} {ccc} -7 & 13 & -3 \\ -31 & -5 & 7 \\ 23 & 31 & 7 \end{array} \right)$. Пойдём далее. Матрица $C^T$ - транспонированная матрица для матрицы $C$, т.е. $ C^T=\left(\begin{array} {ccc} -5 & 10 & 3 \\ -20 & 12 & -15 \\ 13 & 9 & 8 \end{array} \right) $. Что же касаемо матрицы $E$, то это есть единичная матрица. В данном случае порядок этой матрицы равен трём, т.е. $E=\left(\begin{array} {ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)$.

В принципе, мы и дальше можем идти пошагово, но оставшееся выражение лучше рассматривать целиком, не отвлекаясь на вспомогательные действия. По сути, нам остались лишь операции умножения матриц на число, а также операции сложения и вычитания.

$$ D=2AB-3C^T+7E=2\cdot \left(\begin{array} {ccc} -7 & 13 & -3 \\ -31 & -5 & 7 \\ 23 & 31 & 7 \end{array} \right)-3\cdot \left(\begin{array} {ccc} -5 & 10 & 3 \\ -20 & 12 & -15 \\ 13 & 9 & 8 \end{array} \right)+7\cdot \left(\begin{array} {ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right) $$

Умножим матрицы в правой части равенства на соответствующие числа (т.е. на 2, 3 и 7):

$$ 2\cdot \left(\begin{array} {ccc} -7 & 13 & -3 \\ -31 & -5 & 7 \\ 23 & 31 & 7 \end{array} \right)-3\cdot \left(\begin{array} {ccc} -5 & 10 & 3 \\ -20 & 12 & -15 \\ 13 & 9 & 8 \end{array} \right)+7\cdot \left(\begin{array} {ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array} \right)=\\= \left(\begin{array} {ccc} -14 & 26 & -6 \\ -62 & -10 & 14 \\ 46 & 62 & 14 \end{array} \right)-\left(\begin{array} {ccc} -15 & 13 & 9 \\ -60 & 36 & -45 \\ 39 & 27 & 24 \end{array} \right)+\left(\begin{array} {ccc} 7 & 0 & 0 \\ 0 & 7 & 0 \\ 0 & 0 & 7 \end{array} \right) $$

Выполним последние действия: вычитание и сложение:

$$ \left(\begin{array} {ccc} -14 & 26 & -6 \\ -62 & -10 & 14 \\ 46 & 62 & 14 \end{array} \right)-\left(\begin{array} {ccc} -15 & 30 & 9 \\ -60 & 36 & -45 \\ 39 & 27 & 24 \end{array} \right)+\left(\begin{array} {ccc} 7 & 0 & 0 \\ 0 & 7 & 0 \\ 0 & 0 & 7 \end{array} \right)=\\ =\left(\begin{array} {ccc} -14-(-15)+7 & 26-30+0 & -6-9+0 \\ -62-(-60)+0 & -10-36+7 & 14-(-45)+0 \\ 46-39+0 & 62-27+0 & 14-24+7 \end{array} \right)= \left(\begin{array} {ccc} 8 & -4 & -15 \\ -2 & -39 & 59 \\ 7 & 35 & -3 \end{array} \right). $$

Задача решена, $D=\left(\begin{array} {ccc} 8 & -4 & -15 \\ -2 & -39 & 59 \\ 7 & 35 & -3 \end{array} \right)$.

Ответ : $D=\left(\begin{array} {ccc} 8 & -4 & -15 \\ -2 & -39 & 59 \\ 7 & 35 & -3 \end{array} \right)$.

Пример №6

Пусть $f(x)=2x^2+3x-9$ и матрица $ A=\left(\begin{array} {cc} -3 & 1 \\ 5 & 0 \end{array} \right) $. Найти значение $f(A)$.

Если $f(x)=2x^2+3x-9$, то под $f(A)$ понимают матрицу:

$$ f(A)=2A^2+3A-9E. $$

Именно так определяется многочлен от матрицы. Итак, нам нужно подставить матрицу $A$ в выражение для $f(A)$ и получить результат. Так как все действия были подробно разобраны ранее, то тут я просто приведу решение. Если процесс выполнения операции $A^2=A\cdot A$ для вас неясен, то советую глянуть описание умножения матриц в первой части этой темы.

$$ f(A)=2A^2+3A-9E=2A\cdot A+3A-9E=2 \left(\begin{array} {cc} -3 & 1 \\ 5 & 0 \end{array} \right)\cdot \left(\begin{array} {cc} -3 & 1 \\ 5 & 0 \end{array} \right)+3 \left(\begin{array} {cc} -3 & 1 \\ 5 & 0 \end{array} \right)-9\left(\begin{array} {cc} 1 & 0 \\ 0 & 1 \end{array} \right)=\\ =2 \left(\begin{array} {cc} (-3)\cdot(-3)+1\cdot 5 & (-3)\cdot 1+1\cdot 0 \\ 5\cdot(-3)+0\cdot 5 & 5\cdot 1+0\cdot 0 \end{array} \right)+3 \left(\begin{array} {cc} -3 & 1 \\ 5 & 0 \end{array} \right)-9\left(\begin{array} {cc} 1 & 0 \\ 0 & 1 \end{array} \right)=\\ =2 \left(\begin{array} {cc} 14 & -3 \\ -15 & 5 \end{array} \right)+3 \left(\begin{array} {cc} -3 & 1 \\ 5 & 0 \end{array} \right)-9\left(\begin{array} {cc} 1 & 0 \\ 0 & 1 \end{array} \right) =\left(\begin{array} {cc} 28 & -6 \\ -30 & 10 \end{array} \right)+\left(\begin{array} {cc} -9 & 3 \\ 15 & 0 \end{array} \right)-\left(\begin{array} {cc} 9 & 0 \\ 0 & 9 \end{array} \right)=\left(\begin{array} {cc} 10 & -3 \\ -15 & 1 \end{array} \right). $$

Ответ : $f(A)=\left(\begin{array} {cc} 10 & -3 \\ -15 & 1 \end{array} \right)$.

К квадратным матрицам можно формально применять операцию возведения в степень n. Для этого п должно быть целым числом. Результат данной операции приведен в табл. 9.1. Ввести оператор возведения матрицы м в степень n можно точно так же, как и для скалярной величины: нажав кнопку Raise to Power (Возвести в степень) на панели Calculator (Калькулятор) или нажав клавишу <А>. После появления местозаполнителя в него следует ввести значение степени n.

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

0 единичная матрица размерности матрицы M

1 сама матрица M

1 M -1 - матрица, обратная M

2,3,... MM, (MM)M, ...

2, -3, ... M -1 M -1 , (M -1 M -1)M -1 , ...

Некоторые примеры возведения матриц в степень приведены в листинге 9.15.

Листинг 9.15. Примеры возведения квадратной матрицы в целую степень

Векторизация массивов

Векторная алгебра Mathcad включает несколько необычный оператор, который называется оператором векторизации (vectorize operator). Этот оператор предназначен, как правило, для работы с массивами. Он позволяет провести однотипную операцию над всеми элементами массива (т. е. матрицы или вектора), упрощая тем самым программирование циклов. Например, иногда требуется умножить каждый элемент одного вектора на соответствующий элемент другого вектора. Непосредственно такой операции в Mathcad нет, но ее легко осуществить с помощью векторизации (листинг 9.16). Для этого:

· Введите векторное выражение, как показано во второй строчке листинга (обратите внимание, что в таком виде символ умножения обозначает оператор скалярного произведения векторов).

· Переместите курсор таким образом, чтобы линии ввода выделяли все выражение, которое требуется подвергнуть векторизации (рис. 9.3).

· Введите оператор векторизации, нажав кнопку Vectorize (Векторизация) на панели Matrix (Матрица) (рис. 9.3), или сочетанием клавиш +<->.

· Введите <=>, чтобы получить результат.

Рис. 9.3. Оператор векторизации

Листинг 9.16. Использование векторизации для перемножения элементов вектора



Оператор векторизации можно использовать только с векторами и матрицами одинакового размера.

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

Листинг 9.17. Векторизация необязательна для большинства функций Mathcad

Символьные операции с матрицами

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

Листинг 9.18. Примеры символьных операций над векторами и матрицами

Смело используйте символьный процессор в качестве мощного математического справочника. Например, когда Вы хотите вспомнить какое-либо определение из области линейной алгебры (так, правила перемножения и обращения матриц показаны в первых строках листинга 9.18).

Матричные функции

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

Функции создания матриц

Самым наглядным способом создания матрицы или вектора является применение первой кнопки панели инструментов Matrix (Матрицы). Однако в большинстве случаев, в частности при программировании сложных проектов, удобнее бывает создавать массивы с помощью встроенных функций.

Определение элементов матрицы через функцию

· matrix(M,N,f) - создание матрицы размера M*N, каждый i, j элемент которой есть f(i, j) (листинг 9.19);

o M - количество строк;

o N - количество столбцов;

o f (i, j) - функция.

Листинг 9.19. Создание матрицы

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

· СгеаtеSрасе(F(или f1, f2, f3), t0, t1, tgrid, fmap) - создание вложенного массива, представляющего х-, у- и z-координаты параметрической пространственной кривой, заданной функцией р;

      • F(t) - векторная функция из трех элементов, заданная параметрически относительно единственного аргумента t;
      • f1(t) ,f2(t), f3(t) - скалярные функции;
      • t0 - нижний предел t (по умолчанию -5);
      • t1 - верхний предел t (по умолчанию 5);
      • tgrid - число точек сетки по переменной t (по умолчанию 2о);
      • fmap - векторная функция от трех аргументов, задающая преобразование координат.

Рис. 9.4. Использование функции CreateSpace с разным набором параметров

Пример использования функции CreateSpace показан на рис. 9.4. Заметьте, для построения графика спирали не потребовалось никакого дополнительного кода, кроме определения параметрической зависимости в вектор-функции F.

Функция создания матрицы для графика трехмерной поверхности устроена совершенно аналогично, за тем исключением, что для определения поверхности требуется не одна, а две переменных. Пример ее использования иллюстрирует рис. 9.5.

Рис. 9.5. Использование функции CreateMesh с разным набором параметров

· CreateMesh(F(или g, или f1, f2, f3) , s0, s1, t0, t1, sgrid, tgrid, fmap) - создание вложенного массива, представляющего х-, у- и z-координаты параметрической поверхности, заданной функцией F;

      • F(s,t) - векторная функция из трех элементов, заданная параметрически относительно двух аргументов s и t;
      • g (s, t) - скалярная функция;
      • f1(s,t),f2(s,t),f3(s,t) - скалярные функции;
      • s0, t0 - нижние пределы аргументов s, t (по умолчанию -5);
      • s1, t1 - верхние пределы аргументов s, t (по умолчанию 5);
      • sgrid, tgrid - число точек сетки по переменным s и t (по умолчанию 20);
      • fmap - векторная функция из трех элементов от трех аргументов, задающая преобразование координат.

Примеры вложенных массивов, которые создаются функциями CreateMesh и CreateSpace, приведены в листинге 9.20. Каждая матрица из числа трех вложенных матриц, образующих массив, определяет х-, у- и z-координаты точек поверхности или кривой, соответственно.

Листинг 9.20. Результат действия функций CreateMesh и CreateSpace (рис. 9.4 - 9.5)

Создание матриц специального вида

В Mathcad легко создать матрицы определенного вида с помощью одной из встроенных функций. Примеры использования этих функций приведены в листинге 9.21.

· identity (N) - единичная матрица размера N*N;

· diag(v) - диагональная матрица, на диагонали которой находятся элементы вектора v;

· geninv(A) - создание матрицы, обратной (слева) матрице А;

· rref (A) - преобразование матрицы или вектора А в ступенчатый вид;

      • N - целое число;
      • v - вектор;
      • А - матрица из действительных чисел.

Размер N*M матрицы А для функции geninv должен быть таким, чтобы N>M.

Листинг 9.21. Создание матриц специального вида

Некоторые свойства операций над матрицами.
Матричные выражения

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

Некоторые свойства операций над матрицами

Существует достаточно много свойств, которые касаются действий с матрицами, в той же Википедии можно полюбоваться стройными шеренгами соответствующих правил. Однако на практике многие свойства в известном смысле «мертвЫ», поскольку в ходе решения реальных задач используются лишь некоторые из них. Моя цель – рассмотреть прикладное применение свойств на конкретных примерах, и если вам необходима строгая теория, пожалуйста, воспользуйтесь другим источником информации.

Рассмотрим некоторые исключения из правила , которые потребуются для выполнения практических задач.

Если у квадратной матрицы существует обратная матрица , то их умножение коммутативно:

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

При этом справедливо следующее свойство : если произвольную матрицу умножить слева или справа на единичную матрицу подходящих размеров, то в результате получится исходная матрица:

Как видите, здесь также имеет место коммутативность матричного умножения.

Возьмём какую-нибудь матрицу, ну, скажем, матрицу из предыдущей задачи: .

Желающие могут провести проверку и убедиться, что:

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

Коммутативность числового множителя относительно умножения матриц

Для матриц и действительного числа справедливо следующее свойство:

То есть числовой множитель можно (и нужно) вынести вперёд, чтобы он «не мешал» умножить матрицы.

Примечание : вообще говоря, формулировка свойства неполная – «лямбду» можно разместить в любом месте между матрицами, хоть в конце. Правило остаётся справедливым, если перемножаются три либо бОльшее количество матриц.

Пример 4

Вычислить произведение

Решение :

(1) Согласно свойству перемещаем числовой множитель вперёд. Сами матрицы переставлять нельзя!

(2) – (3) Выполняем матричное умножение.

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

Ответ :

Маленькая шарада для самостоятельного решения:

Пример 5

Вычислить , если

Решение и ответ в конце урока.

Какой технический приём важен в ходе решения подобных примеров? С числом разбираемся в последнюю очередь .

Прицепим к локомотиву ещё один вагон:

Как умножить три матрицы?

Прежде всего, ЧТО должно получиться в результате умножения трёх матриц ? Кошка не родит мышку. Если матричное умножение осуществимо, то в итоге тоже получится матрица. М-да, хорошо мой преподаватель по алгебре не видит, как я объясняю замкнутость алгебраической структуры относительно её элементов =)

Произведение трёх матриц можно вычислить двумя способами:

1) найти , а затем домножить на матрицу «цэ»: ;

2) либо сначала найти , потом выполнить умножение .

Результаты обязательно совпадут, и в теории данное свойство называют ассоциативностью матричного умножения :

Пример 6

Перемножить матрицы двумя способами

Алгоритм решения двухшаговый: находим произведение двух матриц, затем снова находим произведение двух матриц.

1) Используем формулу

Действие первое:

Действие второе:

2) Используем формулу

Действие первое:

Действие второе:

Ответ :

Более привычен и стандартен, конечно же, первый способ решения, там «как бы всё по порядку». Кстати, по поводу порядка. В рассматриваемом задании часто возникает иллюзия, что речь идёт о каких-то перестановках матриц. Их здесь нет. Снова напоминаю, что в общем случае ПЕРЕСТАВЛЯТЬ МАТРИЦЫ НЕЛЬЗЯ . Так, во втором пункте на втором шаге выполняем умножение , но ни в коем случае не . С обычными числами такой бы номер прошёл, а с матрицами – нет.

Свойство ассоциативности умножения справедливо не только для квадратных, но и для произвольных матриц – лишь бы они умножались:

Пример 7

Найти произведение трёх матриц

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

Свойство ассоциативности матричного умножения имеет место быть и для бОльшего количества множителей.

Теперь самое время вернуться к степеням матриц. Квадрат матрицы рассмотрен в самом начале и на повестке дня вопрос:

Как возвести матрицу в куб и более высокие степени?

Данные операции также определены только для квадратных матриц. Чтобы возвести квадратную матрицу в куб, нужно вычислить произведение:

Фактически это частный случай умножения трёх матриц, по свойству ассоциативности матричного умножения: . А матрица, умноженная сама на себя – это квадрат матрицы:

Таким образом, получаем рабочую формулу:

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

Пример 8

Возвести матрицу в куб.

Это небольшая задачка для самостоятельного решения.

Возведение матрицы в четвёртую степень проводится закономерным образом:

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

1) . Иными словами, сначала находим , затем домножаем его на «бэ» – получаем куб, и, наконец, выполняем умножение ещё раз – будет четвёртая степень.

2) Но существует решение на шаг короче: . То есть, на первом шаге находим квадрат и, минуя куб, выполняем умножение

Дополнительное задание к Примеру 8:

Возвести матрицу в четвёртую степень.

Как только что отмечалось, сделать это можно двумя способами:

1) Коль скоро известен куб, то выполняем умножение .

2) Однако, если по условию задачи требуется возвести матрицу только в четвёртую степень , то путь выгодно сократить – найти квадрат матрицы и воспользоваться формулой .

Оба варианта решения и ответ – в конце урока.

Аналогично матрица возводится в пятую и более высокие степени. Из практического опыта могу сказать, что иногда попадаются примеры на возведение в 4-ю степень, а вот уже пятой степени что-то не припомню. Но на всякий случай приведу оптимальный алгоритм:

1) находим ;
2) находим ;
3) возводим матрицу в пятую степень: .

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

Во втором разделе урока ожидается не менее пёстрая тусовка.

Матричные выражения

Повторим обычные школьные выражения с числами. Числовое выражение состоит из чисел, знаков математических действий и скобок, например: . При расчётах справедлив знакомый алгебраический приоритет: сначала учитываются скобки , затем выполняется возведение в степень / извлечение корней , потом умножение / деление и в последнюю очередь – сложение /вычитание .

Если числовое выражение имеет смысл, то результат его вычисления является числом , например:

Матричные выражения устроены практически так же! С тем отличием, что главными действующими лицами выступают матрицы. Плюс некоторые специфические матричные операции, такие, как транспонирование и нахождение обратной матрицы.

Рассмотрим матричное выражение , где – некоторые матрицы. В данном матричном выражении три слагаемых и операции сложения/вычитания выполняются в последнюю очередь.

В первом слагаемом сначала нужно транспонировать матрицу «бэ»: , потом выполнить умножение и внести «двойку» в полученную матрицу. Обратите внимание, что операция транспонирования имеет более высокий приоритет, чем умножение . Скобки, как и в числовых выражениях, меняют порядок действий: – тут сначала выполняется умножение , потом полученная матрица транспонируется и умножается на 2.

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

С третьим слагаемым всё очевидно: возводим матрицу в куб и вносим «пятёрку» в полученную матрицу.

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

Все задания будут из реальных контрольных работ, и мы начнём с самого простого:

Пример 9

Даны матрицы . Найти:

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


Сложение выполнить невозможно, поскольку матрицы разных размеров.

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

Пробуем вычислить второе выражение:

Тут всё нормально.

Ответ : действие выполнить невозможно, .

П РИМЕЧАНИЕ

В Mathcad 14 и 15 векторизация может осуществляться не только в численных, но и в символьных (аналитических) расчетах.

Большинство неспецифических функций Mathcad не требуют векторизации для проведения одной и той же операции над всеми элементами вектора. Например, аргументом тригонометрических функций по определению является скаляр. Если попытаться вычислить экспоненту от векторной величины, Mathcad осуществит векторизацию по умолчанию, возведя в степень e каждый элемент и выдав в качестве результата соответствующий вектор (листинг 7.13).

Листинг 7.13. Векторизация аргумента необязательна для большинства встроенных функций Mathcad

7.3. Вычисление определителей и обращение квадратных матриц

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

7.3.1. Определитель квадратной матрицы

Определитель (Determinant) матрицы обозначается стандартным математическим символом. Чтобы ввести оператор нахождения определителя матрицы, можно нажать кнопкуОпределитель (Determinant) на панели инструментовМатрица (Matrix) (листинг 7.14) или набрать на клавиатуре <|> (нажав клавиши +<\>). В результате любого из этих действий появляется местозаполнитель, в который следует поместить матрицу. Чтобы вычислить определитель уже введенной матрицы:

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

2. Введите оператор нахождения определителя матрицы.

3. Введите знак равенства (либо символьного вывода), чтобы вычислить определитель (численно или аналитически соответственно, как это показано в листин-

В НИМАНИЕ!

Не путайте операторы вычисления определителя квадратной матрицы и длины вектора. Начиная с Mathcad 12, введен принудительный контроль действий пользователя при вводе этих операторов во избежание путаницы (т. к. один и тот же символ используется для этих

двух операций). При попытке вычислить определитель матрицы с помощью оператора A , введенного с панелиКалькулятор (Calculator), а неМатрица (Matrix), будет выдано сообщение об ошибке, а результат вычисления детерминанта появится только после того, как пользователь вызовет контекстное меню и подтвердит в нем, что он собирается вычислить именно определитель матрицы. То же самое касается и длины вектора, если попытаться ввести его не с панелиКалькулятор (Calculator), а с панелиМатрица (Matrix).

Листинг 7.14. Вычисление определителя квадратной матрицы

7.3.2. Ранг матрицы

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

Для вычисления ранга в Mathcad предназначена функция rank (листинг 7.15).

 rank(A) - ранг матрицы: A - матрица.

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

7.3.3. Обращение квадратной матрицы

Поиск обратной матрицы возможен, если матрица квадратная и ее определитель не равен нулю. Произведение исходной матрицы на обратную по определению является единичной матрицей. Для ввода оператора поиска обратной матрицы нажмите кнопкуОбращение (Inverse) на панели инструментовМатрица (Matrix). В листинге 7.16 приведен пример поиска обратной матрицы и последующая проверка правильности ее вычисления.

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

7.3.4. Возведение квадратной матрицы в степень

К квадратным матрицам можно формально применять операцию возведения в степень n . Для этогоn должно быть целым числом. Результат данной операции приведен в табл. 7.1. Ввести оператор возведения матрицыM в степеньn можно точно так же, как и для скалярной величины: нажав кнопкуВозведение в степень (Raise to Power) на панелиКалькулятор (Calculator) или нажав клавишу <^>. После появления местозаполнителя в него следует ввести значение степениn .

Таблица 7.1. Правила возведения матрицы в степень

Единичная матрица размерности матрицы M

Сама матрица M

M -1 - матрица, обратнаяM

Линейная алгебра

Таблица 7.1 (окончание)

2 ,3 , ...

M M, (M M) M, ...

–2 , –3 , ...

M-1 M-1 , (M-1 M-1 ) M-1 , ...

Примеры возведения матрицы в степень приведены в листинге 7.17.

Листинг 7.17. Возведение квадратной матрицы в целую степень

7.3.5. Матричные нормы

В линейной алгебре используются различные векторные и матричные нормы (norm), которые ставят в соответствие матрице некоторую скалярную числовую характеристику. Норма матрицы отражает порядок величины матричных элементов. В разных специфических задачах линейной алгебры применяются различные виды норм. Mathcad имеет четыре встроенных функции для расчета разных норм квадратных матриц:

 norm1(A) - норма в пространстве L1;

 norm2(A) - норма в пространстве L2;



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: