Меня попросили реализовать матричное умножение. До сих пор у меня был код: (define mult (λ (m1 m2) (if (or (empty? m1) (empty? m2)) '() (map vec-mult m1 m2))))
Можно ли делать векторно-матричное умножение только с помощью «карты» и «применить»?
только генерирует список списков. Каждый из внутренних списков должен быть суммирован, чтобы дать мне значения по диагонали для добавления, чтобы генерировать элементы. Я застрял в части того, как я должен делать двумерное умножение, чтобы каждая строка в m1 умножалась на каждую строку в m2 (следовательно, умножение вектор-матрица). У меня также есть «транспонирование» и «vec-mult». Пожалуйста, дайте мне понять, как я должен подходить к этой проблеме. Профессор хочет, чтобы мы использовали транспонирование и карту, но я просто не вижу, как это нужно делать.
Благодаря