Почему матричное умножение работает именно так?

Под "Почему матричное умножение работает именно так? " я подразумеваю, то, почему мы для нахождения например первого элемента полученной после умножения матрицы, именно умножать элемент первого столбца первой матрицы, на элемент первой строки второй матрицы и затем складывать с произведением второго столбца первой матрицы на вторую строку второй матрицы и т. д. Почему не вычитать? Почему умножаются именно столбцы на строки, а не строки на строки? В чём вобще смысл этих действий? Не из воздуха же это всё придумали. Я пытаюсь найти это уже довольно таки долго. Но на всех сайтах, которые я просмотрел, были только правила умножения матриц, и их свойства. Конечно может я плохо искал (поэтому дожидаясь ответа, буду параллельно дальше искать) . Если вы знаете какой-нибудь источник, где это можно узнать, прошу скажите. (желательно в простой форме, ибо я новичок в линейной алгебре. Но и в сложной тоже пойдёт, лишь бы было)
3 года назад от Сделан в россии

4 Ответы

0 голосов
Это не единственный способ умножения матриц. "По определению", а другие способы работают по другому определению. Этот способ наиболе распространён из-за инженерных приложений.
3 года назад от Построй Город6024
0 голосов
Матрица была изобретена как численное отображение конечномерных линейных операторов для векторов.
Линейный оператор при этом сводится к совокупности скалярных произведений исходного вектора на вектора матрицы.

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

И вот если бы умножение было строка на строку, то при умножении матриц пришлось бы делать транспонирование, поскольку применение линейных операторов некоммутативно, а умножение строк - коммутативно. Поэтому так и придумали - строка на столбец.
3 года назад от fgfdg dfdfhfgh
0 голосов
Это понять очень просто на примере квадратных матриц.
Попробуйте в многомерном пространстве взять какой-нибудь вектор и "честно" пересчитать его кординаты, если произвести сначала одно преобразование пространства, которое оставляет нулевую точку на месте, а потом другое преобразование пространства, которое тоже оставляет нулевую точку на месте.
Ну, например, сначала поворот в трехмерном пространстве на какой-то угол вокруг одной оси, а потом поворот на другой угол вокруг другой оси, которая пересекает первую ось. Можно для визуализации использовать, например, кубик Рубика.
Если с трехмерным пространством трудности, то попробуйте на плоскости, например, комбинации поворотов, отражений и инверсий.
Вы увидите, что результат в точности совпадает перемножению квадратных матриц, если суметь каждое их этих преобразований записать в виде матриц.

Если матрицы не квадратные, то там этот закон перемножения выводится только математически. Если у вас заданы два преобразования пространства A и B, так, что кординаты векторов X и Y преобразуются как

t1 = a11*x1 + . + a1m*xm
.
tn= an1*x1 + . + anm*xm
и
s1 = b11*y1 + . + b1n*yn
.
sk= bk1*y1 + . + bkn*yn

Теперь возьмите все вычисленные кординаты T из первых формул и подставьте их во вторые формулы вместо сответствующих кординат Y. То есть вместо y1 подставляете выражение для t1, и т. д. до вместо yn подставляете выражение для tn. Таким образом вы выразите кординаты S через кординаты X. И вы увидите, что получился закон перемножения матриц. Потренируйтесь сначала на 2-мерном пространстве.
3 года назад от Елена Анохина
0 голосов
Возьмём другой пример: деление многозначных чисел столбиком. Вот Вам так уж важно, ПОЧЕМУ каждый шаг алгоритма выполняется именно так, а не иначе? Вот почему делитель надо умножать на подобранную цифру, почему полученное произведение надо вычитать, а прибавлять и т. д? Конечно, объяснить всё это можно, хотя тоже надо мозги подключать, но нужно ли? Нам важно, что метод работает! Потому, что если частное умножишь на делитель, то получишь обратно делимое!
Ещё боле сложный случай: извлечение квадратного корня столбиком - знаете такой алгоритм? Там уже нужно хорошенько напрячь мозги, чтобы убедиться в правомерности каждого шага. А на фига это надо? Поэтому Вы нигде и не прочитаете, откуда взялся алгоритм - никто просто парится над этим не будет. Важен результат: при возведении в квадрат получаем исходное число.
 Так и при умножении матриц: важно, что при обратном действии получаем исходную матрицу.
3 года назад от Oleg Yu

Связанные вопросы