Algorithme Toom-Cook

L'algorithme Toom-Cook, parfois appelé Toom-3, est un algorithme de multiplication dû à Andrei Toom (en) et Stephen Cook, utilisé pour multiplier deux grands nombres. Ces grands nombres sont découpés en plus petits nombres sur lesquels on effectuera les calculs. C'est un raffinement de l'algorithme de Karatsuba. L'algorithme est basé sur le paradigme diviser pour régner où on divise les écritures des nombres en k parties. Toom-3 est l'algorithme Took-Cook pour k = 3.

Description

Multiplier deux nombres revient à multiplier deux polynômes

et

ce qui donne un troisième polynôme

En évaluant en cinq points distincts

on détermine ses coefficients via une interpolation

Ce calcul nécessite cinq multiplications trois fois plus simples et quelques additions

La complexité est donc

.

Références

  • Arithmétique et théorie des nombres
  • Portail de l'informatique théorique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.