Матрица умножения Ладермана 3х3 с 23 умножениями, стоит ли это того?

Возьмите произведение двух матриц 3х3A*B=C, Наивно это требует 27 умножений, используястандартный алгоритм, Если бы вы были умны, вы могли бы сделать это, используя только 23 умножения,результат, найденный в 1973 году Ладерманом, Техника предполагает сохранение промежуточных шагов и их правильное объединение.

Теперь давайте исправим язык и тип, скажем, C ++ с элементамиdouble, Если бы алгоритм Ладермана был жестко запрограммирован по сравнению с простым двойным циклом, можем ли мы ожидать, что производительность современного компилятора уменьшит различия в алгоритмах?

Notes about this question: Этоprogramming сайт, и вопрос задается в контексте наилучшей практики для критичного ко времени внутреннего цикла; преждевременной оптимизации это не так. Советы по реализации приветствуются в качестве комментариев.

Ответы на вопрос(4)

Ваш ответ на вопрос