Coppersmith–Winogradův algoritmus

Coppersmithův–Winogradův algoritmus, pojmenovaný po Donovi Coppersmithovi a Shmuelovi Winogradovi, je asymptoticky nejrychlejší známý algoritmus pro násobení matic. Lze s ním vynásobit dvě matice v čase . Jde o zlepšení oproti u triviálního algoritmu a u Strassenova algoritmu. Mohlo by být možné exponent dále zlepšit, nicméně exponent musí být alespoň 2 (protože matice hodnot a každou z nich je nutné alespoň jednou přečíst, aby bylo možné spočítat přesný výsledek).

Coppersmithův–Winogradův algoritmus se často používá jako stavební prvek v jiných algoritmech k dokázání jejich teoretické časové náročnosti. Nicméně na rozdíl od Strassenova algoritmu se příliš nepoužívá v praxi, protože je výhodnější až pro matice velmi velkých řádů.[1]

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Coppersmith–Winograd algorithm na anglické Wikipedii.

Literatura

  • COHN, Henry, et al. Proceedings of the 46th Annual Symposium on Foundations of Computer Science. Pittsburgh, PA, USA: IEEE Computer Society, 23. 10. 2005. Dostupné v archivu. ISBN 0-7695-2468-0. Kapitola Group-theoretic Algorithms for Matrix Multiplication, s. 379–388. (anglicky) 
  • COPPERSMITH, Don; WINOGRAD, Shmuel. Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation. 1990, čís. 9, s. 251–280. (anglicky) 

Zdroj