Умножение матриц: алгоритм, свойства произведения, примеры
Оглавление
Время чтения: 8 минут
685
Алгоритм умножения матриц в различных случаях
Умножаем данные в строке для первой матрицы на соответствующие данные в столбцах из второй матрицы.
- Перемножаем числовые значения первой строки на значения из первого столбца:
- Производим умножение первого элемента первой строки на соответствующий элемент из первого столбца.
- Находим произведение второго элемента первой строки и второго элемента, который берем из столбца №1.
- Проделываем такие же действия со всеми элементами, до тех пор, пока не дойдем до конца первой строки матрицы.
- Вычисленные произведения необходимо сложить между собой.
- Вычисленный результат будет равняться элементу для первой строки.
- Используя идентичный алгоритм, можно перемножить данные в первой строке из первой матрицы на данные всех последующих столбцов из второй матрицы. Вычисленные значения данных будет являться первой строкой матрицы, которую необходимо вычислить.
- Строка под номером два определяемой матрицы вычисляется также. Произведение числовых данных второй строки из первой матрицы на соответствующие данные для каждого столбца из второй матрицы. Окончательные данные фиксируются в составленную, новую матрицу, после окончания каждого определения суммы значений.
- Аналогичные действия нужно проводить с каждой строкой вычисляемой матрицы. Вычисления проводятся до тех пор все строчки новой матрицы не будут заполнены значениями.
Правило умножения произведения двух и более матриц
Умножение двух матриц. Произведение матриц (С= А x В) — является действием только для матриц А и В которые согласованы между собой. Для данных значений, число столбцов у матрицы А должно равняться количеству строк матрицы В:
\[C=A \cdot B\]
\[m \cdot n\] \[m \cdot p\] \[p \cdot n\]
Примеры решения:
Пример №1:
Необходимо выполнить умножение двух матриц:
\[A=a_{i j}\] у которой размеры \[m \times n\]
\[B=b_{i j}\] у которой размеры \[p \times n\]
Необходимо вычислить матрицу C.
Элементы \[C_{i j}\].
Для вычисления применим формулу:
\[c_{i j}=a_{i 1} \cdot b_{i 1}+a_{i 2} \cdot b_{i 2}+\ldots .+a_{i p} \cdot b_{p j}, \mathrm{i}=1, \ldots . \mathrm{m}, \mathrm{j}=, \ldots . . \mathrm{m}\].
Умножение трёх матриц
Чтобы вычислить произведение трех матриц применяют два способа.
- Определить AB и умножить на значение С: (АВ)*С;
- Находим произведение ВС, затем умножаем полученное значение на А.
Пример №2:
Выполним умножение матриц двумя способами.
Умножение матрицы на число
Произведение значение матрицы, равное числу A на некое значение К, будет выглядеть следующим образом.
\[B=A \cdot k\]
Размер будет таким же, как и в исходной матрице, который получен путем перемножения на заданное число все матричных элементов.
- \[1 \cdot A=A\]
- \[0 \cdot A=\] значение матрицы с нулевым результатом;
- \[k(A+B)=k A+k B\]
- \[(k+n) A=k A+n A\]
- \[(k \cdot n) \cdot A=k(n \cdot A)\]
Пример:
Нет времени решать самому?
Наши эксперты помогут!
Контрольная
| от 300 ₽ |
Реферат
| от 500 ₽ |
Курсовая
| от 1 000 ₽ |
Принцип умножения матрицы на вектор значения
Для определения значения произведения матрицы и вектора, нужно использовать правило, которое звучит как: “умножение строки на столбе”
- при умножении матрицы на векторный столбец, значение столбцов в любой матрице обязательно должно совпадать с количеством строк в вектор-столбце. {2} \cdot A=\left(\begin{array}{cc} 7 & 10 \\ 15 & 22 \end{array}\right) \cdot\left(\begin{array}{ll} 1 & 2 \\ 3 & 4 \end{array}\right)=\left(\begin{array}{cc} 7+30 & 14+40 \\ 15+66 & 30+88 \end{array}\right)=\left(\begin{array}{cc} 37 & 54 \\ 81 & 118 \end{array}\right)\]
Основные свойства и правила умножения матриц
- \[(A \times B) \times C=A(B C)-\] принцип сочетательного свойства при перемножении матричных значений.
- \[A(B+C)=A B+A C-\] распределительное сочетание и распределение при перемножении матриц.
- \[(A+B) C=A C+B C-\] аналогичные характерные действия, которые свойственны второму пункту.
- \[\lambda(A B)=(\lambda A) B\].
Оценить статью (0 оценок):
Поделиться
ИИ упростил устоявшиеся алгоритмы решения фундаментальных математических задач
ПО
|
Поделиться
Искусственный интеллект AlphaTensor самостоятельно оптимизировал решения сложнейших математических задач, применив игровые методы.
Альфа-ИИИсследователи компании DeepMind в Лондоне продемонстрировали, что ИИ способен «обнаруживать лазейки в фундаментальном типе математических вычислений», превращая поставленную перед ним проблему в разновидность игры и затем решать ее, используя те же методики машинного обучения, с помощью которых другой ИИ той же компании научился обыгрывать людей в шахматы и го.
ИИ смог самостоятельно выработать алгоритмы, используя которые, побил рекорды эффективности вычислений, державшиеся несколько десятилетий. По мнению исследователей, это открывает совершенно новые возможности для производительности вычислений в некоторых областях знаний.
ИИ DeepMind AlphaTensor разрабатывался для того, чтобы производить комплексный набор вычислений, известный как умножение матриц. Как пишет Nature, это включает умножение чисел, упорядоченных по определенным координатным сеткам (матрицам), которые могут представлять собой наборы пикселей в изображения, или атмосферные явления в метеорологических моделях, или внутренние процессы в искусственной нейросети.
ИИ играючи усовершенствовал решение математических задач с матрицами
Чтобы перемножить две матрицы, математик должен сперва произвести умножение отдельных чисел и затем распределить их определенным образом, чтобы получить результирующую матрицу. В 1969 г. математик Фолькер Штрассен (Volker Strassen) нашел способ перемножить пару базовых (2х2) матриц, используя не восемь, как обычно, а только семь операций умножения. После этого другие математики начали искать новые подобные «лазейки».
Это удалось DeepMind AlphaTensor.
Расчеты как играИИ использует формат машинного обучения, известный как Reinforced Learning— усиленное обучение. Это автономная система самообучения, которая учится методом проб и ошибок. Она выполняет действия с целью максимизации выгоды или, другими словами, учится, стремясь добиться лучшего результата.
В таком формате агент ИИ (нейросеть) учится взаимодействовать со своим окружением с целью поэтапного достижения некоторой цели, например выигрыша в настольной игре. Если успех достигнут, агент получает некоторое усиление — его параметры перенастраиваются так, чтобы повысить вероятность будущего успеха.
AlphaTensor также использует игровой метод под названием «древовидный поиск»: планируя свой следующий ход, ИИ изучает вероятности, получаемые при разных вариантах действий (после «развилок»). Выбирая дальнейший путь по «древовидному поиску», нейросеть предсказывает наиболее перспективные действия на каждой развилке. И пока происходит обучение агента, итоговые результаты каждой пройденной игры используются для донастройки нейросети, усовершенствования «древовидного поиска», и, как следствие, поиска оптимального способа достижения цели.
Каждая игра — это головоломка, начинающаяся с трехмерного тензора — корректно заполненной числовой матрицы. Цель AlphaTensor — низвести все числа до нуля с наименьшим количеством шагов, при ограниченном наборе возможных действий. Каждое такое действие представляет собой вычисление, которое при инверсии комбинирует величины из исходных двух матриц с целью создания новой величины в итоговой матрице.
Курьерская доставка и искусственный интеллект: финтех-тренды карточного бизнеса-2022
ИТ в банках
Игра требует больших усилий, поскольку на каждом этапе перед агентом стоит выбор из триллионов возможных шагов.
Чтобы упростить AlphaTensor задачу, исследователи продемонстрировали нейросети несколько примеров успеха в такой игре, чтобы ИИ не пришлось начинать с нуля. И поскольку последовательность предполагаемых действий не задается жестко, когда машина находила успешную последовательность шагов, исследователи предлагали ей правильный способ упорядочивания этих действий в качестве дополнительного «учебного пособия».
По следам ШтрассенаИсследователи испытывали систему на исходных матрицах 5х5. Во многих случаях AlphaTensor самостоятельно находил те же лазейки, которые раскрыл Штрассен, но в других случаях превосходил все ожидания. Например, при перемножении матриц 4х5 и 5х5 ИИ выработал алгоритм, позволивший ограничиваться 76 отдельными операциями умножения, в то время как прежде считавшийся оптимальным алгоритм требовал 80 таких вычислений.
AlphaTensor также может оптимизировать умножение матриц для некоторых видов аппаратного обеспечения. Исследователи обучали агента на двух разных процессорах, обеспечивая его усиление не только когда он находил возможности уменьшить количество совершаемых действий, но и когда снижал запросы к вычислительным мощностям. Иногда быстродействие одного и того же алгоритма на разных процессорах существенно разнилось.
Алексей Печенкин, Новикомбанк: Изменение ландшафта киберугроз будет напоминать «битву киберинтеллектов»
Безопасность
По мнению исследователей, этот подход можно применять в других видах математических операций, таких как разложение сложных волн или других математических объектов на более простые. В целом такой подход приведет к увеличению быстродействия многих приложений.
«ИИ раз за разом демонстрирует возможности оптимизировать математические вычисления, в том числе самым неожиданным образом, — говорит Дмитрий Гвоздев, генеральный директор компании “Информационные технологии будущего”. — Выявление алгоритмов, позволяющих значительно оптимизировать интенсивные вычисления, — это фактически преобразование математики как таковой. Практические последствия этому будут, скорее всего, грандиозными: матрицы применяются в решении большого количества практических задач не только в математике, но и биологии, физике, технике, химии, экономике, а также маркетинге и психологии. Матрицы также активно применяются в криптографии, и новые достижения ИИ могут позволить реализовать более эффективные алгоритмы защиты данных и многое другое».
- Лучший софт для обеспечения ИТ-безопасности компании ― на ИТ-маркетплейсе Market.CNews. С ценами.
Роман Георгиев
linear алгебра — Решение для X в простой системе матричных уравнений.
Задать вопрос
спросил
Изменено 9 лет, 6 месяцев назад
Просмотрено 4к раз
$\begingroup$
Я пытаюсь найти X в этой простой системе матричных уравнений:
$$\begin{bmatrix}7 & 7\\2 & 4\\\end{bmatrix} — X\begin{bmatrix}5 & — 1\\6 & -4\\\end{bmatrix} = E $$, где $E$ — единичная матрица.
Если я умножу $X$ на $\begin{bmatrix}5 & -1\\6 & -4\\\end{bmatrix}$, я получу следующую систему:
$$\begin{bmatrix}5x_1 & -1x_2\\6x_3 & -4x_4\\\end{bmatrix}$$
Вычитая это из $\begin{bmatrix}7 и 7\\2 & 4\\\end{bmatrix}$ я получаю $\begin {bmatrix}7 — 5x_1 и 7 + 1x_2\\2 — 6x_3 и 4 + 4x_4\\\end{bmatrix} = \begin{bmatrix}1 & 0\\0 & 1\\\end{bmatrix}$
Что дает мне:
$7-5x_1 = 1$
$7+1x_2 = 0$
$2-6x_3 = 0$
$4+4x_4 = 1$
Это не правильные ответы, кто может помочь меня здесь?
Спасибо!
- линейная алгебра
- матрицы
$\endgroup$
4
$\begingroup$
$$\begin{bmatrix}7 и 7\\2 & 4\\\end{bmatrix} — X\begin{bmatrix}5 & -1\\6 & -4\\\end{bmatrix} = I $$, где $I$ — единичная матрица.
Подсказка: вспомните, как будет выглядеть умножение на $X$: $X$ будет матрицей $2\times 2$, если для этого уравнения нужно задать умножение и сложение матриц.
Итак, если $X = \begin{bmatrix} x_1 & x_2 \\ x_3 & x_4 \end{bmatrix}$, то $$X\begin{bmatrix}5 & -1\\6 & -4 \end{bmatrix } = \begin{bmatrix} x_1 & x_2 \\ x_3 & x_4 \end{bmatrix}\begin{bmatrix} 5 & -1 \\ 6 & -4\end{bmatrix} = \begin{bmatrix}5x_1+6x_2&- x_1-4x_2\\5x_3+6x_4&-x_3-4x_4\end{bmatrix}$$
$\endgroup$
7
$\begingroup$
Поскольку $\begin{pmatrix}7&7\\2&4\end{pmatrix}-X\begin{pmatrix}5&-1\\6&-4\end{pmatrix}=\begin{pmatrix}1&0\\0&1\end {pmatrix}$, получаем:
$\begin{pmatrix}6&7\\2&3\end{pmatrix}=\begin{pmatrix}5x_1+6x_2&-x_1-4x_2\\5x_3+6x_4&-x_3-4x_4\end{pmatrix }$, где $X=\begin{pmatrix}x_1&x_2\\x_3&x_4\end{pmatrix}$.
Теперь вы можете умножить обе части уравнения на $\frac{1}{-14}\begin{pmatrix}-4&1\\-6&5\end{pmatrix}$ =(inverse of $\begin{pmatrix}5&- 1\\6&-4\end{pmatrix}$), чтобы найти:
$X=\frac{1}{-14}\begin{pmatrix}6&7\\2&3\end{pmatrix}\begin{pmatrix}- 4&1\\-6&5\end{pmatrix}=\frac{1}{-14}\begin{pmatrix}-66&41\\-26&17\end{pmatrix}$.
Надеюсь, это поможет.$\endgroup$
4
$\begingroup$
Давайте запишем ваше уравнение в виде $C-XA = E$, где $C$ — матрица констант, а $A$ — матрица коэффициентов.
Во-первых, изолируйте вашу матрицу $AX$, переместив постоянную матрицу в другую часть уравнения. манипулируйте уравнением, чтобы получить $AX$ как положительное значение. затем умножьте матрицу $A$ на обратную. Обратите внимание, что это правостороннее умножение. Теперь у вас остался вектор $X$, умноженный на тождество слева. 9{-1}$ через, это не имеет значения. Просто помните, что вы выполняете умножение правой рукой, а не левой. Это важно, потому что умножение не является коммуникативным в матрицах.
$\endgroup$
2
Как умножать матрицы
Прежде чем я покажу вам, как умножать матрицы, давайте посмотрим, как умножить матрицу на скаляр или действительное число.
Например, чтобы умножить 4 на матрицу 2×2, просто умножьте 4 на каждый элемент матрицы.
Этот метод хорошо работает, если вы не хотите записывать матрицу 4 раза.
Вместо того, чтобы записывать матрицу выше 4 раза, лучше умножить каждое число в матрице ниже на 4.
-1 2 3 0 После умножения получаем следующую матрицу:
-4 8 12 0 Это будет работать с любой матрицей. Размерность не имеет значения, просто умножьте скаляр на каждый элемент матрицы.
Вот техника умножения матриц .
Умножить элементы каждой строки первой матрицы на элементы каждого столбца второй матрицы. Затем добавьте продукты.
Имеет ли смысл? Возможно нет! Давайте проиллюстрируем, как умножать матрицы на матрицу 2×2. Как только вы поймете, как выполнять умножение с матрицей 2×2, вы сможете делать это с матрицами любой размерности.
Первый пример, показывающий, как перемножать матрицы
-2 1 0 4 × 6 5 -7 1 -2 1 0 4 × 6 5 -7 1 Если вы не поняли приведенный выше пример, продолжайте читать, пока мы разбиваем умножение на более управляемые шаги.
Наблюдение №1 :
Вы заметили, что эта закономерность наблюдается при перемножении матриц?
строка № 1 × столбец № 1: ответ находится в строке № 1 столбца № 1.
строка №1 × столбец №2: ответ помещается в строку №1 столбца №2.
строка № 2 × столбец № 1: ответ находится в строке № 2 столбца № 1.
строка № 2 × столбец № 2: ответ находится в строке № 2 столбца № 2.
Наблюдение #2 :
Матрица слева (назовем ее матрицей A): количество элементов в первой строке определяет количество столбцов.
Матрица справа (назовем ее матрицей B): количество элементов в первом столбце определяет количество строк.
Поскольку вы умножаете каждый элемент в первой строке на каждый элемент в первом столбце, умножение будет невозможно, если количество столбцов матрицы A не равно количеству строк матрицы B.
Следовательно, следующее умножение невозможно. Назовите матрицу слева A и матрицу справа B.
× 6 5 -7 1 После того, как вы умножите -2 на 6, у вас не будет числа, на которое можно умножить 7. Это не работает, как уже говорилось, потому что количество столбцов матрицы A не равно количеству строк матрицы B.
Произведение двух матриц A и B существует, только если количество столбцов матрицы A равно количеству строк матрицы B.
Например, можно перемножить следующие матрицы. Посмотрите зеленым, как количество столбцов равно количеству строк.
2×2 и 2×3
3×1 и 1×4
4×3 и 3×1
2×5 и 5×2
1×3 и 3×1Следующие матрицы нельзя умножать на . См. красным, что количество столбцов матрицы A не равно количеству строк матрицы B.
2×2 и 3×3
3×2 и 1×4
4×3 и 2×2
2×5 и 2×5
1×3 и 1×5Размеры матрицы произведения
Размер матрицы найти легко. Давайте еще раз взглянем на приведенные ниже матрицы, которые, как мы сказали, можно перемножать.
2х2 и 2х3. Размер 2×3
3×1 и 1×4. Размер 3×4
4×3 и 3×1. Размер 4×1
2×5 и 5×2. Размер 2×2
1×3 и 3×1. Размер 1×1Как мы получили размер?
Количество строк матрицы произведения — это количество строк матрицы слева.
Количество столбцов матрицы продуктов — это количество столбцов матрицы справа.
Второй пример, показывающий, как умножать матрицы
Назовите матрицу слева A, а матрицу справа B. Глядя на A и B, мы можем с уверенностью сказать пару вещей.
Размеры A 3×2, а размеры B 2×4.
Это означает, что мы можем найти продукт и размер продукта 3×4.
Будет 12 умножений
Первая строка умножается на первый столбец: 1 × 4 + 4 × 0 = 4 + 0 = 4
Первая строка умножается на второй столбец: 1 × 1 + 4 × 1 = 1 + 4 = 5
Первая строка умножается на третий столбец: 1 × 2 + 4 × -1 = 2 + -4 = -2
Первая строка умножается на четвертый столбец: 1 × 1 + 4 × 3 = 1 + 12 = 13
Вторая строка умножить на первый столбец: 0 × 4 + 1 × 0 = 0 + 0 = 0
Вторая строка, умноженная на второй столбец: 0 × 1 + 1 × 1 = 0 + 1 = 1
Вторая строка, умноженная на третий столбец: 0 × 2 + 1 × -1 = 0 + -1 = -1
Вторая строка, умноженная на четвертый столбец: 0 × 1 + 1 × 3 = 0 + 3 = 3
Третья строка умножается на первый столбец: -1 × 4 + 0 × 0 = -4 + 0 = -4
Третья строка умножается на второй столбец: -1 × 1 + 0 × 1 = -1 + 0 = -1
Третья строка умножается на третий столбец: -1 × 2 + 0 × -1 = -2 + 0 = -2
Третья строка умножается на четвертый столбец: -1 × 1 + 0 × 3 = -1 + 0 = -1
Результат показан ниже:
4 5 -2 13 0 1 -1 3 4 -1 -2 -1 Тест на умножение матриц.