Умножение матриц. ЭТО СОВЕРШЕННО НОВАЯ ОБЛАСТЬ, ПОМИМО… | Соломон Се | Основы линейной алгебры
ЭТО СОВЕРШЕННО НОВАЯ ОБЛАСТЬ ПОМИМО МАТРИЧНЫХ ОСНОВНЫХ ОПЕРАЦИЙ .
Очень сложно в этом разобраться. Но математики каким-то образом заставляют это работать, тогда это определенная человеком операция
, это не имеет смысла, но вам просто нужно иметь с этим дело.
Если вам просто нужно решить проблему, вам понадобится всего 5 минут, чтобы обойти ее, а затем вы можете пропустить все это ниже.
Но если хочешь понять, то приготовься на это пару часов или дней.
Необходимо сбить вас с толку приведенной ниже операцией. Потому что большинство учителей начинают с того, чтобы научить вас перемножать матрицы. Не волнуйтесь, мы должны пропустить этот вопрос и найти лучшую перспективу для его решения.
См. статью Академии Хана: Умножение матриц
См. 3Blue1Brown: Точечные произведения и двойственность
См. математика — это весело: Как умножать матрицы
Эта тема очень проста в использовании, но очень сложна для понимания!
Но я предпочитаю понять его, а не просто запомнить.
Итак, это Путь обучения этой темы:
- Скалярное произведение
- Линейные преобразования
- Матрично-векторное произведение
- Матрично-матричное произведение
- чтобы понять это, потому что это так трудно понять.
Основные способы понимания:
- Через
Преобразование матрицы
- Через
Пример из реальной жизни
- ~С помощью алгебраических методов~
Хотя
Пример из реальной жизни
имеет смысл легко решать проблемы, но он не поможет.
Итак,Матричное преобразование
— лучший способ понять матричное умножение.
И оказалось, что это лучший способ для этого и для всех основных идейЛинейной Алгебры
.Прежде чем мы начнем, давайте проясним:
- Скалярный продукт: Вектор * Вектор
- Матрично-векторный продукт: Матрица * Вектор
- Матрица-матричный продукт: Матрица * Матрица
См. лекцию Хана: Матричный вектор произведения в виде линейных преобразований
В графическом процессоре компьютера
«ВСЕ ГРАФИЧЕСКИЕ ПРОЦЕССОРЫ ЯВЛЯЮТСЯ ПРОСТО ЖЕСТКИМИ МАТРИЧНЫМИ МНОЖИТЕЛЯМИ! ВСЕ, ЧТО ОНИ ДЕЛАЮТ, ЭТО ТОЛЬКО УМНОЖАЮТ МАТРИЦЫ!» — САЛ ХАН 9
и Линейные преобразования единственный шанс понять это в конце концов.ЛИНЕЙНОЕ ПРЕОБРАЗОВАНИЕ — ЭТО КЛЮЧ К ОТКРЫТИЮ ВСЕХ ГЕТОВ В ЛИНЕЙНОЙ АЛГЕБРЕ, ПОТОМУ ЧТО ОНО ПРИДАЕТ СОВЕРШЕННЫЙ СМЫСЛ МАТРИЧНОМУ УМНОЖЕНИЮ.
Чтобы понять
умножение матриц
, линейное преобразование — это самое первое, что вам нужно изучить. Это довольно важно, и от этого не уйти.Линейное преобразование
— это особый вид преобразования, который работает свекторами
.Следует отметить, что 3Blue1Brown преуспел в построении интуиции по этой теме:
См. видео 3Blue1Brown: Линейные преобразования и матрицы
См. то же видео: Как работает линейное преобразование единичных векторов
См. видео 3Blue1Brown: Трехмерные линейные преобразования
См. видео 3Blue1Brown: Умножение матриц как композиция«Матрицы дают нам язык для описания этих преобразований, где столбцы представляют эти координаты.
А умножение матрицы на вектор — это всего лишь способ вычислить, что это преобразование делает с заданным вектором.
Каждый раз, когда вы видите матрицу, вы можете интерпретировать это как некое преобразование пространства.
Как только вы усвоите идею, вы сможете глубоко понять линейную алгебру.
Почти все темы линейной алгебры станут понятными, как только вы начнете думать о матрицах как о преобразованиях пространства. ” — 3Blue1BrownВЫ ПРОСТО ДОЛЖНЫ ЗАПОМНИТЬ ЭТО УРАВНЕНИЕ И ПОЛУЧИТЬ ИДЕЮ. ЭТО ПОМОЖЕТ ВАМ ОТ ВСЕХ ИДЕЙ И ПРОБЛЕМ ЛИНЕЙНОЙ АЛГЕБРЫ.
Изменение базиса
является самой сутью линейного преобразования. Каждое движение основано на этом.Помните, что вектор
(a, b)
также может быть представлен в формеединичного вектора
какv = ai + bj
,
и единичные векторы равныi = (1, 0) & j = (0 , 1)
.Если мы хотим преобразовать вектор, например
переместить, отразить, повернуть, масштабировать
, мы сделаем следующее:
ЧТОБЫ ИЗМЕНИТЬ ЕДИНИЧНЫЙ ВЕКТОРи
Иj
.Например, есть вектор
v = (-1, 2)
, и он может быть представлен какv = -1i + 2j
, тогда мы должны сделать с ним какое-то движение:- Переместить: Мы пусть единичный вектор
i = (100, 0)
, тогда вектор, перемещающийся вправо, становится(-100, 2)
. - Вращение: пусть единичный вектор
i = (0, 1)
иj = (-1, 0)
, тогда вектор поворачивается на 90° становится(-2, -1)
.
ЭТО МАГИЯ!!
Указав, куда должны идти
единичных векторов
, мы можем создать шаблон, правило отображения, чтобы каждый вектор использовал эту карту, это правило, этот шаблон имел бы одно и то же преобразование!Другой пример:
Предположим, что есть векторv=(5,7)
, и пусть единичный векторi=(3,-2)
иj=(2,1)
, и представим этоШАБЛОН ПРЕОБРАЗОВАНИЯ
, как показано ниже:И мы представляем это
Применение преобразования к вектору
в форме ниже:ПОЭТОМУ КОГДА КОГДА ВЫ ВСТРЕТИТЕСЬ С МАТРИЧНЫМ УМНОЖЕНИЕМ СНОВА, НИКОГДА НЕ СЧИТЫВАЙТЕ ЭТО КАК ДВА ВЕКТОРА ИЛИ ДВЕ МАТРИЦЫ, УМНОЖАЮЩИЕСЯ ВМЕСТЕ!
Есть только ДВЕ части этого умножения матрицы:
-
График
: 1-й справа элемент. -
Правила
: Все остальные матрицы слева отГрафик
.
График
может состоять из одной точки (вектора) или множества точек (векторов), например:- Точка:
(2,3)
- Треугольник:
[ (3,0) (0 ,4) (3,4) ]
- Прямоугольник:
[ (3,0) (3,4) (0,4) (0,0)]
- Любая форма в любом измерении…..
ПОЭТОМУ ВСЕ, ЧТО ВАМ НУЖНО СДЕЛАТЬ, ЭТО ПРОСТО ПРИМЕНИТЬ ЭТИ ПРАВИЛА ОДНО ЗА ОДНИМ,
СЛЕВА ПО ПРАВУ
, И ПОЛУЧИТЬ НОВЫЙ ГРАФИК!!!Например, мы применяем два правила преобразования к вектору
(x, y)
:То же самое с принципами работы:
Shear( Rotate(x, y))
.В правиле преобразования
МЫ ДОЛЖНЫ РАЗБИТЬ МАТРИЦЫ НА ОТДЕЛЬНЫЕ ЧАСТИ, ПРЕЖДЕ ЧЕМ НАЧАТЬ ВЫЧИСЛЕНИЕ.
И так как мы создали правило для
i & j
, поэтому давайте применим единичный векторГрафику
:Обратите внимание, что:
- Исходный график
0008 , поэтому после применения нового правила
i & j
мы получаем:
v = 5(3,-2) + 7(2,1)
- Теперь мы можем сделать вектор
умножьте скалярный метод
, чтобы получить это:
v = (15,-10) + (14,7)
- Тогда мы могли бы сделать
Сложить два вектора
:
v = (
9009 , -3)
- Итак, после применения правила преобразования мы успешно преобразовали вектор в новую позицию:
(19, -3)
Решить:
- Похоже на задачу
Умножение матриц
- Сначала нам нужно сформировать исходную матрицу путем идентификации всех вершин:
- 90 90
Координатная матрица
:
- Нарисуйте ее по матрице результатов
Умножение матриц - Бесплатная помощь по математике
Вы, наверное, уже знаете, что такое матрица, если вас интересует умножение матриц. Однако быстрый пример не помешает. Матрица — это просто двумерная группа чисел. Вместо списка, называемого вектором, матрица представляет собой прямоугольник, подобный следующему:0005
Вы можете установить переменную как матрицу так же, как вы можете установить переменную как число. В этом случае x — это матрица, содержащая эти четыре числа (в указанном порядке). Теперь предположим, что у вас есть две матрицы, которые вам нужно перемножить. Умножение чисел довольно просто, но как это сделать для матрицы?
Вот ключевой момент: Вы не можете просто умножить каждое число на соответствующее число в другой матрице . Умножение матриц не похоже на сложение или вычитание. Это сложнее, но в целом процесс несложный для изучения.
Пример
Решение:
Вам, наверное, интересно, как я получил этот ответ. Что ж, вы имеете полное право так думать. Умножение матриц — непростая задача, и вам нужно быть внимательным, чтобы избежать одной или двух ошибок по невнимательности. Вот процесс:
- Шаг 1: Переместитесь по верхней строке первой матрицы и вниз по первому столбцу второй матрицы:
- Шаг 2: Умножьте каждое число из верхней строки первой матрицы на число в первом столбце второй матрицы. В данном случае это означает умножение 1*2 и 6*9. Затем возьмите сумму этих значений (2+54):
- Шаг 3: Вставьте только что полученное значение в матрицу ответов. Поскольку мы умножаем 1-ю строку и 1-й столбец, наш ответ помещается в этот слот в матрице ответов:
- Шаг 4: Повторите для других строк и столбцов. Это означает, что вам нужно пройти по первой строке первой матрицы и на этот раз по второму столбцу второй матрицы. Затем вторая строка первой матрицы и первый столбец второй, и, наконец, низ первой матрицы и правый столбец второй матрицы:
- Шаг 5: Вставьте все эти значения в матрицу ответов. Я только что показал вам, как сделать верхний левый и нижний правый. Если вы работаете с двумя другими числами, вы получите 1 * 2 + 6 * 7 = 44 и 3 * 2 + 8 * 9.=78. Вставьте их в матрицу ответов в соответствующие позиции и вы получите:
Теперь я знаю, о чем вы думаете. Это было действительно тяжело!!! Что ж, так будет казаться, пока вы не привыкнете к процессу. Это может помочь вам записывать всю вашу работу и даже рисовать стрелки, чтобы помнить, в каком направлении вы двигаетесь по строкам и столбцам. Только не забудьте
Что, если матрицы не квадратные? Затем вам нужно добавить еще один шаг. Чтобы перемножить две матрицы, в левой матрице должно быть столько столбцов, сколько строк в правой матрице. Таким образом, вы можете сопоставлять каждую пару во время умножения. Размер конечной матрицы определяется строками в левой матрице и столбцами в правой. Вот что я делаю:
Записываю размеры матриц.
- Через
9 Есть так много разных способов понять это,