Видео-урок: Сила матрицы
Стенограмма видео
В этом видео мы научимся используйте умножение матриц, чтобы определить квадрат и куб квадратной матрицы. Хотя методы, которые мы используем, могут быть расширены до более высоких степеней, в этом видео мы будем иметь дело только с возведением в квадрат и куб. Важно отметить, что мы можем возведите любую квадратную матрицу 𝑛 на 𝑛 в любую степень. В этом видео мы будем иметь дело только с матрицами два на два и три на три.
Давайте начнем с ключа определения. Для квадратной матрицы 𝐴 и положительных интегрируем 𝑘, 𝑘-я степень 𝐴 определяется умножением этой матрицы на себя неоднократно. То есть 𝐴 в 𝑘 степени равно равно 𝐴, умноженному на 𝐴, умноженному на 𝐴, и так далее, умноженному на 𝐴, где имеется 𝑘 экземпляров матрицы 𝐴. В этом видео мы посчитаем матрица 𝐴 в квадрате путем умножения матрицы 𝐴 на матрицу 𝐴.
В качестве альтернативы мы можем умножить матрица 𝐴 в квадрате на матрицу 𝐴. Важно отметить, что принятие мощность матрицы хорошо определена только в том случае, если матрица квадратная. Если матрица 𝐴 имеет порядок 𝑛 по 𝑛, тогда этот порядок будет общим для 𝐴 в квадрате, 𝐴 в кубе и так далее. Возведение в квадрат и кубирование матрицы не изменять его порядок. Как уже говорилось, в этом видео, мы сосредоточимся на квадратных матрицах два на два и три на три. Сейчас мы рассмотрим пример где нам нужно возвести в квадрат матрицу два на два.
Учитывая, что матрица 𝐴 равна минус шесть, один, минус пять, пять, найти 𝐴 в квадрате.
Напомним, что при работе с степени матриц, матрица 𝐴 в квадрате будет определена только в том случае, если матрица 𝐴 квадрат.
В этом случае 𝐴 представляет собой два на два матрица. Чтобы вычислить 𝐴 в квадрате, нам нужно умножьте матрицу 𝐴 на себя. Это равно минус шесть, один, минус пять, пять умножить на минус шесть, один, минус пять, пять. При перемножении матриц начинаем умножением элементов первой строки первой матрицы на первый столбец во второй матрице. Верхний левый элемент или компонент нашей матрицы будет равно отрицательным шести, умноженным на отрицательные шесть плюс один. умножить на минус пять.Далее умножаем первую строку первую матрицу вторым столбцом второй матрицы. Это дает нам минус шесть умножить на один плюс один умножить на пять. Затем мы можем повторить этот процесс для вторая строка первой матрицы. Это дает нам минус пять умножить на минус шесть плюс пять умножить на минус пять и минус пять умножить на один плюс пять умножить на пять.
Теперь рассмотрим, что происходит когда нам нужно возвести в квадрат и кубировать матрицу три на три.
Рассмотрим матрицу 𝐴, которая равно единице, единице, двум, единице, нулю, единице, двум, единице, нулю. В этом есть две части вопрос. Сначала найдите 𝐴 в квадрате и во-вторых, найти 𝐴 в кубе.
Напоминаем, что для возведения в квадрат любая матрица, мы умножаем ее саму на себя. Также для матрицы 𝐴 в квадрате быть корректно определенной, матрица 𝐴 должна быть квадратной матрицей. В данном случае это матрица три на три. Это означает, что 𝐴 в квадрате равно на один, один, два, один, ноль, один, два, один, ноль, умноженный на один, один, два, один, ноль, один, два, один, ноль. При перемножении двух матриц мы начните с умножения элементов в первой строке первой матрицы на первый столбец второй матрицы. Элемент в верхнем левом углу будет равно один раз один плюс один раз один плюс два раза два. Это равно шести.
Далее умножаем элементы первую строку первой матрицы вторым столбцом второй матрицы. Это дает нам один, умноженный на один плюс один, умноженный на ноль, плюс два, умноженный на один, что равно трем. Переходим к третьему столбцу вторая матрица, мы также получаем ответ три, как один умножить на два плюс один умножить на один плюс два умножить на ноль будет три. Затем мы повторяем этот процесс для вторая строка первой матрицы. Это дает нам ответы из трех, два и два. Наконец, умножая третью строку первой матрицы по каждому из столбцов второй матрицы дает нам значения три, два и пять. 𝐴 в квадрате три на три матрица шесть, три, три, три, два, два, три, два, пять.
Вторая часть нашего вопроса просит нас найти матрицу 𝐴 в кубе. Мы можем сделать это, умножив матрицы 𝐴 на квадрат матрицы 𝐴 или путем умножения квадрата матрицы 𝐴 на матрица 𝐴. В этом вопросе мы будем использовать первый метод. 𝐴 в кубе равно одному, одному, двум, один, ноль, один, два, один, ноль умножить на шесть, три, три, три, два, два, три, два, пять. Используем тот же метод, что и первый часть вопроса. Начнем с умножения элементы первой строки первой матрицы по первому столбцу второй матрица. Один умножить на шесть плюс один умножить на три плюс два умножить на три равно 15.
Умножение первой строки первая матрица вторым столбцом второй матрицы дает нам девять. И умножение на третий столбец второй матрицы дает нам 15. Вторая строка матрицы 𝐴 cubed состоит из элементов девять, пять и восемь. Наконец, третья строка равна 15, восемь и восемь. Матрица 𝐴 в кубе равна 15, девять, 15, девять, пять, восемь, 15, восемь, восемь. Если нам дана любая квадратная матрица 𝐴, мы можем вычислить 𝐴 в квадрате, умножив матрицу саму на себя, а 𝐴 в кубе на умножение матрицы 𝐴 на квадрат матрицы 𝐴.
В нашем следующем вопросе мы упростить выражение, используя квадратные и кубические матрицы.
Дана матрица 𝐴, равная до четырех, ноль, минус три, семь, вычислить 𝐴 в кубе минус три 𝐴 в квадрате.
Напомним, что при получении любого квадратную матрицу 𝐴, мы можем вычислить матрицу 𝐴 в квадрате, умножив 𝐴 на сам.
В этом вопросе 𝐴 в квадрате равно четырем, нулю, отрицательным трем, семи, умноженным на четыре, нулю, отрицательным трем, Семь. При перемножении матриц начинаем путем умножения элементов первой строки первой матрицы на элементы первый столбец второй матрицы. Четыре умножить на четыре плюс ноль умножить на минус три равно 16. Затем мы повторяем это для второго столбец второй матрицы. Четыре умножить на ноль плюс ноль умножить на семь равно нулю.Далее умножаем вторую строку первую матрицу каждым из столбцов второй матрицы. Это дает нам минус 33 и 49. 𝐴 в квадрате равно матрица два на два 16, ноль, минус 33, 49. В нашем выражении мы хотим три 𝐴 в квадрате. Это означает, что нам нужно умножить матрица 𝐴 в квадрате на скаляр или константу три. Умножаем каждый элемент на три, что дает нам 48, ноль, минус 99, 147.
Теперь у нас есть матрица для 𝐴 в кубе а также на три 𝐴 в квадрате. Нас спрашивают в вопросе вычесть эти. У нас есть 64, ноль, минус 279, 343 минус 48, ноль, минус 99, 147. При вычитании матриц мы вычесть отдельные компоненты или элементы. Это означает, что мы начинаем с вычитание 48 из 64. Это равно 16. Вычитание верхних правых элементов дает нам ноль. Отрицательное 279 минус отрицательное 99 то же самое, что добавить 99 к минусу 279. Это равно минусу 180. Наконец, 343 минус 147 равно 196.
Если матрица 𝐴 равна четырем, ноль, минус три, семь, тогда 𝐴 в кубе минус три 𝐴 в квадрате равно 16, ноль, минус 180, 196.В нашем последнем вопросе мы решить систему линейных уравнений, применяя операции над матрицами.
Учитывая, что матрица 𝑀 равна до пяти, шести, отрицательных пяти, отрицательных четырех, найдите значения 𝑥 и 𝑦, которые удовлетворяют 𝑀 в квадрате плюс 𝑥𝑀 плюс 𝑦𝐼 равно 𝑂, где 𝑂 — нулевая матрица порядка два на два, а 𝐼 — единичная матрица порядка два на два.
Напомним, что любая нулевая матрица имеет все элементы равны нулю. Следовательно, матрица 𝑂 равна до нуля, нуля, нуля, нуля. Единичная или единичная матрица имеет единицы на его главной или ведущей диагонали и нули в других местах. Следовательно, 𝐼 равно единице, ноль, ноль, один. При умножении любой матрицы на константа, в этом вопросе 𝑥 и 𝑦 мы просто умножаем каждый из элементов в матрица константой.
При перемножении матриц мы умножить каждую строку первой матрицы на каждый столбец второй матрица. Пять умножить на пять плюс шесть умножить на минус пять равно минус пять. Умножение элементов первая строка в первой матрице вторым столбцом во второй матрице дает нам шесть. Повторяем это для второго ряда первой матрицы, мы получаем отрицательные элементы пять и отрицательные 14. Подставляя четыре матрицы в наше уравнение, у нас есть минус пять, шесть, минус пять, минус 14 плюс пять 𝑥, шесть 𝑥, минус пять 𝑥, минус четыре 𝑥 плюс 𝑦, ноль, ноль, 𝑦 равно нулю, ноль, ноль, ноль. Теперь мы можем составить четыре уравнения сравнение соответствующих компонентов или элементов.
Сравнивая верхние левые элементы, мы есть минус пять плюс пять 𝑥 плюс 𝑦 равно нулю. Назовем это уравнение первым. Верхние правые элементы дают нам шесть плюс шесть 𝑥 плюс ноль равно нулю. Так как был только один неизвестный в это уравнение, мы можем решить его. Вычитание шести с обеих сторон дает нам шесть 𝑥 равно минус шесть. Разделив обе стороны этого уравнение на шесть дает нам 𝑥 равно отрицательной единице. Затем мы можем заменить это значение обратно в уравнение один, чтобы вычислить значение 𝑦. Упрощая левую часть, мы иметь минус 10 плюс 𝑦 равно нулю. Это означает, что 𝑦 равно 10. Значения 𝑥 и 𝑦 равны минус 1 и 10 соответственно.
Однако нам нужно проверить, что эти значения относятся к нижней строке наших матриц. Здесь мы имеем два уравнения: минус пять плюс минус пять 𝑥 плюс ноль равно нулю и минус 14 плюс минус четыре 𝑥 плюс 𝑦 равно нулю. Добавление пяти 𝑥 к обеим сторонам первое уравнение дает нам пять 𝑥 равно минус пять. Разделив обе части на пять, получим что 𝑥 снова равно отрицательной единице. Во втором уравнении подстановка 𝑥 отрицательная единица дает нам минус 14 плюс четыре плюс 𝑦 равно нуль. Это лишний раз подтверждает, что 𝑦 равна 10. Если матрица 𝑀 равна пяти, шести, минус пять, минус четыре, затем значения 𝑥 и 𝑦, которые удовлетворяют уравнению 𝑀 в квадрате плюс 𝑥𝑀 плюс 𝑦𝐼 равно 𝑂 равно 𝑥 равно отрицательной единице и 𝑦 равно равно 10,
Теперь мы суммируем ключ очки из этого видео. Для квадратной матрицы 𝐴 и положительных целое число 𝑘, 𝐴 в 𝑘 степени равно 𝐴 умноженному на 𝐴 умноженному на 𝐴, и так далее, умноженное на 𝐴, где есть 𝑘 экземпляров 𝐴. Сила матрицы только хорошо определяется, если матрица квадратная. В этом видео мы разобрались квадратные матрицы два на два и три на три. Однако это распространяется на любой 𝑛 на 𝑛 квадратная матрица. В этом видео мы использовали общий правило для квадратных и кубических матриц, где 𝐴 в квадрате равно 𝐴, умноженному на 𝐴 а 𝐴 в кубе равно 𝐴 в квадрате, умноженному на 𝐴 или 𝐴, умноженному на 𝐴 в квадрате. Этот метод также может быть расширен при общении с высшими силами.
Как быстро вы можете перемножать матрицы?
Предположим, вы хотите перемножить две матрицы 2 × 2 вместе. Сколько операций умножения требуется? По-видимому, 8, и все же в 1969 году Фолькер Штрассен обнаружил, что он может сделать это с 7 умножениями.
Верхняя и нижняя границы
Очевидный способ умножения двух n × n матриц требует n ³ операций: каждая запись в произведении является скалярным произведением строки из первой матрицы и столбца из вторая матрица. Это составляет n ² внутренние произведения, каждое из которых требует n умножений.
Вы можете умножить две квадратные матрицы за O( n ³) операций описанным выше методом, и это должно занять не менее O( n ²) операций, потому что произведение зависит от всех 2 n ² элементов двух матриц. Результат Штрассена предполагает, что оптимальный алгоритм умножения матриц требует O( n k ) операций для некоторых k между 2 и 3. Применяя алгоритм Штрассена рекурсивно к большим матрицам, вы можете получить k = log 2 7 = 2,807.
Наиболее известное значение на данный момент k = 2,3728639.
Границы границ
Вчера в блоге Gödel’s Lost Letter и P = NP была опубликована статья «Ограничения на умножение матриц», в которой они сообщают о последних достижениях в поиске наименьшего значения k . Новая бумага не сообщает о новом значении k , но ограничение на то, что текущий приближается к в задаче может оказаться. Может быть, k может равняться 2, но есть нижняя граница, строго превышающая 2, того, насколько малыми токами могут быть подходы.
Практично ли это?
Когда я впервые услышал о методе Штрассена, мне сказали, что это любопытный, но непрактичный результат. Штрассен сохранил одно умножение за счет введения еще нескольких операций сложения.
Согласно статье в Википедии об умножении матриц, рекурсивное применение метода Штрассена может сэкономить время на n > 100. Но нужно учитывать больше, чем подсчет операций. Метод Штрассена и последующие алгоритмы более сложны. На практике они могут быть не более эффективными, даже если они используют меньше операций, потому что операции могут плохо векторизоваться.
Википедия сообщает, что алгоритм Штрассена не так численно стабилен, как традиционный подход, но это не имеет значения при работе с конечными полями, где арифметика точна.
Метод Штрассена
Давайте посмотрим, что делает метод Штрассена. Мы хотим найти произведение двух матриц:
Я начал излагать метод Штрассена в уравнениях LaTeX, но подумал, что будет гораздо лучше записать его в коде, чтобы быть уверенным, что я ничего не сделал. ошибка.
Следующий код Python случайным образом заполняет значения a и b, вычисляет c с использованием обычного метода, а затем утверждает, что вы можете найти эти значения из q, вычисленных методом Штрассена. Обратите внимание, что в каждом из семи q есть одно умножение.
из случайного импорта randint # Заполнить матрицы случайными целочисленными значениями a11 = случайный (0, 9) a12 = случайный (0, 9) a21 = случайный (0, 9) a22 = случайный (0, 9) b11 = случайный (0, 9) b12 = случайный (0, 9) b21 = случайный (0, 9) b22 = случайный (0, 9) # Традиционное умножение матриц с11 = а11*b11 + а12*b21 с12 = а11*b12 + а12*b22 с21 = а21*b11 + а22*b21 с22 = а21*b12 + а22*b22 # Метод Штрассена q1 = (a11 + a22)*(b11 + b22) q2 = (а21 + а22)*b11 q3 = a11*(b12 - b22) q4 = а22 * (-b11 + b21) q5 = (a11 + a12)*b22 q6 = (-a11 + a21)*(b11 + b12) q7 = (a12 - a22)*(b21 + b22) утверждать (c11 == q1 + q4 - q5 + q7) утверждать (c21 == q2 + q4) утверждать (c12 == q3 + q5) утверждать (c22 == q1 + q3 - q2 + q6)
Поскольку метод Штрассена требует на больше операций, чем традиционный метод умножения матриц 2 × 2, как он может выполнять на меньше операций, чем традиционный метод умножения больших матриц?
Когда вы применяете метод Штрассена к матрице, разбитой на подматрицы, ее умножения становятся матричными умножениями , а ее сложения становятся матричными сложениями.