Multiplicação de matriz de 3x3 de Laderman com apenas 23 multiplicações, vale a pena?

Pegue o produto de duas matrizes 3x3A*B=C. Ingenuamente isso requer 27 multiplicações usando oalgoritmo padrão. Se alguém fosse inteligente, você poderia fazer isso usando apenas 23 multiplicações,um resultado encontrado em 1973 por Laderman. A técnica envolve salvar etapas intermediárias e combiná-las da maneira correta.

Agora vamos corrigir um idioma e um tipo, digamos C ++ com elementos dedouble. Se o algoritmo Laderman foi codificado versus o loop duplo simples, poderíamos esperar que o desempenho de um compilador moderno superasse as diferenças dos algoritmos?

Notas sobre esta questão: Isto é umprogramação site, e a pergunta é feita no contexto da melhor prática para um loop interno de tempo crítico; otimização prematura isso não é. Dicas sobre a implementação são muito bem-vindas como comentários.

questionAnswers(4)

yourAnswerToTheQuestion