определение, свойства и примеры решения задач
Задание. Вычислить $AB$ и $BA$, если $ A=\left( \begin{array}{rr}{1} & {-1} \\ {2} & {0} \\ {3} & {0}\end{array}\right) $ , $ B=\left( \begin{array}{ll}{1} & {1} \\ {2} & {0}\end{array}\right) $
Решение. Так как $ A=A_{3 \times 2} $ , а $ B=B_{2 \times 2} $ , то произведение возможно и результатом операции умножения будет матрица $ C=C_{3 \times 2} $ , а это матрица вида $ C=\left( \begin{array}{ll}{c_{11}} & {c_{12}} \\ {c_{21}} & {c_{22}} \\ {c_{31}} & {c_{32}}\end{array}\right) $ .
Вычислим элементы матрицы $C$ :
$ c_{11}=a_{11} \cdot b_{11}+a_{12} \cdot b_{21}=1 \cdot 1+(-1) \cdot 2=-1 $
$ c_{12}=a_{11} \cdot b_{12}+a_{12} \cdot b_{22}=1 \cdot 1+(-1) \cdot 0=1 $
$ c_{21}=a_{21} \cdot b_{11}+a_{22} \cdot b_{21}=2 \cdot 1+0 \cdot 2=2 $
$ c_{22}=a_{21} \cdot b_{12}+a_{22} \cdot b_{22}=2 \cdot 1+0 \cdot 0=2 $
$ c_{31}=a_{31} \cdot b_{11}+a_{32} \cdot b_{21}=3 \cdot 1+0 \cdot 2=3 $
$ c_{32}=a_{31} \cdot b_{12}+a_{32} \cdot b_{22}=3 \cdot 1+0 \cdot 0=3 $
Итак, $ C=A B=\left( \begin{array}{rr}{-1} & {1} \\ {2} & {2} \\ {3} & {3}\end{array}\right) $ .
Выполним произведения в более компактном виде:
$ C=A B=\left( \begin{array}{rr}{1} & {-1} \\ {2} & {0} \\ {3} & {0}\end{array}\right)_{3 \times 2} \cdot \left( \begin{array}{ll}{1} & {1} \\ {2} & {0}\end{array}\right)_{2 \times 2}= $
$ =\left( \begin{array}{ccc}{1 \cdot 1+(-1) \cdot 2} & {1 \cdot 1+(-1) \cdot 0} \\ {2 \cdot 1+0 \cdot 2} & {2 \cdot 1+0 \cdot 0} \\ {3 \cdot 1+0 \cdot 2} & {3 \cdot 1+0 \cdot 0}\end{array}\right)=\left( \begin{array}{rr}{-1} & {1} \\ {2} & {2} \\ {3} & {3}\end{array}\right) $
Найдем теперь произведение $ D=B A=B_{2 \times 2} \cdot A_{3 \times 2} $. Так как количество столбцов матрицы $B$ (первый сомножитель) не совпадает с количеством строк матрицы $A$ (второй сомножитель), то данное произведение неопределенно. Умножить матрицы в данном порядке невозможно.
Ответ. $ A B=\left( \begin{array}{rr}{-1} & {1} \\ {2} & {2} \\ {3} & {3}\end{array}\right) $ .
Умножение матриц
Расчет умножения матриц онлайн. Умножьте матрицы порядка 2×3, 1×3, 3×3, 2×2 с 3×2, 3×1, 3×3, 2×2. Динамические расчеты, нахождения произведения матриц.
Умножение матриц возможно когда число столбцов первой матрицы равно числу строк второй матрицы.
Матрица 1
X
Матрица 2
3x33x22x33x11x32x2
X
3x33x22x33x11x32x2
В первой части мы рассмотрим умножение квадратных матриц. В следующей части Вы узнаете, как умножить разные матрицы (например, 2х3 до 3х3).
Здесь мы будем умножать матрицу 3х3 (3 ряда, 3 колонки) на другую матрицу 3х3 (3 ряда, 3 колонки).
Матрица A | Матрица B | |||||||||||||||||||
| x |
|
В результате мы получим матрицу 3х3. Нам придется рассчитать каждую клетку результатов матрицы отдельно. Результат выразим через X.
Шаг 1:Рассчитаем x11
Для того, чтобы вычислить результат x11 мы будем использовать первую строку матрицы А и первый столбец матрицы В.
Результат X | Матрица A | Матрица B | |||||||||||||||||||||||||||||
| = |
| x |
|
Мы можем представить результат x11 = a11 x b11 + a12 x b21 + a13 x b31
Шаг 2: Рассчитаем x12
Для того, чтобы вычислить результат x12 мы будем использовать первую строку матрицы А и втором столбце матрицы В.
Результат X | Матрица A | Матрица B | |||||||||||||||||||||||||||||
| = |
| x |
|
Мы можем представить резальтат x12 = a11 x b12 + a12 x b22 + a13 x b32
По той же методике мы вычислим значения для всех ячеек.
Результат Матрица | |||||||||
|
примеры, алгоритм умножения на вектор, число, свойства произведения
Произведение двух матриц
Определение 1C⏟m×n=A⏟m×p×B⏟p×n
Пример 1Даны матрицы:
- A=a(ij) размеров m×n;
- B=b(ij) размеров p×n
Матрицу C, элементы cij которой вычисляются по следующей формуле:
cij=ai1×b1j+ai2×b2j+. ..+aip×bpj, i=1,…m, j=1,…m
Пример 2Вычислим произведения АВ=ВА:
А=121012, В=100111
Решение, используя правило умножения матриц:
А⏟2×3×В⏟3×2=121012×100111=1×1+2×0+1×11×0+2×1+1×10×1+1×0+2×10×0+1×1+2×1==2323⏟2×2
В⏟3×2×А⏟2×3=100111×121012=1×1+0×01×2+0×11×1+0×20×1+1×00×2+1×10×1+1×21×1+1×01×2+1×11×1+1×2=121012133⏟3×3
Произведение АВ и ВА найдены, но являются матрицами разных размеров: АВ не равна ВА.
Свойства умножения матриц
Свойства умножения матриц:
- (АВ)С = А(ВС) — ассоциативность умножения матриц;
- А(В+С) = АВ + АС — дистрибутивность умножения;
- (А+В)С = АС + ВС — дистрибутивность умножения;
- λ(АВ)=(λА)В
Проверяем свойство №1: (АВ)С = А(ВС):
(А×В)×А=1234×5678×1002=19224350×1002=194443100,
А(В×С)=1234×56781002=1234×512716=194443100.
Проверяем свойство №2: А(В+С) = АВ + АС:
А×(В+С)=1234×5678+1002=1234×66710=20264658,
АВ+АС=1234×5678+1234×1002=19224350+1438=20264658.
Произведение трех матриц
Произведение трех матриц АВС вычисляют 2-мя способами:
- найти АВ и умножить на С: (АВ)С;
- либо найти сначала ВС, а затем умножить А(ВС).
Перемножить матрицы 2-мя способами:
4375×-289338-126×7321
Алгоритм действий:
- найти произведение 2-х матриц;
- затем снова найти произведение 2-х матриц.
1). АВ=4375×-289338-126=4(-28)+3×384×93+3(-126)7(-28)+5×387×93+5(-126)=2-6-621
2). АВС=(АВ)С=2-6-6217321=2×7-6×22×3-6×1-6×7+21×2-6×3+21×1=2003.
Используем формулу АВС=(АВ)С:
1). ВС=-289338-1267321=-28×7+93×2-28×3+93×138×7-126×238×3-126×1=-10914-12
2). АВС=(АВ)С=7321-10914-12=4(-10)+3×144×9+3(-12)7(-10)+5×147×9+5(-12)=2003
Ответ: 4375-289338-1267321=2003
Нужна помощь преподавателя?
Опиши задание — и наши эксперты тебе помогут!
Описать заданиеУмножение матрицы на число
Определение 2Произведение матрицы А на число k — это матрица В=Аk того же размера, которая получена из исходной умножением на заданное число всех ее элементов:
bi,j=k×ai,j
Свойства умножения матрицы на число:
- 1×А=А
- 0×А=нулевая матрица
- k(A+B)=kA+kB
- (k+n)A=kA+nA
- (k×n)×A=k(n×A)
Найдем произведение матрицы А=4290 на 5.
Решение:
5А=542905×45×25×95×0=2010450
Умножение матрицы на вектор
Определение 3Чтобы найти произведение матрицы и вектора, необходимо умножать по правилу «строка на столбец»:
- если умножить матрицу на вектор-столбец число столбцов в матрице должно совпадать с числом строк в векторе-столбце;
- результатом умножения вектора-столбца является только вектор-столбец:
АВ=а11а12⋯а1nа21а22⋯а2n⋯⋯⋯⋯аm1аm2⋯аmnb1b2⋯b1n=a11×b1+a12×b2+⋯+a1n×bna21×b1+a22×b2+⋯+a2n×bn⋯⋯⋯⋯am1×b1+am2×b2+⋯+amn×bn=c1c2⋯c1m
- если умножить матрицу на вектор-строку, то умножаемая матрица должна быть исключительно вектором-столбцом, причем количество столбцов должно совпадать с количеством столбцов в векторе-строке:
АВ=аа⋯аbb⋯b=a1×b1a1×b2⋯a1×bna2×b1a2×b2⋯a2×bn⋯⋯⋯⋯an×b1an×b2⋯an×bn=c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯cn1cn2⋯cnn
Пример 5Найдем произведение матрицы А и вектора-столбца В:
АВ=240-213-10112-1=2×1+4×2+0×(-1)-2×1+1×2+3×(-1)-1×1+0×2+1×(-1)=2+8+0-2+2-3-1+0-1=10-3-2
Пример 6Найдем произведение матрицы А и вектора-строку В:
А=320-1, В=-1102
Решение:
АВ=3201×-1102=3×(-1)3×13×03×22×(-1)2×12×02×20×(-1)0×10×00×21×(-1)1×11×01×2=-3306-22040000-1102
Ответ: АВ=-3306-22040000-1102
Умножение матриц – это.
.. Что такое Умножение матриц?Умноже́ние ма́триц — одна из основных операций над матрицами. Матрица, получаемая в результате операции умножения, называется произведе́нием ма́триц.
Определение
Пусть даны две прямоугольные матрицы и размерности и соответственно:
Тогда матрица размерностью называется их произведением:
где:
Операция умножения двух матриц выполнима только в том случае, если число столбцов в первом сомножителе равно числу строк во втором; в этом случае говорят, что форма матриц согласована. В частности, умножение всегда выполнимо, если оба сомножителя — квадратные матрицы одного и того же порядка.
Следует заметить, что из существования произведения вовсе не следует существование произведения
Иллюстрация
Произведение матриц AB состоит из всех возможных комбинаций скалярных произведений строк матрицы A и столбцов матрицы B. Элемент матрицы AB с индексами i, j есть скалярное произведение i-ой строки матрицы A и j-го столбца матрицы B.
Иллюстрация справа демонстрирует вычисление произведения двух матриц A и B, она показывает как каждые пересечения в произведении матриц соответствуют строкам матрицы A и столбцам матрицы B. Размер результирующей матрицы всегда максимально возможный, то есть для каждой строки матрицы A и столбца матрицы B есть всегда соответствующее пересечение в произведении матрицы.
Значения на пересечениях отмеченных кружочками будут:
В общем случае, произведение матриц не является коммутативной операцией. К примеру:
Элемент произведения матриц приведённых выше вычисляется следующим образом
Первая координата в обозначении матрицы обозначает строку, вторая координата — столбец; этот порядок используют как при индексации, так и при обозначении размера. Элемент на пересечении строки и столбца результирующей матрицы является скалярным произведением -й строки первой матрицы и -го столбца второй матрицы. Это объясняет почему ширина и высота умножаемых матриц должны совпадать: в противном случае скалярное произведение не определено.
Мотивировка
Описанное правило матричного умножения прозрачнее всего мотивируется исходя из умножения вектора на матрицу.
Последнее естественно вводится исходя из того, что при разложении векторов по базису действие (любого) линейного оператора A дает выражение компонент вектора v’ = Av:
-то есть линейный оператор оказывается представлен матрицей, векторы – векторами-столбцами, а действие оператора на вектор – матричным умножением вектора-столбца слева на матрицу оператора (это частный случай матричного умножения, когда одна из матриц – вектор-столбец – имеет размер 1хn).
(Равно переход к любому новому базису при смене координат представляется полностью аналогичным выражением, только в этом случае уже не компоненты нового вектора в старом базисе, а компоненты старого вектора в новом базисе; при этом – элементы матрицы перехода к новому базису).
Далее, рассмотрев последовательное действие на вектор двух операторов: сначала A, а потом B (или преобразование базиса A, а затем преобразование базиса B), имеем, дважды применив нашу формулу:
откуда видно, что композиции BA действия линейных операторов A и B (или аналогичной композиции преобразований базиса) соответствует матрица, вычисляемая по рецепту произведения соответствующих матриц:
Определенное таким образом произведение матриц оказывается совершенно естественным и очевидно полезным (дает простой и универсальный способ вычисления композиций произвольного количества линейных преобразований).
Свойства
Сочетательное свойство:
Распределительное свойство:
- .
Произведение матрицы на единичную матрицу подходящего порядка равно самой матрице:
Произведение матрицы на нулевую матрицу подходящей размерности равно нулевой матрице:
Если и — квадратные матрицы одного и того же порядка, то произведение матриц обладает ещё рядом свойств.
Умножение матриц в целом некоммутативно:
Если , то матрицы и называются перестановочными или коммутирующими между собой.
Определитель и след произведения не зависят от порядка умножения матриц:
Обратная матрица
Квадратная матрица называется неособенной (невырожденной), если она имеет единственную обратную матрицу такую, что выполняется условие:
В противном случае матрица называется особенной (вырожденной).
Матрица порядка является невырожденной в том и только в том случае, если в этом случае есть квадратная матрица того же порядка
где — алгебраическое дополнение элемента в определителе
Алгоритмы быстрого перемножения матриц
Сложность вычисления произведения матриц по определению составляет Θ(n3), однако существуют более эффективные алгоритмы[1], применяющиеся для больших матриц.
- Алгоритм Штрассена (1969)
- Первый алгоритм быстрого умножения матриц был разработан В. Штрассеном[2] в 1969. В основе алгоритма лежит рекурсивное разбиение матриц на блоки. На каждом этапе рекурсии выполняется семь умножений вместо восьми. В результате сложность этого алгоритма составляет . Недостатком данного метода является бо́льшая сложность программирования по сравнению со стандартным алгоритмом, численная неустойчивость и большой объём используемой памяти.
- Разработано большое количество алгоритмов на основе метода Штрассена, которые улучшают его численную устойчивость и уменьшают объём используемой памяти.
- Алгоритм Пана (1978)
- В 1978 Пан[3] предложил свой метод умножения матриц, сложность которого составила Θ(n2.78041).
- Алгоритм Бини (1979)
- В 1979 группа итальянских учёных во главе с Бини[4] разработала алгоритм умножения матриц с использованием тензоров. Его сложность составляет Θ(n2.7799).
- Алгоритмы Шёнхаге (1981)
- В 1981 Шёнхаге[5] представил метод, работающий со сложностью Θ(n2.695), который он назвал частичным матричным умножением. Позже ему удалось получить оценку Θ(n2.6087).
- Затем Шёнхаге создал метод, названный методом прямых сумм, сложность которого составляет Θ(n2.548). Романи сумел понизить оценку до Θ(n2.5166), а Пан — до Θ(n2.5161).
- Алгоритм Копперсмита — Винограда (1990)
- В 1990 Копперсмит и Виноград[6] опубликовали алгоритм, умножающий матрицы со сложностью O(n2.3727).[7] Этот алгоритм использует идеи, схожие с алгоритмом Штрассена. На сегодняшний день алгоритм Копперсмита-Винограда является наиболее асимптотически быстрым, но он эффективен только на очень больших матрицах и поэтому не применяется.
- Алгоритмы с использованием теории групп (2003)
- В 2003 Кох и др. рассмотрели в своих работах[8] алгоритмы Штрассена и Копперсмита-Винограда в контексте теории групп. Они показали возможность существования алгоритмов умножения матриц со сложностью Θ(n2)[9].
См. также
Литература
- Корн Г., Корн Т. Алгебра матриц и матричное исчисление // Справочник по математике. — 4-е издание. — М: Наука, 1978. — С. 392—394..
Примечания
- ↑ Кибернетический сборник. Новая серия. Вып. 25. Сб. статей 1983 — 1985 гг.: Пер. с англ. — М.: Мир, 1988 — В.Б. Алекссев. Сложность умножения матриц. Обзор.
- ↑ Strassen, Volker, Gaussian Elimination is not Optimal, Numer. Math. 13, p. 354-356, 1969
- ↑ Pan V. Ya, Strassen’s algorithm is not optimal — trilinear technique of aggregating uniting and canceling for constructing fast algorithms for matrix operations. — Proc. 19th Annual Symposium on Foundations of Computer Science, Ann Arbor, Mich., 1978
- ↑ Bini D., Capovani M., Lotti G., Romani F. — complexity for approximate matrix multiplication. — Inform. Process. Lett., 1979
- ↑ Schonhage A. Partial and total matrix multiplication. – SIAM J. Comput., 1981
- ↑ Don Coppersmith and Shmuel Winograd. Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation, 9:251–280, 1990.
- ↑ Williams, Virginia (2011), Breaking the Coppersmith-Winograd barrier.
- ↑ Group-theoretic Algorithms for Matrix Multiplication
- ↑ Toward an Optimal Algorithm for Matrix Multiplication
Оптимальное умножение матриц – 2 – Задачи
Имея две матрицы A и B, мы можем вычислить C = AB используя стандартные правила умножения матриц:
Число колонок в матрице A должно совпадать с числом строк матрицы B. Пусть матрица A имеет размер m × n, матрица B имеет размер n × p. Тогда матрица С будет иметь размер m × p, а для ее вычисления следует совершить m * n * p умножений.
Например, если A имеет размер 10 × 20, B имеет размер 20 × 15, то необходимо совершить 10 × 20 × 15 = 3000 умножений для вычисления матрицы C.
Перемножать несколько матриц можно несколькими способами. Например, если у нас имеются матрицы X, Y и Z, то вычислить XYZ можно либо как (XY)Z, либо как X(YZ). Пусть X имеет размер 5 × 10, Y имеет размер 10 × 20, Z имеет размер 20 × 35.
Подсчитаем количество умножений, необходимых для перемножения трех матриц в каждом из этих двух случаях:
(XY)Z
- 5 × 20 × 10 = 1000 умножений для определения матрицы (XY), имеющей размер 5 × 20.
- Потом 5 × 35 × 20 = 3500 умножений для нахождения конечного результата.
- Общее количество умножений: 4500.
X(YZ)
- 10 × 35 × 20 = 7000 умножений для определения матрицы (YZ), имеющей размер 10 × 35.
- Потом 5 × 35 × 10 умножений для нахождения конечного результата.
- Общее количество умножений: 8750.
Очевидно, что при вычислении (XY)Z требуется меньшее количество умножений.
По заданной последовательности перемножаемых матриц следует найти оптимальный порядок их умножения. Оптимальным называется такой порядок умножения матриц, при котором количество элементарных умножений минимально.
Входные данные
Состоит из нескольких тестов. Первая строка каждого теста содержит количество n (n ≤ 10) перемножаемых матриц. Далее следуют n пар целых чисел, описывающих количество строк и столбцов в матрице, размеры матриц задаются в порядке их перемножения. Последний тест содержит n = 0 и не обрабатывается.
Выходные данные
Пусть матрицы пронумерованы A1, A2,. .., An. Для каждого теста в отдельной строке следует вывести его номер и скобочное выражение, содержащее оптимальный порядок умножения матриц. Тесты нумеруются начиная с 1. Вывод должен строго соответствовать формату, приведнному в примере. Если существует несколько оптимальных порядков перемножения матриц, выведите любой из них.
НОУ ИНТУИТ | Лекция | Параллельные методы матричного умножения
Аннотация: В лекции рассматривается одна из основных задач матричных вычислений — умножение матриц. Приводится постановка задачи и дается последовательный алгоритм ее решения. Далее описываются возможные подходы к параллельной реализации алгоритма и подробно рассматриваются наиболее широко известные алгоритмы: алгоритм, основанный на ленточной схеме разделения данных, алгоритм Фокса (Fox) и алгоритм Кэннона (Cannon)
7.1. Постановка задачи
Умножение матрицы A размера mxn и матрицы B размера nxl приводит к получению матрицы С размера mxl, каждый элемент которой определяется в соответствии с выражением:
( 7. 1) |
Как следует из (7.1), каждый элемент результирующей матрицы С есть скалярное произведение соответствующих строки матрицы A и столбца матрицы B:
( 7.2) |
Этот алгоритм предполагает выполнение mxnxl операций умножения и столько же операций сложения элементов исходных матриц. При умножении квадратных матриц размера nxn количество выполненных операций имеет порядок O(n3). Известны последовательные алгоритмы умножения матриц, обладающие меньшей вычислительной сложностью (например, алгоритм Страссена ( Strassen’s algorithm )), но эти алгоритмы требуют больших усилий для их освоения, и поэтому в данной лекции при разработке параллельных методов в качестве основы будет использоваться приведенный выше последовательный алгоритм. Также будем предполагать далее, что все матрицы являются квадратными и имеют размер nxn.
7.2. Последовательный алгоритм
Последовательный алгоритм умножения матриц представляется тремя вложенными циклами:
Алгоритм 7.1. Последовательный алгоритм умножения двух квадратных матриц
// Алгоритм 7.1 // Последовательный алгоритм умножения матриц double MatrixA[Size][Size]; double MatrixB[Size][Size]; double MatrixC[Size][Size]; int i,j,k; ... for (i=0; i<Size; i++){ for (j=0; j<Size; j++){ MatrixC[i][j] = 0; for (k=0; k<Size; k++){ MatrixC[i][j] = MatrixC[i][j] + MatrixA[i][k]*MatrixB[k][j]; } } }
Этот алгоритм является итеративным и ориентирован на последовательное вычисление строк матрицы С. Действительно, при выполнении одной итерации внешнего цикла (цикла по переменной i ) вычисляется одна строка результирующей матрицы (см. рис. 7.1).
Рис. 7.1. На первой итерации цикла по переменной i используется первая строка матрицы A и все столбцы матрицы B для того, чтобы вычислить элементы первой строки результирующей матрицы С
Поскольку каждый элемент результирующей матрицы есть скалярное произведение строки и столбца исходных матриц, то для вычисления всех элементов матрицы С размером nxn необходимо выполнить n2x(2n–1) скалярных операций и затратить время
( 7.3) |
7.3. Умножение матриц при ленточной схеме разделения данных
Рассмотрим два параллельных алгоритма умножения матриц, в которых матрицы A и B разбиваются на непрерывные последовательности строк или столбцов (полосы).
7.3.1. Определение подзадач
Из определения операции матричного умножения следует, что вычисление всех элементов матрицы С может быть выполнено независимо друг от друга. Как результат, возможный подход для организации параллельных вычислений состоит в использовании в качестве базовой подзадачи процедуры определения одного элемента результирующей матрицы С. Для проведения всех необходимых вычислений каждая подзадача должна содержать по одной строке матрицы А и одному столбцу матрицы В. Общее количество получаемых при таком подходе подзадач оказывается равным n2 (по числу элементов матрицы С ).
Рассмотрев предложенный подход, можно отметить, что достигнутый уровень параллелизма является в большинстве случаев избыточным. Обычно при проведении практических расчетов такое количество сформированных подзадач превышает число имеющихся процессоров и делает неизбежным этап укрупнения базовых задач. В этом плане может оказаться полезной агрегация вычислений уже на шаге выделения базовых подзадач. Возможное решение может состоять в объединении в рамках одной подзадачи всех вычислений, связанных не с одним, а с несколькими элементами результирующей матрицы С. Для дальнейшего рассмотрения определим базовую задачу как процедуру вычисления всех элементов одной из строк матрицы С. Такой подход приводит к снижению общего количества подзадач до величины n.
Для выполнения всех необходимых вычислений базовой подзадаче должны быть доступны одна из строк матрицы A и все столбцы матрицы B. Простое решение этой проблемы – дублирование матрицы B во всех подзадачах – является, как правило, неприемлемым в силу больших затрат памяти для хранения данных. Поэтому организация вычислений должна быть построена таким образом, чтобы в каждый текущий момент времени подзадачи содержали лишь часть данных, необходимых для проведения расчетов, а доступ к остальной части данных обеспечивался бы при помощи передачи данных между процессорами. Два возможных способа выполнения параллельных вычислений подобного типа рассмотрены далее в п. 7.3.2.
7.3.2. Выделение информационных зависимостей
Для вычисления одной строки матрицы С необходимо, чтобы в каждой подзадаче содержалась строка матрицы А и был обеспечен доступ ко всем столбцам матрицы B. Возможные способы организации параллельных вычислений состоят в следующем.
1. Первый алгоритм. Алгоритм представляет собой итерационную процедуру, количество итераций которой совпадает с числом подзадач. На каждой итерации алгоритма каждая подзадача содержит по одной строке матрицы А и одному столбцу матрицы В. При выполнении итерации проводится скалярное умножение содержащихся в подзадачах строк и столбцов, что приводит к получению соответствующих элементов результирующей матрицы С. По завершении вычислений в конце каждой итерации столбцы матрицы В должны быть переданы между подзадачами с тем, чтобы в каждой подзадаче оказались новые столбцы матрицы В и могли быть вычислены новые элементы матрицы C. При этом данная передача столбцов между подзадачами должна быть организована таким образом, чтобы после завершения итераций алгоритма в каждой подзадаче последовательно оказались все столбцы матрицы В.
Возможная простая схема организации необходимой последовательности передач столбцов матрицы В между подзадачами состоит в представлении топологии информационных связей подзадач в виде кольцевой структуры. В этом случае на каждой итерации подзадача i, 0<=i<n, будет передавать свой столбец матрицы В подзадаче с номером i+1 (в соответствии с кольцевой структурой подзадача n-1 передает свои данные подзадаче с номером 0 ) – см. рис. 7.2. После выполнения всех итераций алгоритма необходимое условие будет обеспечено – в каждой подзадаче поочередно окажутся все столбцы матрицы В.
На рис. 7.2 представлены итерации алгоритма матричного умножения для случая, когда матрицы состоят из четырех строк и четырех столбцов ( n=4 ). В начале вычислений в каждой подзадаче i, 0<=i<n, располагаются i -я строка матрицы A и i -й столбец матрицы B. В результате их перемножения подзадача получает элемент cii результирующей матрицы С. Далее подзадачи осуществляют обмен столбцами, в ходе которого каждая подзадача передает свой столбец матрицы B следующей подзадаче в соответствии с кольцевой структурой информационных взаимодействий. Далее выполнение описанных действий повторяется до завершения всех итераций параллельного алгоритма.
Рис. 7.2. Общая схема передачи данных для первого параллельного алгоритма матричного умножения при ленточной схеме разделения данных
2. Второй алгоритм. Отличие второго алгоритма состоит в том, что в подзадачах располагаются не столбцы, а строки матрицы B. Как результат, перемножение данных каждой подзадачи сводится не к скалярному умножению имеющихся векторов, а к их поэлементному умножению. В результате подобного умножения в каждой подзадаче получается строка частичных результатов для матрицы C.
При рассмотренном способе разделения данных для выполнения операции матричного умножения нужно обеспечить последовательное получение в подзадачах всех строк матрицы B, поэлементное умножение данных и суммирование вновь получаемых значений с ранее вычисленными результатами. Организация необходимой последовательности передач строк матрицы B между подзадачами также может быть выполнена с использованием кольцевой структуры информационных связей (см. рис. 7.3).
На рис. 7.3 представлены итерации алгоритма матричного умножения для случая, когда матрицы состоят из четырех строк и четырех столбцов ( n=4 ). В начале вычислений в каждой подзадаче i, 0<=i<n, располагаются i -е строки матрицы A и матрицы B. В результате их перемножения подзадача определяет i -ю строку частичных результатов искомой матрицы C. Далее подзадачи осуществляют обмен строками, в ходе которого каждая подзадача передает свою строку матрицы B следующей подзадаче в соответствии с кольцевой структурой информационных взаимодействий. Далее выполнение описанных действий повторяется до завершения всех итераций параллельного алгоритма.
Рис. 7.3. Общая схема передачи данных для второго параллельного алгорится матричного умножения при ленточной схеме разделения данных
как найти произведение двух или трех разных размеров, условия и формулы
Мы помним, что матрицы – это таблицы взаимосвязанных элементов, которые позволяют упростить математические вычисления и систематизировать определённую информацию. Их можно складывать, вычитать, умножать между собой. В этой статье подробнее остановимся на последнем алгоритме – матричном произведении.
Умножение матриц — определение
Матричное умножение – это одна из основных операций, которая проводится исключительно с согласованными матрицами.
При произведении матриц A и B получается новая матрица C. В математическом виде формула будет выглядеть так:
Но для начала разберёмся, что такое согласованные матрицы.
Согласованные матрицы
Согласованными матрицами называют матрицы вида A = [m ☓ n] и B = [n ☓ k], где количество столбцов А равно количеству строк В.
Индексы показывают координаты равных элементов.
Для того, чтобы умножить А и В, нужно взять строку в первой матрице и столбец во второй, перемножить одинаковые элементы и сложить полученные произведения.
Основные свойства матричного произведения
Размеры, то есть количество строк (m) и столбцов (n), влияют на особенности матричного произведения. Следовательно, для двух главных видов – квадратных и прямоугольных – действуют разные свойства произведения. Однако умножение любого вида всегда некоммуникативное. Это означает, что матрицы нельзя менять местами (АВ ≠ ВА).
Умножение квадратных матриц
Для квадратных матриц существует единичная матрица Е. В ней элементы по главной диагонали равны единице, а оставшиеся – нулю. Произведение любой квадратной матрицы на неё не влияет на результат.
В математическом виде это выглядит так: ЕА = АЕ = А
Также существует обратная матрица А (-1), при умножении на которую исходная A = [m ☓ n] даёт в результате единичную матрицу E.
Следовательно, формула такова: АА(-1) = Е
Умножение прямоугольных матриц
Существуют четыре основных свойства умножения:
- Сочетательное свойство, или ассоциативность: (AB)C = A(BC)
- Распределительное свойство, или дистрибутивность: А(В+С) = АВ + АС / (А+В)С = АС + ВС
- Умножение на единичную матрицу: ЕА = А
- Умножение на нулевую матрицу: 0А = 0
Напомним, что у нулевой матрицы все элементы равны нулю.
Произведение трех матриц
Произведение АВС можно получить двумя альтернативными способами:
- Найти АВ и умножить на С
- Найти ВС и умножить на А
(АВ) С = А (ВС)
Данное свойство называется ассоциативностью матричного умножения и действует на все виды согласованных матриц. Сами они не переставляются, меняется только порядок их умножения.
Умножение матрицы на число
Для умножения на число необходимо умножить каждый матричный элемент на это число:
Дроби вносить не нужно, поскольку они могут затруднить дальнейшие операции.
Умножение матрицы на вектор
Здесь работает правило «строка на столбец».
При умножении на вектор-столбец важно, чтобы количество столбцов в матрице совпадало с количеством строк в векторе-столбце. Результатом произведения будет вектор-столбец.
При умножении на вектор-строку матрица должна быть только вектором-столбцом. Важно, чтобы количество строк в векторе-столбце совпадало с количеством столбцов в векторе-строке. Результатом произведения будет квадратная матрица.
Примеры задач на умножение матриц
Задача №1: выполнить умножение и найти С, если A = [m ☓ n] и B = [n ☓ k] равны.
Решение:
c11 = a11·b11 + a12·b21 = 4·3 + 2·(-3) = 12 – 6 = 6
c12 = a11·b12 + a12·b22 = 4·1 + 2·4 = 4 + 8 = 12
c21 = a21·b11 + a22·b21 = 9·3 + 0·(-3) = 27 + 0 = 27
c22 = a21·b12 + a22·b22 = 9·1 + 0·4 = 9 + 0 = 9
Ответ:
Задача №2: вычислить С, если А = [m ☓ n] и вектор-столбец В равны.
Решение:
c11 = a11·b11 + a12·b21 = 2·1 + (-1)·2 + 3·(-1) = -3
c21 = a11·b12 + a12·b22 = 4⋅1 + 2⋅2 + 0⋅2 = 8
c31 = a21·b11 + a22·b21 = −1⋅1 + 1⋅2 + 1⋅(−1) = 0
Ответ:
Изучение матричных операций очень увлекательное, но сложное занятие. Если у вас нет времени на учёбу, ФениксХэлп может помочь в решении контрольных и самостоятельных работ, написании статей и диссертаций.
Как перемножить две матрицы
Умножение матриц
Есть ровно два способа умножения матриц. Первый способ – умножить матрицу на скаляр. Это называется скалярным умножением. Второй способ – умножить матрицу на другую матрицу. Это известно как умножение матриц.
Скалярное умножениескалярное умножение на самом деле очень простая матричная операция. Чтобы умножить скаляр на матрицу, мы просто берем скаляр и умножаем его на каждую запись в матрице.Приведем пример.
Вопрос 1 : Вычислить 2A2A2A, если
Уравнение 1: пример скалярного умножения 1, часть 1Вопрос просит нас узнать, что такое 2A2A2A. Другими словами, мы находим
Уравнение 1: пример скалярного умножения 1, часть 2Обратите внимание, что если мы умножим 2 на каждую запись в матрице, мы получим:
Уравнение 1: пример скалярного умножения 1, часть 3Очень просто! Давай сделаем еще один.
Вопрос 2 : Рассчитать 0A0A0A, если
Уравнение 2: Пример скалярного умножения 2 pt.1Опять пытаемся найти 0A0A0A. Это означает, что мы будем искать ответ на
. Уравнение 2: пример скалярного умножения 2, часть 2Матрица будет необычной формы, но концепция останется прежней. Мы по-прежнему умножаем скаляр 0 на каждую запись в матрице. Так мы получим:
Уравнение 2: пример скалярного умножения 2, часть 3Обратите внимание, что все элементы в матрице равны 0. Это известно как нулевая матрица 3 x 2.
Теперь, когда мы хорошо знакомы со скалярным умножением, почему бы нам не перейти к матричному умножению?
Как умножить матрицыЧтобы умножить матрицу на другую матрицу, нам сначала нужно узнать, что такое скалярное произведение.
Что такое скалярное произведение?
Точечное произведение (также известное как умножение векторов) – это способ вычисления произведения двух векторов. Например, пусть два вектора будут:
Уравнение 3: Пример скалярного произведения, часть 1Как мне умножить эти два вектора? Просто умножьте соответствующие записи и сложите продукты. Другими словами,
Уравнение 3: Пример скалярного произведения, часть 2Итак, умножая векторы, мы получаем одно значение. Однако обратите внимание на то, что два вектора имеют одинаковое количество записей.Что, если один из векторов имеет другое количество входов, чем другой? Например, пусть
Уравнение 4: Пример отказа скалярного произведения ч.1Если бы я умножил соответствующие записи и сложил их все вместе, то получил бы:
Уравнение 4: Пример отказа скалярного продукта, часть 2Здесь проблема. Первые три записи имеют соответствующие записи для умножения, но последняя запись не имеет. Итак, что нам здесь делать? Ответ: мы ничего не можем здесь сделать. Это просто означает, что мы не можем вычислить скалярное произведение этих двух векторов.
Итак, в заключение, мы не можем найти скалярное произведение двух векторов с разным количеством элементов. У них должно быть и одинаковое количество записей.
Умножение матриц 2 x 2
Так в чем был смысл изучения скалярного произведения? Что ж, мы будем использовать скалярное произведение, когда умножим две матрицы вместе. При умножении матрицы на другую матрицу мы хотим рассматривать строки и столбцы как вектор. Более конкретно, мы хотим обрабатывать каждую строку в первой матрице как векторы, а каждый столбец во второй матрице как векторы.Приведем пример.
Вопрос 3 : Найдите A ∙ BA \ bullet BA ∙ B, если
Уравнение 5: пример умножения матрицы 2 x 2, часть 1Умножение двух матриц даст нам:
Уравнение 5: Пример умножения матрицы 2 x 2, часть 2Теперь количество строк и столбцов, на которые мы обращаем внимание, равно
. Уравнение 5: пример умножения матрицы 2 x 2, часть 3, где r1r_ {1} r1 – первая строка, r2r_ {2} r2 – вторая строка, а c1, c2c_ {1}, c_ {2} c1, c2 – первый и второй столбцы.Теперь мы будем рассматривать каждую строку и столбец, которые мы видим здесь, как вектор.
Обратите внимание, что умножение матрицы 2 x 2 на другую матрицу 2 x 2 дает матрицу 2 x 2. Другими словами, в матрице должно быть 4 элемента.
Уравнение 5: пример умножения матрицы 2 x 2, часть 4Как именно мы получаем первую запись? Обратите внимание, что первая запись находится в первой строке и первом столбце. Поэтому мы просто берем скалярное произведение r1r_ {1} r1 и c1c_ {1} c1. Таким образом, первая запись будет
. Уравнение 5: Пример умножения матрицы 2 x 2 pt.{nd} 2-й столбец. Итак, мы берем скалярное произведение r2r_ {2} r2 и c1c_ {1} c1 и скалярное произведение r2r_ {2} r2 и c2c_ {2} c2. Это дает нам: Уравнение 5: пример умножения матрицы 2 x 2, часть 7Вот и все! Это то, что мы получаем, когда умножаем матрицы 2 x 2. В общем, формула умножения матриц для матриц 2 x 2 составляет
Формула 1: Формула умножения матрицы 2 x 2Умножение матриц 3×3
Теперь процесс умножения матриц 3 x 3 очень похож на процесс умножения матриц 2 x 2.Опять же, почему бы нам не сделать пример умножения матриц?
Вопрос 4 : Найдите A ∙ BA \ bullet BA ∙ B, если
Уравнение 6: Пример умножения матрицы 3 x 3, часть 1Во-первых, обратите внимание, что их умножение должно дать нам еще одну матрицу 3 x 3. Другими словами,
Уравнение 6: Пример умножения матрицы 3 x 3, часть 2Теперь давайте пометим все наши строки в первой матрице и столбцы во второй матрице. {st}, поэтому мы берем скалярное произведение r1r_ {1} r1 и c1c_ {1} c1.{nd} 2-й столбец. Таким образом, мы берем скалярное произведение r1r_ {1} r1 и c2c_ {2} c2. Это дает нам:
Уравнение 6: пример умножения матрицы 3 x 3, часть 5Если мы продолжим находить все записи и выполнять скалярное произведение, соответствующее строкам и столбцам, то мы получим окончательный результат.
Уравнение 6: пример умножения матрицы 3 x 3, часть 6Готово! Обратите внимание, что чем больше матрицы, тем более утомительным становится умножение матриц. Это потому, что нам приходится иметь дело со все большим количеством цифр! В общем, формула умножения матриц для матриц 3 x 3 составляет
Формула 2: Формула умножения матрицы 3 x 3 Как умножить матрицы разной размерности?Пока что у нас есть перемноженные матрицы одинаковой размерности.Кроме того, мы знаем, что умножение двух матриц одинаковой размерности дает матрицу одинаковой размерности. Но что будет, если мы умножим матрицу разных размеров? Как мы узнаем размеры вычисленной матрицы? Во-первых, нам нужно увидеть, как умножение матриц дает вам определенную матрицу.
Определена ли матрица?
Бывают случаи, когда невозможно перемножить две матрицы. В таких случаях мы называем матрицу undefined .Как мы можем определить, не определены ли они?
Произведение двух матриц определяется только в том случае, если количество столбцов в первой матрице равно количеству строк второй матрицы .
Давайте попробуем использовать это определение в этом примере.
Вопрос 5 : Пусть
Уравнение 7: Пример определенной матрицы, часть 1Определено ли A ∙ BA \ bullet BA ∙ B?
Во-первых, обратите внимание, что первая матрица имеет 3 столбца . Также вторая матрица имеет 3 строки .Поскольку они оба равны 3, то я знаю, что определено A ∙ BA \ bullet BA ∙ B.
Теперь, когда мы знаем, что оно определено, как мы можем узнать размеры A ∙ BA \ bullet BA ∙ B?
Размер собственности
Чтобы найти размеры A ∙ BA \ bullet BA ∙ B, нам нужно сначала взглянуть на размеры и отдельно.
Уравнение 7: Пример определенной матрицы, часть 2Теперь поместим размеры матриц рядом, вот так:
Уравнение 7: Пример определенной матрицы pt.3Теперь мы возьмем первое число и последнее число и объединим их, чтобы получить размеры A ∙ BA \ bullet BA ∙ B. Посмотрите, что первое число – 2 , а последнее – 4 . Таким образом, габариты A ∙ BA \ bullet BA ∙ B будут:
Уравнение 7: Пример определенной матрицы, часть 4Теперь, когда мы знаем размеры матрицы, мы можем просто вычислить каждую запись, используя скалярные произведения. Это даст нам:
Уравнение 7: Пример определенной матрицы pt.5Теперь, когда мы очень хорошо знаем, как умножать матрицы, почему бы не взглянуть на некоторые правила умножения матриц?
Свойства умножения матрицИтак, какими свойствами на самом деле обладает матричное умножение? Во-первых, давайте все формально определим.
Пусть X, Y, ZX, Y, ZX, Y, Z – матрицы, InI_ {n} In – единичная матрица, а OnO_ {n} On – нулевая матрица. Если все пять из этих матриц имеют равные размеры, то у нас будет следующая матрица для свойств умножения матриц:
Формула 3: свойства умножения матрицАссоциативное свойство утверждает, что порядок умножения не имеет значения.Другими словами, вычисление X ∙ YX \ bullet YX ∙ Y, а затем умножение на ZZZ даст вам тот же результат, что и вычисление Y ∙ ZY \ bullet ZY ∙ Z, а затем умножение на XXX. Приведем пример.
Вопрос 6 : Показать, что ассоциативное свойство работает с этими матрицами:
Уравнение 8: Пример ассоциативного свойства, часть 1Глядя на левую часть уравнения в ассоциативном свойстве, мы видим, что (XY) Z (XY) Z (XY) Z дает:
Уравнение 8: Пример ассоциативного свойства pt.2Теперь, глядя на правую часть уравнения в ассоциативном свойстве, мы видим, что X (YZ) X (YZ) X (YZ) дает:
Уравнение 8: Пример ассоциативного свойства, часть 3Посмотрите, как левая и правая части уравнения равны. Следовательно, мы знаем, что ассоциативное свойство действительно работает! Опять же, это означает, что порядок умножения матриц не имеет значения!
Теперь следующее свойство – распределительное свойство . В распределительной собственности указано, что:
Формула 4: Распределительная собственностьМы видим, что нам разрешено использовать технику фольги и для матриц.Чтобы показать, что это свойство работает, давайте рассмотрим пример.
Вопрос 7 : Показать, что свойство распределения работает для следующих матриц:
Уравнение 9: Пример распределительного свойства, часть 1Посмотрите, что левая часть уравнения – это X (Y + Z) X (Y + Z) X (Y + Z). Отсюда вычисления, которые дают нам:
Уравнение 9: Пример распределительного свойства, часть 2Теперь давайте проверим, дает ли правая часть уравнения то же самое. Обратите внимание, что правая часть уравнения – это XY + XZXY + XZXY + XZ.Вычисление дает нам:
Уравнение 9: Пример распределительного свойства, часть 3Обратите внимание, что левая часть уравнения в точности совпадает с правой частью уравнения. Следовательно, мы можем подтвердить, что свойство распределения действительно работает.
Коммутативно ли матричное умножение?
Мы знаем, что умножение матриц удовлетворяет как ассоциативным, так и дистрибутивным свойствам, однако мы вообще не говорили о коммутативности. Означает ли это, что умножение матриц его не удовлетворяет? На самом деле это не так, и мы можем проверить это на примере.
Вопрос 8 : Если матричное умножение коммутативно, то должно выполняться следующее:
Уравнение 10: Нарушение коммутативного свойства ч.1Покажите, что XYeqYXXY eq YXXYeqYX, если
Уравнение 10: Нарушение коммутативного свойства ч. 2Сначала мы вычисляем левую часть уравнения. Вычисление XYXYXY дает нам:
Уравнение 10: Нарушение коммутативного свойства ч. 3Теперь вычисляя правую часть уравнения, мы имеем:
Уравнение 10: Нарушение коммутативного свойства pt.4Как видите,
Уравнение 10: Нарушение коммутативного свойства ч. 5Потому что у нас
Уравнение 10: Нарушение коммутативного свойства ч. 6Эти две матрицы совершенно разные.
Теперь есть еще несколько свойств умножения матриц. Однако эти свойства имеют дело с нулевой и единичной матрицами.
Умножение матрицы на нулевую матрицу
Свойство умножения матриц для нулевой матрицы утверждает следующее:
Формула 5: умножение матрицы для нулевой матрицы, где ООО – нулевая матрица.
Это означает, что если вы умножите нулевую матрицу на другую ненулевую матрицу, то вы получите нулевую матрицу. Давайте проверим, так ли это на примере.
Вопрос 9 : Покажите, что уравнение OX = OOX = OOX = O и XO = OXO = OXO = O выполняется, если:
Уравнение 11: Умножение матрицы для примера с нулевой матрицей, часть 1Давайте сначала посмотрим на уравнение
Уравнение 11: Умножение матриц для нулевой матрицы, пример, часть 2Обратите внимание, что вычисление OXOXOX дает нам:
Уравнение 11: Умножение матрицы для примера с нулевой матрицей pt.3Мы видим, что OX = OOX = OOX = O, поэтому уравнение выполняется. Аналогично, если мы посчитаем XOXOXO, мы получим:
Уравнение 11: Умножение матриц для нулевой матрицы, пример, часть 4Мы видим, что уравнение XO = OXO = OXO = O выполняется, так что мы закончили.
Умножение матриц для идентификационной матрицы
А как насчет свойства умножения матриц для единичных матриц? Что ж, в собственности указано следующее:
Формула 6: умножение матрицы для матрицы идентичности, где InI_ {n} In – единичная матрица размера n × nn \ умноженная на nn × n.Опять же, мы можем видеть, что следующие уравнения действительно выполняются на примере.
Вопрос 10 : Покажите, что уравнения XI2 = XX I_ {2} = XXI2 = X и I2X = XI_ {2} X = XI2 X = X выполняются со следующими матрицами
Уравнение 12: Умножение матриц для примера единичной матрицы, часть 1Итак, для уравнения XI2 = XX I_ {2} = XXI2 = X, мы имеем:
Уравнение 12: Умножение матриц для примера единичной матрицы, часть 2Итак, уравнение верно. Аналогично уравнению I2X = XI_ {2} X = XI2 X = X, имеем:
Уравнение 12: Умножение матриц для примера единичной матрицы pt.3И снова уравнение верно. Итак, мы закончили с вопросом, и оба уравнения верны. На этом завершаются все свойства умножения матриц. Теперь, если вы хотите взглянуть на реальное применение умножения матриц, я рекомендую вам взглянуть на эту статью.
https://www.mathsisfun.com/algebra/matrix-multiplying.html
Матричный калькулятор продукта– онлайн-умножение матриц
Поиск инструмента
Матричный продукт
Инструмент для расчета матричных произведений.Алгебра матричного произведения состоит из умножения матриц (квадратных или прямоугольных).
Результаты
Матричный продукт – dCode
Тэги: Matrix
Поделиться
dCode и другие
dCode является бесплатным, а его инструменты являются ценным подспорьем в играх, математике, геокэшинге, головоломках и задачах, которые нужно решать каждый день!
Предложение? обратная связь? Жук ? идея ? Запись в dCode !
Матричный продукт
Произведение 2 матриц
Матрица М1 Нагрузка…
(если это сообщение не исчезает, попробуйте обновить страницу)
Загрузка …
(если это сообщение не исчезает, попробуйте обновить страницу)
Произведение матрицы на скаляр (число)
Матрица M Загрузка …
(если это сообщение не исчезает, попробуйте обновить страницу)
Вычислить A.M
Алфавит
Matrix Line Загрузка …
(если это сообщение не исчезает, попробуйте обновить эту страницу)
Загрузка…
(если это сообщение не исчезает, попробуйте обновить страницу)
Ответы на вопросы (FAQ)
Что такое матричный продукт? (Определение)
Матричное произведение – это название наиболее распространенного метода умножения матриц .
$ M_1 = [a_ {ij}] $ – это матрица из $ m $ строк и $ n $ столбцов, а $ M_2 = [b_ {ij}] $ – это матрица из $ n $ строк и $ p $ столбцов ( возможны все форматы 2×2, 2×3, 3×2, 3×3, 3×4, 4×3 и т. д.н а_ {ik} b_ {kj} $$
Умножение двух матриц $ M_1 $ и $ M_2 $ отмечается точкой $ \ cdot $ или. так что $ M_1 \ cdot M_2 $
Матричное произведение определяется только тогда, когда количество столбцов $ M_1 $ равно количеству строк $ M_2 $ (матрицы называются совместимыми)
Как умножить 2 матрицы? (Матричный продукт)
Умножение двух матриц $ M_1 $ и $ M_2 $ образует матрицу результата $ M_3 $. Матричное произведение состоит в выполнении сложения и умножения в соответствии с положениями элементов в матрицах $ M_1 $ и $ M_2 $.
$$ M_1 = \ begin {bmatrix} a_ {11} & a_ {12} & \ cdots & a_ {1n} \\ a_ {21} & a_ {22} & \ cdots & a_ {2n} \\ \ vdots & \ vdots & \ ddots & \ vdots \\ a_ {m1} & a_ {m2} & \ cdots & a_ {mn} \ end {bmatrix} \\ M_2 = \ begin {bmatrix} b_ {11} & b_ { 12} & \ cdots & b_ {1p} \\ b_ {21} & b_ {22} & \ cdots & b_ {2p} \\ \ vdots & \ vdots & \ ddots & \ vdots \\ b_ {n1} & b_ {n2} & \ cdots & b_ {np} \ end {bmatrix} \\ M_1 \ cdot M_2 = \ begin {bmatrix} a_ {11} b_ {11} + \ cdots + a_ {1n} b_ {n1} & a_ {11} b_ {12} + \ cdots + a_ {1n} b_ {n2} & \ cdots & a_ {11} b_ {1p} + \ cdots + a_ {1n} b_ {np} \\ a_ {21} b_ {11} + \ cdots + a_ {2n} b_ {n1} & a_ {21} b_ {12} + \ cdots + a_ {2n} b_ {n2} & \ cdots & a_ {21} b_ {1p} + \ cdots + a_ {2n} b_ {np} \\ \ vdots & \ vdots & \ ddots & \ vdots \\ a_ {m1} b_ {11} + \ cdots + a_ {mn} b_ {n1} & a_ {m1} b_ {12} + \ cdots + a_ {mn} b_ {n2} & \ cdots & a_ {m1} b_ {1p} + \ cdots + a_ {mn} b_ {np} \ end {bmatrix} $$
Чтобы вычислить значение элемента матрицы $ M_3 $ в позиции $ i $ и столбце $ j $, извлеките строку $ i $ из матрицы $ M_1 $ и строку $ j $ из матрицы $ M_2 $. и вычислите их скалярный продукт.То есть умножьте первый элемент строки $ i $ из $ M_1 $ на первый элемент столбца $ j $ из $ M_2 $, затем второй элемент строки $ i $ из $ M_1 $ на второй элемент столбца $ j $ из $ M_2 $ и так далее, обратите внимание на сумму полученных умножений, это значение скалярного произведения, следовательно, элемента в позиции $ i $ и столбца $ j $ в $ M_3 $.
Пример: $$ \ begin {bmatrix} 1 & 0 \\ -2 & 3 \ end {bmatrix} \ cdot \ begin {bmatrix} 2 & -1 \\ 4 & -3 \ end {bmatrix} = \ begin {bmatrix} 1 \ times 2 + 0 \ times 4 & 1 \ times -1 + 0 \ times -3 \\ -2 \ times 2 + 4 \ times 3 & -2 \ times -1 + 3 \ times – 3 \ end {bmatrix} = \ begin {bmatrix} 2 & -1 \\ 8 & -7 \ end {bmatrix} $$
Как умножить матрицу на скаляр?
Произведение матрицы $ M = [a_ {ij}] $ на скаляр (число) $ \ lambda $ – это матрица того же размера, что и исходная матрица $ M $, где каждый элемент матрицы умножен на $ \ lambda $.
$$ \ lambda M = [\ lambda a_ {ij}] $$
Каковы свойства умножения матриц?
Ассоциативность: $$ A \ times (B \ times C) = (A \ times B) \ times C $$
Распределимость: $$ A \ раз (B + C) = A \ раз B + A \ раз C $$
$$ (A + B) \ раз C = A \ раз C + B \ раз C $$
$$ \ lambda (A \ times B) = (\ lambda A) \ times B = A \ times (\ lambda B) $$
Порядок операндов имеет значение при умножении матриц на , поэтому $$ M_1.M_2 \ neq M_2.M_1 $$
Как перемножить две матрицы несовместимых форм?
Задайте новый вопросИсходный код
dCode сохраняет право собственности на исходный код онлайн-инструмента «Матричный продукт». За исключением явной лицензии с открытым исходным кодом (обозначенной CC / Creative Commons / бесплатно), любой алгоритм, апплет или фрагмент «Матричного продукта» (конвертер, решатель, шифрование / дешифрование, кодирование / декодирование, шифрование / дешифрование, переводчик) или любой «Матричный продукт» ‘функция (вычислить, преобразовать, решить, расшифровать / зашифровать, расшифровать / зашифровать, декодировать / закодировать, перевести), написанная на любом информационном языке (Python, Java, PHP, C #, Javascript, Matlab и т. д.)), и никакая загрузка данных, скрипт, копирование и доступ к API для «Матричного продукта» не будут бесплатными, то же самое для автономного использования на ПК, планшете, iPhone или Android! dCode распространяется бесплатно и онлайн.
Нужна помощь?
Пожалуйста, посетите наше сообщество dCode Discord для запросов о помощи!
NB: для зашифрованных сообщений проверьте наш автоматический идентификатор шифра!
Вопросы / комментарии
Сводка
Похожие страницы
Поддержка
Форум / Справка
Ключевые слова
произведение, умножение, матрица, скаляр, число, 2×2,2×3,3×2,3×3,3×4,4×3,4×4,5×5
Ссылки
Источник: https: // www.dcode.fr/matrix-multiplication
© 2021 dCode – Идеальный «инструментарий» для решения любых игр / загадок / геокэшинга / CTF.Скалярный и матричное умножение (стр. 1 из 3) Есть два типа умножение для матриц: скалярное умножение и умножение матриц.Скалярное умножение – это просто. Вы просто набираете обычный номер (называется «скаляр») и умножьте его на каждую запись в матрице.
Сделать первый скаляр умножение, чтобы найти 2 А , Я просто умножаю 2 на каждую запись в матрице: Другое скалярное умножение, найти 1 A , работает аналогично: Итак, окончательный ответ: Авторские права Элизабет Стапель 2003-2011 Все права защищены Скалярное умножение легкий.Однако умножение матриц – это совсем другая история. По факту, это королевская боль. Ваш текст, вероятно, дал вам сложную формулу для процесс, и эта формула, вероятно, не имела для вас никакого смысла. Это хорошо. Процесс грязный, и эта сложная формула – лучшее, что они может пригодиться для объяснения в формальной обстановке, например, в учебнике. Вот как работает процесс:
Для расчета AB , Записываю А и B рядом друг с другом вот так: Теперь мне нужно умножить РЯД А КОЛОННАМИ B .Под этим я подразумеваю, что сначала беру первый ряд A и первый столбец B , и я умножаю первые записи, затем вторые записи, а затем третья запись, а затем я добавляю три продукта. Сумма одна запись в матрице продуктов AB ; фактически, будучи произведением строки 1 и столбец 1, результатом является 1,1-запись из AB .Затем я продолжаю в том же духе. Например, сумма произведений из 2-го ряда из А и столбец 1 из В 2,1-запись из AB . Когда я умножаю матрицы, Я использую пальцы, чтобы следить за тем, что я делаю. Следующая анимация это моя попытка проиллюстрировать этот процесс. (Не смейтесь, я не художник!) (Итак, класс; что я сказать про смех?) Окончательный ответ: Как вы видели в приведенном выше примере, по общему правилу продукт i -й ряд А и j -й колонка Б это i , j -й запись матрицы продукта AB .Это общее правило по большей части представляет собой сложную формулу в ваш текст был о. Например, когда я, в в приведенном выше примере сначала умножили ряд (из А ) и второй столбец (из В ), это дало мне первая строка – вторая колонка запись в матрице продукта AB . Верх | 1 | 2 | 3 | Вернуться к указателю Далее >>
|
Умножающие матрицы – MathBootCamps
Хотя сложение или вычитание матриц относительно просто, умножение матриц сильно отличается от большинства математических операций, которые вы усвоили заранее.Здесь мы рассмотрим хороший способ умножения двух матриц и некоторые важные свойства, связанные с ним. Вы также узнаете, как определить, когда умножение не определено.
реклама
Содержание:
- Умножение двух матриц: «строки попадают в столбцы» (анимация)
- Умножение матриц не всегда определяется
- Умножение матриц некоммутативно
- Примеры умножения матриц
- Обзор свойств
Умножение двух матриц: «строки попадают в столбцы»
Чтобы понять общую схему умножения двух матриц, представьте, что «строки попадают в столбцы и заполняются строками».Рассмотрим следующий пример.
Первая строка «попадает» в первый столбец, давая нам первую запись продукта. Обратите внимание, что, поскольку это произведение двух матриц 2 x 2 (количество строк и столбцов), результатом также будет матрица 2 x 2. Как на это влияет размер матрицы, мы рассмотрим позже в статье.
Теперь первая строка «попадает» во второй столбец, заполняя строку продукта.
Закончились столбцы для «попадания», теперь мы работаем со второй строкой.
Осталась одна последняя запись для расчета. Вторая строка теперь «попадает» во второй столбец.
Наконец, нам просто нужно выполнить арифметику, чтобы получить окончательный ответ.
Анимация этого процесса
Здесь вы можете увидеть анимацию этого процесса. Нет звука – не беспокойтесь о поиске наушников!
Вскоре мы увидим еще пару примеров, но сначала нам нужно обсудить, как размер матрицы влияет на результат при умножении.Фактически, бывают случаи, когда из-за размера матрицы умножение не определено.
Умножение матриц не всегда определяется
При умножении матриц размер двух задействованных матриц определяет, будет ли определен продукт. Вы также можете использовать размеры, чтобы определить результат умножения двух матриц. Напомним, что размер матрицы – это количество строк по количеству столбцов. Матрицы выше были 2 x 2, так как каждая из них имела 2 строки и 2 столбца.
Как видите, размеры матриц не обязательно должны быть одинаковыми, вам просто нужно сопоставить два средних числа, когда вы пишете размеры рядом. В противном случае продукт не определен.
Подумайте об этом: например, если матрица A имеет размер 3 x 4, то произведение A и самого себя не будет определено, поскольку внутренние числа не будут совпадать. Это всего лишь один пример того, как умножение матриц ведет себя не так, как вы могли бы ожидать.
Умножение матриц некоммутативно
Из начальной школы вы знаете, что произведение (2) (3) = (3) (2).Неважно, в каком порядке вы умножаете числа, результат тот же. В целом это не работает для матриц. Только в особых случаях можно сказать, что AB = BA. Итак, в общем, вы должны предполагать, что они не равны. Может быть даже так, что AB определен, а BA не определен!
Даже если продукт определен, опять же маловероятно, что результаты будут одинаковыми для AB и BA.
Примеры умножения матриц
Теперь, когда мы рассмотрели некоторые важные свойства умножения матриц, давайте рассмотрим пару примеров.
Пример
Найдите продукт AB, где:
\ (A = \ left [\ begin {array} {cc} -5 & 3 \\ -4 & -1 \\ \ end {array} \ right] \)
и
\ ( B = \ left [\ begin {array} {cc} 1 & -1 \\ 2 & 6 \\ \ end {array} \ right] \)
Решение
Помните, что строки попадают в столбцы и заполняют строки. Здесь каждая из матриц имеет размер 2 x 2, поэтому результатом будет матрица 2 x 2.
\ (\ begin {align} AB & = \ left [\ begin {array} {cc} -5 & 3 \\ -4 & -1 \\ \ end {array} \ right] \ left [\ begin {array} {cc} 1 & -1 \\ 2 & 6 \\ \ end {array} \ right] \\ & = \ left [\ begin {array} {cc} -5 (1) + 3 (2) & -5 (-1) + 3 (6) \\ -4 (1) + (- 1) (2) & (-4) (- 1) + (- 1) (6) \\ \ end {array} \ right ] \\ & = \ boxed {\ left [\ begin {array} {cc} 1 & 23 \\ -6 & -2 \\ \ end {array} \ right]} \ end {align} \)
Пример
Найдите продукт AB где:
\ (A = \ left [\ begin {array} {cccc} -2 & -1 & 0 & 0 \\ 1 & 2 & 1 & 1 \\ \ end {array} \ right] \)
и
\ (B = \ left [\ begin {array} {cccc} 3 & 1 & 1 & 2 \\ -1 & -1 & 0 & 1 \\ \ end {array} \ right] \)
Решение
Здесь у нас есть матрица 2 x 4, умноженная на матрицу 2 x 4.Внутренние числа этих размеров не совпадают, поэтому:
\ (\ boxed {AB \ text {не определено}} \)
Пример
Найдите продукт AB, где:
\ (A = \ left [\ begin {array} {cc} 1 & 2 \\ -2 & 0 \\ 3 & 1 \\\ end {array} \ right] \)
и
\ (B = \ left [\ begin {array} {cc} 4 & 0 \\ 0 & 1 \\ \ end {array} \ right] \)
Решение
Это произведение матрицы 3 x 2 и матрицы 2 x 2. Внутренние числа совпадают, поэтому продукт определен.Результатом будет матрица 3 x 2.
\ (\ begin {align} AB & = \ left [\ begin {array} {cc} 1 & 2 \\ -2 & 0 \\ 3 & 1 \\\ end {array} \ right] \ left [\ begin {массив} {cc} 4 & 0 \\ 0 & 1 \\ \ end {array} \ right] \\ & = \ left [\ begin {array} {cc} 1 (4) + 2 (0) & 1 (0) + 2 (1) \\ -2 (4) + 0 (0) & -2 (0) + 0 (1) \\ 3 (4) + 1 (0) & 3 (0) + 1 ( 1) \\\ end {array} \ right] \\ & = \ boxed {\ left [\ begin {array} {cc} 4 & 2 \\ -8 & 0 \\ 12 & 1 \\\ end {массив } \ right]} \ end {align} \)
объявление
Сводка
Помните следующее всякий раз, когда вы перемножаете две или более матриц.
- Строки попадают в столбцы и заполняют строки.
- Умножение матриц не всегда определяется – сначала проверьте размер матрицы!
- Умножение матриц в общем случае не коммутативно.
Подпишитесь на нашу рассылку новостей!
Мы всегда публикуем новые бесплатные уроки и добавляем новые учебные пособия, руководства по калькуляторам и пакеты задач.
Подпишитесь, чтобы получать электронные письма (раз в пару или три недели) с информацией о новинках!
Связанные4.Умножение матриц
Важно: Мы можем перемножать матрицы только в том случае, если количество столбцов в первой матрице совпадает с количеством строк во второй матрице.
Пример 1
a) Умножение матрицы 2 × 3 на матрицу 3 × 4 возможно, и это дает матрицу 2 × 4 в качестве ответа.
b) Допускается умножение матрицы 7 × 1 на матрицу 1 × 2; это дает матрицу 7 × 2
c) НЕЛЬЗЯ умножить матрицу 4 × 3 на матрицу 2 × 3.
Как умножить 2 матрицы
Сначала мы используем буквы, чтобы увидеть, что происходит. Позже мы увидим пример чисел.
В качестве примера возьмем обычную матрицу 2 × 3, умноженную на матрицу 3 × 2.
`[(a, b, c), (d, e, f)] [(u, v), (w, x), (y, z)]`
Ответом будет матрица 2 × 2.
Умножаем и складываем элементы следующим образом. Мы обрабатываем по 1-й строке первой матрицы, поэлементно умножая на 1-й столбец второй матрицы.Складываем полученное произведение . Наш ответ находится в позиции a 11 (вверху слева) матрицы ответов.
Мы делаем аналогичный процесс для 1-й строки первой матрицы и 2-го столбца второй матрицы. Результат помещается на позицию a 12 .
Теперь для 2-й строки первой матрицы и 1-го столбца второй матрицы. Результат помещается на позиции a 21 .
Наконец, мы делаем вторую строку первой матрицы и второй столбец второй матрицы. Результат помещается на позицию a 22 .
Итак, результат умножения наших двух матриц будет следующим:
`[(a, b, c), (d, e, f)] [(u, v), (w, x), (y, z)]` `= [(au + bw + cy, av + bx + cz), (du + ew + fy, dv + ex + fz)] `
Теперь давайте посмотрим на числовой пример.
Телефонные пользователи
ПРИМЕЧАНИЕ: Если вы разговариваете по телефону, вы можете прокрутить любую матрицу шириной на этой странице вправо или влево, чтобы увидеть все выражение.
Пример 2
Умножить:
`((0, -1,2), (4,11,2)) ((3, -1), (1,2), (6,1))`
Ответ
Это 2 × 3 умножить на 3 × 2, что даст нам 2 × 2 отвечать.
`((0, -1,2), (4,11,2)) ((3, -1), (1,2), (6,1))`
`= ((0xx3 + -1xx1 + 2xx6,0xx-1 + -1xx2 + 2xx1), (4xx3 + 11xx1 + 2xx6,4xx -1 + 11xx2 + 2xx1))`
`= ((0-1 + 12,0-2 + 2), (12 + 11 + 12, -4 + 22 + 2))`
`= ((11,0), (35,20))`
Наш ответ – матрица 2 × 2.
Умножение матриц 2 × 2
Процесс одинаков для матрицы любого размера. Мы умножаем на строк первой матрицы и на столбца второй матрицы поэлементно. Затем мы добавляем продукты:
`((a, b), (c, d)) ((e, f), (g, h))` `= ((ae + bg, af + bh), (ce + dg, cf + dh )) `
В этом случае мы умножаем матрицу 2 × 2 на матрицу 2 × 2 и в результате получаем матрицу 2 × 2.
Пример 3
Умножить:
`((8,9), (5, -1)) ((- 2,3), (4,0))`
Ответ
`((8,9), (5, -1)) ((- 2,3), (4,0))`
`= ((8 xx -2 + 9xx4,8xx3 + 9xx0), (5xx-2 + -1xx4,5xx3 + -1xx0))`
`= ((-16 + 36,24 + 0), (- 10+ -4,15 + 0))`
`= ((20,24), (- 14,15))`
Матрицы и системы одновременных линейных уравнений
Теперь мы видим, как написать систему линейных уравнений, используя умножение матриц.
Пример 4
Система уравнений
−3 x + y = 1
6 x -3 y = −4
можно записать как:
Матрицы`((-3,1), (6, -3)) ((x), (y)) = ((1), (- 4))`
идеальны для компьютерного решения задач, потому что компьютеры легко образуют массивы . Мы можем опустить алгебраические символы. Компьютеру требуются только первая и последняя матрицы для решения системы, как мы увидим в разделе «Матрицы и линейные уравнения».
Примечание 1 – Обозначение
Care с записью умножением матриц .
Следующие выражения имеют различных значений:
AB – это матричное умножение
A × B – это перекрестное произведение , которое возвращает вектор
A * B используется в компьютерной нотации, но не на бумаге
A • B точечное произведение , которое возвращает скаляр .
[Дополнительную информацию о векторных и скалярных величинах см. В главе «Вектор».]
Примечание 2 – Коммутативность умножения матриц
Имеет ли `AB = BA`?
Посмотрим, правда ли это на примере.
Пример 5
Если
`A = ((0, -1,2), (4,11,2))`
и
`B = ((3, -1), (1,2), (6,1))`
найдите AB, и BA.
Ответ
Мы выполнили AB выше, и ответ был:
`AB = ((0, -1,2), (4,11,2)) ((3, -1), (1,2), (6,1))`
`= ((11,0), (35,20))`
Теперь BA – это (3 × 2) (2 × 3), что даст 3 × 3:
`BA = ((3, -1), (1,2), (6,1)) ((0, -1,2), (4,11,2))`
`= ((0-4, -3-11,6-2), (0 + 8, -1 + 22,2 + 4), (0 + 4, -6 + 11,12 + 2))`
`= ((-4, -14,4), (8,21,6), (4,5,14))`
Итак, в этом случае AB НЕ равно BA.
Фактически, для большинства матриц вы не можете изменить порядок умножения и получить тот же результат.
В общем случае при умножении матриц закон коммутативности не выполняется, т.е. AB ≠ BA . Есть два распространенных исключения:
.- Идентификационная матрица: IA = AI = A .?
- инверсия матрицы: A -1 A = AA -1 = I.
В следующем разделе мы узнаем, как найти обратную матрицу.
Пример 6 – Умножение на матрицу идентичности
Учитывая, что
`A = ((- 3,1,6), (3, -1,0), (4,2,5))`
найдите AI .
Ответ
`AI = ((-3,1,6), (3, -1,0), (4,2,5)) ((1,0,0), (0,1,0), (0 , 0,1)) `
`= ((- 3 + 0 + 0,0 + 1 + 0,0 + 0 + 6), (3 + 0 + 0,0 + -1 + 0,0 + 0 + 0), (4 + 0 + 0,0 + 2 + 0,0 + 0 + 5)) `
`= ((- 3,1,6), (3, -1,0), (4,2,5))`
`= A`
Мы видим, что умножение на единичную матрицу не меняет значения исходной матрицы.
То есть
AI = A
Упражнения
1. Если возможно, найдите BA и AB .
`A = ((- 2,1,7), (3, -1,0), (0,2, -1))`
`B = (4 \ \ -1 \ \ \ 5)`
Ответ
`BA = (4 \ \ -1 \ \ \ 5) ((- 2,1,7), (3, -1,0), (0,2, -1))`
`= (-8 + (- 3) +0 \ \ \ 4 + 1 + 10 \ \ \ 28 + 0 + (- 5))`
`= (- 11 \ \ 15 \ \ 23)`
AB невозможно.(3 × 3) × (1 × 3).
2. Определите, если B = A -1 , учитывая:
`A = ((3, -4), (5, -7))`
`B = ((7,4), (5,3))`
Ответ
Если B = A -1 , то AB = I.
`AB = ((3, -4), (5, -7)) ((7,4), (5,3))`
`= ((21-20,12-12), (35-35,20-21))`
`= ((1,0), (0, -1))`
`! = I`
Таким образом, B НЕ является инверсией A.2 + 0)) `
`= ((1,0), (0,1))`
`= I`
4. Оцените следующее умножение матриц, которое используется для управления движением роботизированного механизма.
`((cos \ 60 °, -sin \ 60 °, 0), (sin \ 60 °, cos \ 60 °, 0), (0,0,1)) ((2), (4), ( 0)) `
Ответ
`((cos \ 60 °, -sin \ 60 °, 0), (sin \ 60 °, cos \ 60 °, 0), (0,0,1)) ((2), (4), ( 0)) `
`= ((2 (0,5) -4 (0,866) +0), (2 (0,866) +4 (0,5) +0), (0 + 0 + 0))`
`= ((- 2,464), (3,732), (0))`
Интерпретация этого заключается в том, что рука робота движется из позиция (2, 4, 0) в позицию (-2.46, 3.73, 0). То есть это перемещается в плоскости x-y , но его высота остается на уровне z = 0 . Матрица 3 × 3, содержащая sin и Значения cos говорят, на сколько градусов нужно переместить.
Интерактивные элементы умножения матриц
2.2: Умножение матриц – математика LibreTexts
Следующая важная операция с матрицами, которую мы рассмотрим, – это умножение матриц. Операция матричного умножения – одна из самых важных и полезных из матричных операций.{th} \) столбец матрицы-строки.
Матрица \ (n \ times 1 \) \ [X = \ left [\ begin {array} {c} x_ {1} \\ \ vdots \\ x_ {n} \ end {array} \ right] \] называется вектор-столбец . Вызывается матрица \ (1 \ times n \) \ [X = \ left [\ begin {array} {ccc} x_ {1} & \ cdots & x_ {n} \ end {array} \ right] \] вектор-строка .
Мы можем просто использовать термин вектор по всему тексту для обозначения вектора столбца или строки. Если мы это сделаем, контекст прояснит, о чем мы говорим.
В этой главе мы снова будем использовать понятие линейной комбинации векторов, как в определении [def: linearcombination]. В этом контексте линейная комбинация – это сумма, состоящая из векторов, умноженных на скаляры. Например, \ [\ left [\ begin {array} {r} 50 \\ 122 \ end {array} \ right] = 7 \ left [\ begin {array} {r} 1 \\ 4 \ end {array} \ right] +8 \ left [\ begin {array} {r} 2 \\ 5 \ end {array} \ right] +9 \ left [\ begin {array} {r} 3 \\ 6 \ end {array} \ right] \] представляет собой линейную комбинацию трех векторов.
Оказывается, любую систему линейных уравнений можно выразить как линейную комбинацию векторов. Фактически, векторы, которые мы будем использовать, – это просто столбцы соответствующей расширенной матрицы!
Определение \ (\ PageIndex {2} \): векторная форма системы линейных уравнений
Предположим, у нас есть система уравнений, заданная как \ [\ begin {array} {c} a_ {11} x_ {1} + \ cdots + a_ {1n} x_ {n} = b_ {1} \\ \ vdots \ \ a_ {m1} x_ {1} + \ cdots + a_ {mn} x_ {n} = b_ {m} \ end {array} \] Мы можем выразить эту систему в векторной форме , которая выглядит следующим образом: \ [ x_1 \ left [\ begin {array} {c} a_ {11} \\ a_ {21} \\ \ vdots \\ a_ {m1} \ end {array} \ right] + x_2 \ left [\ begin {array} {c} a_ {12} \\ a_ {22} \\ \ vdots \\ a_ {m2} \ end {array} \ right] + \ cdots + x_n \ left [\ begin {array} {c} a_ {1n } \\ a_ {2n} \\ \ vdots \\ a_ {mn} \ end {array} \ right] = \ left [\ begin {array} {c} b_1 \\ b_2 \\ \ vdots \\ b_m \ end {array} \ right] \]
Обратите внимание, что каждый используемый здесь вектор представляет собой один столбец из соответствующей расширенной матрицы.Для каждой переменной в системе есть один вектор вместе с постоянным вектором.
Первая важная форма умножения матриц – это умножение матрицы на вектор. Рассмотрим продукт, заданный как \ [\ left [\ begin {array} {rrr} 1 & 2 & 3 \\ 4 & 5 & 6 \ end {array} \ right] \ left [\ begin {array} {r} 7 \\ 8 \\ 9 \ end {array} \ right] \] Мы скоро увидим, что это равно \ [7 \ left [\ begin {array} {c} 1 \\ 4 \ end {array} \ right] + 8 \ left [\ begin {array} {c} 2 \\ 5 \ end {array} \ right] +9 \ left [\ begin {array} {c} 3 \\ 6 \ end {array} \ right] = \ left [\ begin {array} {c} 50 \\ 122 \ end {array} \ right] \]
В общих чертах, \ [\ begin {align} \ left [\ begin {array} {ccc} a_ {11} & a_ {12} & a_ {13} \\ a_ {21} & a_ {22} & a_ {23} \ end {array} \ right] \ left [\ begin {array} {c} x_ {1} \\ x_ {2} \\ x_ {3} \ end {array} \ right] & = & \ x_ {1} \ left [\ begin {array} {c} a_ {11} \\ a_ {21} \ end {array} \ right] + x_ {2} \ left [\ begin {array} {c} a_ {12} \\ a_ {22} \ end {array} \ right] + x_ {3} \ left [\ begin {array} {c} a_ {13} \\ a_ {23} \ end {array} \ right ] \\ & = & \ left [\ begin {array} {c} a_ {11} x_ {1} + a_ {12} x_ {2} + a_ {13} x_ {3} \\ a_ {21} x_ {1} + a_ {22} x_ {2} + a_ {23} x_ {3} \ end {array} \ right] \ end {align} \] Таким образом, вы берете \ (x_ {1} \) раз первый столбца, добавьте в \ (x_ {2} \) раз второй столбец и, наконец, умножьте на \ (x_ {3} \) третий столбец. {n} x_ {j} A_ {j} \]
Если мы запишем столбцы \ (A \) в терминах их записей, они будут иметь форму \ [A_ {j} = \ left [\ begin {array} {c} a_ {1j} \\ a_ {2j } \\ \ vdots \\ a_ {mj} \ end {array} \ right] \] Затем мы можем записать продукт \ (AX \) как \ [AX = x_ {1} \ left [\ begin {array} {c} a_ {11} \\ a_ {21} \\ \ vdots \\ a_ {m1} \ end {array} \ right] + x_ {2} \ left [\ begin {array} {c} a_ {12 } \\ a_ {22} \\ \ vdots \\ a_ {m2} \ end {array} \ right] + \ cdots + x_ {n} \ left [\ begin {array} {c} a_ {1n} \\ a_ {2n} \\ \ vdots \\ a_ {mn} \ end {array} \ right] \]
Обратите внимание, что умножение матрицы \ (m \ times n \) и вектора \ (n \ times 1 \) дает вектор \ (m \ times 1 \).
Вот пример.
Пример \ (\ PageIndex {1} \): вектор, умноженный на матрицу
Вычислить произведение \ (AX \) для \ [A = \ left [\ begin {array} {rrrr} 1 & 2 & 1 & 3 \\ 0 & 2 & 1 & -2 \\ 2 & 1 & 4 & 1 \ end {array} \ right], X = \ left [\ begin {array} {r} 1 \\ 2 \\ 0 \\ 1 \ end {array} \ right] \]
Решение
Мы будем использовать Определение [def: multiplicationvectormatrix] для вычисления произведения. Следовательно, мы вычисляем произведение \ (AX \) следующим образом.\ [\ begin {align} & 1 \ left [\ begin {array} {r} 1 \\ 0 \\ 2 \ end {array} \ right] + 2 \ left [\ begin {array} {r} 2 \ \ 2 \\ 1 \ end {array} \ right] + 0 \ left [\ begin {array} {r} 1 \\ 1 \\ 4 \ end {array} \ right] + 1 \ left [\ begin {массив } {r} 3 \\ -2 \\ 1 \ end {array} \ right] \\ & = \ left [\ begin {array} {r} 1 \\ 0 \\ 2 \ end {array} \ right] + \ left [\ begin {array} {r} 4 \\ 4 \\ 2 \ end {array} \ right] + \ left [\ begin {array} {r} 0 \\ 0 \\ 0 \ end {массив } \ right] + \ left [\ begin {array} {r} 3 \\ -2 \\ 1 \ end {array} \ right] \\ & = \ left [\ begin {array} {r} 8 \\ 2 \\ 5 \ end {array} \ right] \ end {align} \]
Используя вышеуказанную операцию, мы также можем записать систему линейных уравнений в матричной форме .В этой форме мы выражаем систему как матрицу, умноженную на вектор. Рассмотрим следующее определение.
Определение \ (\ PageIndex {4} \): матричная форма системы линейных уравнений
Предположим, у нас есть система уравнений, заданная как \ [\ begin {array} {c} a_ {11} x_ {1} + \ cdots + a_ {1n} x_ {n} = b_ {1} \\ a_ {21 } x_ {1} + \ cdots + a_ {2n} x_ {n} = b_ {2} \\ \ vdots \\ a_ {m1} x_ {1} + \ cdots + a_ {mn} x_ {n} = b_ {m} \ end {array} \] Тогда мы можем выразить эту систему в матричной форме следующим образом.\ [\ left [\ begin {array} {cccc} a_ {11} & a_ {12} & \ cdots & a_ {1n} \\ a_ {21} & a_ {22} & \ cdots & a_ {2n} \ \ \ vdots & \ vdots & \ ddots & \ vdots \\ a_ {m1} & a_ {m2} & \ cdots & a_ {mn} \ end {array} \ right] \ left [\ begin {array} {c} x_ {1} \\ x_ {2} \\ \ vdots \\ x_ {n} \ end {array} \ right] = \ left [\ begin {array} {c} b_ {1} \\ b_ {2} \\ \ vdots \\ b_ {m} \ end {array} \ right] \]
Выражение \ (AX = B \) также известно как Матричная форма соответствующей системы линейных уравнений.Матрица \ (A \) – это просто матрица коэффициентов системы, вектор \ (X \) – это вектор-столбец, построенный из переменных системы, и, наконец, вектор \ (B \) – это вектор-столбец, построенный из константы системы. Важно отметить, что в таком виде можно записать любую систему линейных уравнений.
Обратите внимание, что если мы запишем однородную систему уравнений в матричной форме, она будет иметь вид \ (AX = 0 \) для нулевого вектора \ (0 \).
Из этого определения видно, что вектор \ [X = \ left [\ begin {array} {c} x_ {1} \\ x_ {2} \\ \ vdots \\ x_ {n} \ end {array} \ right] \] удовлетворяет уравнению \ (AX = B \) только тогда, когда элементы \ (x_ {1}, x_ {2}, \ cdots, x_ {n} \) вектора \ (X \) равны решения исходной системы.
Теперь, когда мы изучили, как умножить матрицу на вектор, мы хотим рассмотреть случай, когда мы умножаем две матрицы более общих размеров, хотя эти размеры все еще должны быть подходящими, как мы увидим. Например, в примере [exa: vectormultbymatrix] мы умножили матрицу \ (3 \ times 4 \) на вектор \ (4 \ times 1 \). Мы хотим исследовать, как умножать другие размеры матриц.
Мы еще не дали никаких условий, когда возможно умножение матриц! Для матриц \ (A \) и \ (B \), чтобы сформировать продукт \ (AB \), количество столбцов в \ (A \) должно равняться количеству строк в \ (B.\) Рассмотрим продукт \ (AB \), где \ (A \) имеет размер \ (m \ times n \), а \ (B \) имеет размер \ (n \ times p \). Тогда продукт с точки зрения размера матриц определяется как \ [(m \ times \ overset {\ text {они должны совпадать!}} {\ Widehat {n) \; (n} \ times p}) = m \ раз p \]
Обратите внимание, что два внешних числа указывают размер продукта. Одно из наиболее важных правил умножения матриц заключается в следующем. {th} \) столбец \ (AB \).
Рассмотрим следующий пример.
Пример \ (\ PageIndex {2} \): умножение двух матриц
Найдите \ (AB \), если возможно. \ [A = \ left [\ begin {array} {rrr} 1 & 2 & 1 \\ 0 & 2 & 1 \ end {array} \ right], B = \ left [\ begin {array} {rrr} 1 & 2 & 0 \\ 0 & 3 & 1 \\ -2 & 1 & 1 \ end {array} \ right] \]
Решение
Первое, что вам нужно проверить при вычислении произведения, – это возможность умножения.Первая матрица имеет размер \ (2 \ times 3 \), а вторая матрица имеет размер \ (3 \ times 3 \). Внутренние числа равны, поэтому \ (A \) и \ (B \) – согласованные матрицы. Согласно приведенному выше обсуждению \ (AB \) будет матрицей \ (2 \ times 3 \). Определение [def: multiplicationoftwomatrices] дает нам способ вычислить каждый столбец \ (AB \) следующим образом.
\ [\ left [\ overset {\ text {Первый столбец}} {\ overbrace {\ left [\ begin {array} {rrr} 1 & 2 & 1 \\ 0 & 2 & 1 \ end {array} \ right ] \ left [\ begin {array} {r} 1 \\ 0 \\ -2 \ end {array} \ right]}}, \ overset {\ text {Второй столбец}} {\ overbrace {\ left [\ begin {массив} {rrr} 1 & 2 & 1 \\ 0 & 2 & 1 \ end {array} \ right] \ left [\ begin {array} {r} 2 \\ 3 \\ 1 \ end {array} \ right]}}, \ overset {\ text {Третий столбец}} {\ overbrace {\ left [\ begin {array} {rrr} 1 & 2 & 1 \\ 0 & 2 & 1 \ end {array} \ right] \ left [\ begin {array} {r} 0 \\ 1 \\ 1 \ end {array} \ right]}} \ right] \] Вы знаете, как умножить матрицу на вектор, используя Определение [def: multiplicationvectormatrix ] для каждого из трех столбцов.Таким образом, \ [\ left [\ begin {array} {rrr} 1 & 2 & 1 \\ 0 & 2 & 1 \ end {array} \ right] \ left [\ begin {array} {rrr} 1 & 2 & 0 \\ 0 & 3 & 1 \\ -2 & 1 & 1 \ end {array} \ right] = \ \ left [\ begin {array} {rrr} -1 & 9 & 3 \\ -2 & 7 & 3 \ end {array} \ right] \]
Поскольку векторы – это просто матрицы \ (n \ times 1 \) или \ (1 \ times m \), мы также можем умножить вектор на другой вектор.
Пример \ (\ PageIndex {3} \): умножение вектора на вектор
Если возможно, умножьте \ (\ left [\ begin {array} {r} 1 \\ 2 \\ 1 \ end {array} \ right] \ left [\ begin {array} {rrrr} 1 & 2 & 1 & 0 \ end {array} \ right].\)
Решение
В этом случае мы умножаем матрицу размера \ (3 \ times 1 \) на матрицу размера \ (1 \ times 4. \). Внутренние числа совпадают, поэтому произведение определено. Обратите внимание, что продукт будет матрицей размером \ (3 \ times 4 \). Используя Определение [def: multiplicationoftwomatrices], мы можем вычислить этот продукт следующим образом: \ (\: \) \ [\ left [\ begin {array} {r} 1 \\ 2 \\ 1 \ end {array} \ right] \ left [\ begin {array} {rrrr} 1 & 2 & 1 & 0 \ end {array} \ right] = \ left [\ overset {\ text {Первый столбец}} {\ overbrace {\ left [\ begin {array } {r} 1 \\ 2 \\ 1 \ end {array} \ right] \ left [\ begin {array} {r} 1 \ end {array} \ right]}}, \ overset {\ text {Второй столбец }} {\ overbrace {\ left [\ begin {array} {r} 1 \\ 2 \\ 1 \ end {array} \ right] \ left [\ begin {array} {r} 2 \ end {array} \ right]}}, \ overset {\ text {Третий столбец}} {\ overbrace {\ left [\ begin {array} {r} 1 \\ 2 \\ 1 \ end {array} \ right] \ left [\ begin {массив} {r} 1 \ end {array} \ right]}}, \ overset {\ text {Четвертый столбец}} {\ overbrace {\ left [\ begin {array} {r} 1 \\ 2 \\ 1 \ end {array} \ right] \ left [\ begin {array} {r} 0 \ end {array} \ right]}} \ right] \]
Вы можете использовать Определение [def: multiplicationvectormatrix], чтобы убедиться, что этот продукт равен \ [\ left [\ begin {array} {cccc} 1 & 2 & 1 & 0 \\ 2 & 4 & 2 & 0 \\ 1 & 2 & 1 & 0 \ end {array} \ right] \]
Пример \ (\ PageIndex {4} \): умножение, которое не определено
Найдите \ (BA \), если возможно.\ [B = \ left [\ begin {array} {ccc} 1 & 2 & 0 \\ 0 & 3 & 1 \\ -2 & 1 & 1 \ end {array} \ right], A = \ left [\ begin {array} {ccc} 1 & 2 & 1 \\ 0 & 2 & 1 \ end {array} \ right] \]
Решение
Сначала проверьте, возможно ли это. Этот продукт имеет вид \ (\ left (3 \ times 3 \ right) \ left (2 \ times 3 \ right). \) Внутренние числа не совпадают, поэтому вы не можете выполнить это умножение.
В этом случае мы говорим, что умножение не определено.Обратите внимание, что это те же самые матрицы, которые мы использовали в примере [exa: multiplicationoftwomatrices]. В этом примере мы попытались вычислить \ (BA \) вместо \ (AB \). Это демонстрирует еще одно свойство умножения матриц. Хотя продукт \ (AB \) может быть определен, мы не можем предполагать, что продукт \ (BA \) будет возможен. Поэтому важно всегда проверять, определен ли продукт, прежде чем проводить какие-либо вычисления.
Ранее мы определили нулевую матрицу \ (0 \) как матрицу (подходящего размера), содержащую нули во всех элементах.Рассмотрим следующий пример умножения на нулевую матрицу.
Пример \ (\ PageIndex {5} \): умножение на нулевую матрицу
Вычислить произведение \ (A0 \) для матрицы \ [A = \ left [\ begin {array} {rr} 1 & 2 \\ 3 & 4 \ end {array} \ right] \] и \ (2 \ times 2 \) нулевая матрица, заданная как \ [0 = \ left [\ begin {array} {rr} 0 & 0 \\ 0 & 0 \ end {array} \ right] \]
Решение
В этом продукте мы вычисляем \ [\ left [\ begin {array} {rr} 1 & 2 \\ 3 & 4 \ end {array} \ right] \ left [\ begin {array} {rr} 0 & 0 \\ 0 & 0 \ end {array} \ right] = \ left [\ begin {array} {rr} 0 & 0 \\ 0 & 0 \ end {array} \ right] \]
Следовательно, \ (A0 = 0 \).
Обратите внимание, что мы также можем умножить \ (A \) на \ (2 \ times 1 \) нулевой вектор, заданный как \ (\ left [\ begin {array} {r} 0 \\ 0 \ end {array} \ right ] \). Результатом будет нулевой вектор \ (2 \ times 1 \). Следовательно, всегда имеет место \ (A0 = 0 \) для нулевой матрицы или вектора подходящего размера.
Умножение матриц– ChiliMath
Умножение матриц – это «беспорядочный тип», потому что вам нужно будет следовать определенному набору процедур, чтобы сделать это правильно.Это «беспорядочный тип», потому что процесс более сложен. Однако позже, пройдя процедуру и несколько примеров, вы поймете, что необходимые шаги можно выполнить. Не волнуйтесь, я вам помогу!
Но сначала мы должны убедиться, что две матрицы «разрешено» умножать вместе. В противном случае данные две матрицы «несовместимы» для умножения. В этом случае мы говорим, что решение не определено.
Умножение матрицы на матрицу a.k.a «Грязный тип»
Всегда помните об этом!
Для того, чтобы умножение матриц работало, количество столбцов левой матрицы ДОЛЖНО РАВНО количеству строк правой матрицы.
Предположим, нам даны матрицы A и B, найдите AB (произведите умножение матриц, если применимо). Определите, какая из них левая и правая матрицы, в зависимости от их расположения. Это очень важный шаг.
Чтобы определить, могу ли я перемножить две заданные матрицы, мне нужно обратить внимание на количество столбцов матрицы A и количество строк матрицы B.Если они равны, я могу перейти к умножению матриц. В противном случае сделаю вывод, что ответ неопределенный!
Поскольку матрица A имеет количество столбцов 2 , а матрица B имеет количество строк 3 , и они не равны (2 ≠ 3), я заключаю, что AB = undefined . Это означает, что их продукт невозможно найти.
Примеры умножения матриц, также известного как «Беспорядочный тип»
Указания : Для следующих матриц выполните указанную операцию.
Пример 1 : Вычислить, если возможно, произведение B и E.
Чтобы матрицы B и E имели произведение, количество столбцов левой матрицы B должно равняться количеству строк правой матрицы E.
количество столбцов = 3
количество строк = 3
В этом случае их можно перемножить. Теперь это шаги:
Шаг 1: Поместите их рядом.
Шаг 2: Умножьте строки B на столбцы E, умножив соответствующие элементы каждой строки на каждый элемент столбца, а затем сложите их вместе.
Внимательно посмотрите анимированное решение.
Если у вас нет терпения смотреть приведенное выше анимированное решение о том, как выполнять матричное умножение, вы можете просмотреть обычное решение, которое я включил ниже.
Пример 2 : Вычислить, если возможно, произведение E и F.
Сначала проверьте, существует ли произведение двух матриц, убедившись, что количество столбцов левой матрицы E равно количеству строк правой матрицы F.
количество столбцов = 2
количество строк = 2
Это замечательно, поскольку количество столбцов матрицы E равно количеству строк матрицы F. Это означает, что произведение EF определено, поэтому мы можем продолжить и выполнить умножение матриц. См. Ниже анимированное пошаговое решение умножения матриц.
Пример 3 : Рассчитайте, если возможно, произведение F и E.
В нашем предыдущем примере мы успешно получили продукт EF.На этот раз мы хотим выяснить, сможем ли мы найти продукт E [латекс] и [латекс] F в указанном порядке.
Напомню, что действительные числа коммутативны при операции умножения, что означает, что порядок умножения не влияет на конечный результат. Например …
Таким образом, возникает большой вопрос, работает ли это также при умножении матриц?
Проверим, равно ли количество столбцов матрицы F количеству строк матрицы E.
количество столбцов = 2
количество строк = 3
Очевидно, что количество столбцов матрицы F не равно количеству строк матрицы E.Подразумевается, что произведение FE не может быть вычислено, поэтому не определено!
В общем случае умножение матриц не коммутативно.
Пример 4 : Рассчитайте, если возможно, произведение AE.
Стандартный способ описать размер или размерность матрицы – это …
(указать количество строк) x (указать количество столбцов)
… читается как «количество строк по количеству столбцов».
3 x 3 (матрица три на три)
3 x 2 (матрица три на два)
Поскольку количество столбцов в матрице A , равное , равно количеству строк в матрице E , равному , мы заключаем, что произведение AE определено.
Давайте разберемся. См. Анимированное решение ниже.
Пример 5 : Рассчитайте, если возможно, произведение E и A.
3 x 2 (матрица три на два)
3 x 3 (матрица три на три)
Очевидно, что количество столбцов матрицы E не равно количеству столбцов матрицы A. Следовательно, произведение EA не может быть вычислено или не определено.
Пример 6 : Вычислить, если возможно, произведение D и F.2}. Другими словами, мы возводим в квадрат матрицу C.
Здесь нужно проявлять осторожность. Обратите внимание, что возвести в квадрат можно только квадратную матрицу. Напомним, квадратная матрица – это матрица, в которой номер строки равен номеру столбца.
Я предоставлю вам возможность проверить правильность приведенного ниже решения. Такие математические задачи, как эта, хотя и утомительны, я всегда рекомендую решать их вручную, используя карандаш и бумагу.
Практика с рабочими листами
Возможно, вас заинтересует:
Сложение и вычитание матриц
Скалярное умножение
.