как умножать матрицы

May 13, 2020 23:55

Гильберт Стрэнг более полувека преподает математику в МИТ, из них 40 лет - линейную алгебру. Автор одного из самых популярных учебников линейной алгебры по-английски.

И вот недавно он решил, что умножение матриц надо преподавать не так, как обычно, и как в его книге, и как он 40 лет преподавал, а по-другому. Написал об этом статью пару лет назад ( Read more... )

обучение, математика

Leave a comment

Comments 96

vishniakov May 13 2020, 21:03:45 UTC
Ни разу сейчас не математик, но как вот твердо запомнил в курсе линейной алгебры чисто визуальную картинку - столбец правой матрицы взлетает, поворачивается на 90 градусов и "сопрягается" поэлементно со строками левой матрицы, так до сих пор ее и помню (а много чего другого из линейной алгебры знал, да давно забыл).

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

Вроде бы усвоению дальнейшего материала это особо не мешало. Как раз возможность быстро визуально представлять процесс умножения позволяла как-то осмысленно воспринимать все последующее.

Представить визуально альтернативный вариант я вроде могу, но мне от этого определенно становится плохо...

Reply

avva May 13 2020, 21:05:44 UTC
А я кстати всегда представляю наоборот - строка левой матрицы падает вправо, поворачивается на 90 градусов и совпадает с столбцом правой...

Reply

dmitrmax May 13 2020, 21:17:07 UTC
У меня правая матрица уезжает вверх, на месте правой матрицы образуется матрица, образованная продолжением горизонтальных линий левой и вертикальных линий уехавшей вверх правой, и понеслась - тыкаем воображаемым пальцем в клетку результирующей матрицы и скалярно множим строчку слева на столбец сверху.

Reply

utnapishti May 13 2020, 23:19:37 UTC
> поворачивается на 90 градусов

Не на 90, а на 990!
Ну ладно, на 270 :)

У меня, кстати, это совершенно не визуализируется вращением строки или столбца и прижиманием к подходящему объекту второй матрицы.

Reply


kaathewise May 13 2020, 21:05:25 UTC
А как этому можно обучить вместо нормального умножения матриц? Ведь умножать по его методу невозможно, не записывая промежуточные результаты, в то время как обычное умножение требует O(1) оперативной памяти.

В дополнение к обычному умножению, чтобы лучше что-то объяснить -- возможно.

Reply

avva May 13 2020, 21:10:59 UTC
А почему это важно, есть или нет промежуточные результаты? Если нам нравится, можем именно так определить умножение, а если его выполнять вручную, все равно в итоге будет то же кол-во умножений и сложений. Промежуточные матрицы надо записывать, но зато записывать их очень просто, их столбцы это просто масштабированные столбцы первой матрицы.

Reply

kaathewise May 13 2020, 21:14:46 UTC
Записывать их может быть и несложно, но обычное умножение можно производить устно, и не нужно ничего ни держать в голове, ни записывать.

Reply

dmitrmax May 13 2020, 21:25:09 UTC
Если бороться за скорость, а не за понимание, то надо сразу обучать алгоритму штрассена.

Я помню долго фыркал, когда узнал, как моего брата в Германии учат умножать числа. Не столбиком, а путем разложения на сумму единиц, десятков, сотен и т. д. Понятное дело, что это одно и то же, однако я не очень помню, в какой момент в школе я смог бы доказать, что это равносильно. И возможно, что в возрасте своего брата я умножал гораздо шустрее столбиком, понимания почему это работает не было.

Reply


amigofriend May 13 2020, 21:07:55 UTC
Нео вращается в своей Матрице...

Reply


anonymous May 13 2020, 21:19:30 UTC
Почему русские не смогли самостоятельно додуматься даже как матрицы перемножать, пользуются изобретениями американцев. Вот и ответ, почему у Крылова ничего не получилось - глуповат народ.

Reply

shultz_flory May 13 2020, 21:56:33 UTC
А до понятия матрицы русские самостоятельно додумались? ;)

Reply


beldmit May 13 2020, 21:23:05 UTC
Задумался, не даст ли это более эффективной компьютерной реализации с использованием векторных инструкций, например. Но кажется, всё-таки нет

Reply


Leave a comment

Up