Возведение матрицы в n ую степень. Некоторые свойства операций над матрицами.Матричные выражения

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

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

Для того, чтобы возвести матрицу в степень онлайн, понадобится ряд простых действий. Первым делом укажите размер матрицы, нажав на иконки «+» или «-» слева от неё. Затем в поле матрицы введите числа. Также нужно указать степень, в которую возводится матрица. А далее вам остаётся лишь кликнуть на кнопку: «Вычислить» в нижней части поля. Полученный результат будет достоверным и точным, если вы внимательно и правильно ввели все значения. Вместе с ним вам будет предоставлена детальная расшифровка решения.

К квадратным матрицам можно формально применять операцию возведения в степень 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. Создание матриц специального вида

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

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

Пусть 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)$.

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

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

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

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

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

Например, в случае требуется 15 шагов возведения в квадрат или около шагов простого степенного процесса для уничтожения компонент по с рабочей точностью. Следовательно, возведение в квадрат более выгодно для матриц приблизительно до 2000-го порядка, причем для матрицы 100-го порядка возведение в квадрат выгоднее почти в 20 раз.

Однако такое сравнение методов несколько сомнительно по двум причинам.

(i) Вряд ли мы станем проводить 28 000 шагов простого степенного процесса без применения каких-либо методов ускорения сходимости, а методы ускорения сходимости трудно применимы в процессе возведения матриц в квадрат.

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



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

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

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