Matryca 3x3 Ladermana z tylko 23 mnożeniami, czy warto?

Weźmy produkt dwóch matryc 3x3A*B=C. Naiwnie wymaga to 27 mnożeń za pomocąstandardowy algorytm. Jeśli ktoś był bystry, mógłbyś to zrobić, używając tylko 23 mnożników,wynik znaleziony w 1973 roku przez Ladermana. Technika polega na zapisywaniu kroków pośrednich i łączeniu ich we właściwy sposób.

Teraz naprawmy język i typ, powiedzmy C ++ z elementamidouble. Jeśli algorytm Ladermana był na stałe zakodowany w porównaniu z prostą podwójną pętlą, to czy można oczekiwać, że wydajność współczesnego kompilatora wyrówna różnice w algorytmach?

Uwagi na temat tego pytania: To jestprogramowanie a pytanie jest zadawane w kontekście najlepszych praktyk dla krytycznej czasowo pętli wewnętrznej; przedwczesna optymalizacja to nie jest. Wskazówki dotyczące wdrażania są mile widziane jako komentarze.

questionAnswers(4)

yourAnswerToTheQuestion