Много лет назад один профессор показал нам отличный метод умножения матриц, и я решил о нём рассказать
В процессе учебы мне приходилось вручную умножать тысячи матриц, разной размерности и сложности. Классический перебор "строчка на столбик" имеет колоссальную когнитивную нагрузку, а поиск ошибки в нем – зачастую провальное мероприятие
Итак, коротко рассмотрим классический метод на умножении двух квадратных матриц 3х3
Выбираем строчку и столбик, и умножаем по очереди каждый элемент строки на соответствующий элемент столбика, сумму этих произведений записываем, это результат умножения строки первой матрицы на столбик второй
Красный на синий: 2*5 + 6*1 + 1*9 = 25, 25 записываем
Вдруг мы задумались, или устали от десяти предыдущих матриц, и посчитали строку с неправильным столбиком. Такие ситуации, по крайней мере у меня, происходят постоянно, когда решать нужно быстро.
Ошибку можно заметить и исправить, но ясно одно: этот метод жрет больше сил на обдумывание, что на что умножать, чем на непосредственный расчет. Очень неэффективно. Особенно если матрицы разного размера.
На свалку этот способ!
Критикуешь – предлагай.
Если мы хотим найти A * B, то это можно сделать вот такой вот лесенкой. В этом примере я её рисую карандашом и цветами, но обычно всё делается просто по клеткам
Нужно произвести ровно те же самые вычисления, но теперь не нужно думать, что с чем умножать. Результат считается в местах пересечения строки и столбика
Считаем первый элемент. Арифметика та же самая, а когнитивная нагрузка испарилась, или по крайней мере, очень сильно уменьшилась
И вот, мы получили результат. Возможно, мы готовы. А если нужно его дальше использовать в умножении? Этот способ как раз на это и рассчитан!
Например, мы хотим умножить наш результат A*B справа на матрицу С. Отлично, дописываем её справа и считаем пересечения
И на пересечениях будет содержаться матрица (A*B)*C
Хорошо, справа умножить можно, а слева?
Пожалуйста!
Наше дерево просто растет вниз в нужном месте. Посчитаем пересечения, и получим результат D * (A*B)
Вот так вот, довольно интуитивно
У этого метода есть ещё один огромный козырь. Он позволяет умножать матрицы разной размерности, вообще не задумываясь о том, в какой форме должен быть результат. Структура сетки сама задаст размерность результата.
Попробуем умножить две прямоугольные матрицы разного размера. Синюю на красную, 6x2 на 2х3.
Сетка решения позволяет нам не задумываться о том, совместимы ли матрицы, и какой формы будет результат. В данном случае сразу видно, что результат имеет форму 6х3.
Конечно, опытный человек формы видит сразу, и знает, как их считать, это же проще простого. Но у первокурсников вечно с этим проблемы.
Хорошо, но этот метод выглядит так громоздко!
На самом деле, нет. Я нарисовал всё в цветах и кучей места для наглядности, а в реальности, при простых расчетах, всё выглядит так:
Или даже так:
Когда привыкаешь так считать, вспомогательные линии становятся не нужны.
Если же матрицы сложные, или числа побольше, то в любом случае имеет смысл не экономить место. Бумага дешёвая, баллы и нервы – бесценны.
Если же мы считаем произведения матриц, состоящих не из чисел, а из функций, то оставлять в любом случае нужно столько свободного места, сколько возможно.
Вот такая вот история получилась!
Надеюсь, кому-нибудь будет полезно)
@threadreaderapp unroll

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Валерий Жила

Валерий Жила Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ValeriiZhyla

10 Oct
Я прочитал свою первую книгу по молекулярной биологии, "Рождение Сложности" А.Маркова. Небольшой тред о моих впечатлениях и самой книге.
(фото не моё, читал электронную версию)
Дело в том, что в школе я не учил биологию. Совсем. В седьмом классе как-то с ней не пошло, а с восьмого я на ней не появлялся. Она преподавалась ужасно, с расчетом не на построение структурированной картины мира, а на зубрежку рандомных классификаций и организмов
Read 16 tweets
10 Oct
Здравствуй!
Я пишу о разработке, о жизни в Германии, об играх, книгах, учебе в университете и вне его, преподавании. Иногда в ленту попадают красивые фотографии и первосортные мемы.

Под этим постом можно найти все мои треды и самые интересные обсуждения
Сборник моих тредов
Старый закреп
Read 19 tweets
8 Oct
Ни в коем случае. Техника это просто инструмент. В случае эпл - дорогая техника, хорошая техника с хорошим дизайном. Цена складывается куммулятивно, и на самом деле оправдана, если человек собирает полную экосистему яблок. Дизайн кайфовый. >>>
Так что точно не символ статуса, а просто красивая вещь. Их новые линейки с М1 и ожидаемая линейка с М2 вполне пригодна для разработки.
Но, конечно, техническая начинка в отрыве от компактности и UX не соответсвует цене. >>>
За 2000$ (150к рублей сегодня) можно позволить себе ноут на винде, который в техническом плане будет рвать маки м1 про по всем фронтам.
Read 4 tweets
7 Sep
Пришло время поделиться некоторыми мыслями, байками, историями и просто моей болью, связанной с моей альма-матер, @KITKarlsruhe

🔥🔥🔥

Тред во славу сатаны и KIT aka Elite Exzellenz Uni. Истории прямиком из кандидата на самый садисткий технический университет Германии!

🔥🔥🔥 Image
Коротко про мой опыт с этим весельчаком: я начал в нём ещё со Studienkolleg в 2016 году, поступил на Computer Science (de. Informatik) и на днях сдаю бакалаврскую. В конце зимы я начну магистратуру в нем же.
Я являюсь образцом не 1.0, но вполне приличного студента, который вовремя научился учиться и универ меня лично ничем не обделил и не обидел, как и многих в моем окружении.
Дальше вы узнаете, что это классическая ошибка выжившего :)
Read 53 tweets
27 Jun
Через три недели очень сложный экзамен по Financial Data Science, к которому толком материалов и нет.
Я понял, что жопа объективно, глубока, и приближается.
Стал думать, что с этим можно сделать, и как можно перевернуть игру.
И я придумал!
>>>
Основная проблема в том, что самостоятельно разобраться в этом предмете не представляется возможным, даже если я буду два месяца сидеть над ним сутками. Для этого пришлось бы сначала освоить гору эконометрики, тонкостей Data Science, и т.д, которой на моем факультете нет
>>>
Я подумал про то, что научная деятельность "в лоб" никогда не была моей сильной стороной. Я просто не могу на лету воспринимать килотонны математики из научных публикаций, и из формул без объяснения понимать, что же такое внутри них творится. Не умею, скилл не тот
>>>
Read 13 tweets
26 Mar
Вчера прошел Metro Exodus, и решил накатать про неё тред.

В первой половине будет мнение без спойлеров, дальше будет СПОЙЛЕРАЛАРМ и дальше пойдут мысли о конкретных этапах игры.

#MetroExodus Тред! 💥 Image
Дисклеймер: повторять описание игры я не стану, кто игра не новая, да и я не журналист. В общем, я беру за основу, что вы знаете сеттинг и знакомы с предыдущими частями.
Общее мнение:
Я знал о проблемах этой игры перед покупкой, и не строил ожиданий на её счёт.
Взял по очень большой скидке – Gold Edition за примерно 10€.

В целом, игра между "понравилось" и "очень зашло", особенно за такую цену. Но на свой фуллпрайс сие творение не тянет.
Read 40 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(