Algoritmi di moltiplicazione veloce
Algoritmi di moltiplicazione veloce
Algoritmi di moltiplicazione veloce
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Algoritmo <strong>di</strong> Karatsuba (1962)<br />
a(x) = a 1 x + a 0 ; b(x) = b 1 x + b 0 a(x), b(x) ∈ R[x]<br />
c(x) = a(x)∙b(x) = c 2 x 2 + c 1 x + c 0<br />
= (a 1 b 1 )x 2 + (a 1 b 0 +a 0 b 1 )x + (a 0 b 0 )<br />
a 1 b 1<br />
= c 2<br />
= (a 1 b 1 )x 2 + [(a 1 + a 0 )(b 1 + b 0 ) a 1 b 1 a 0 b 0 ] x + (a 0 b 0 )<br />
Naif – O ( n 2 = n log4/log2 ) Karatsuba – O ( n log3/log2 )<br />
a 0 b 1<br />
a 1 b 0<br />
a 0 b 0<br />
= c 0<br />
a 1 b 1<br />
4 prodotti 3 prodotti<br />
= c 2<br />
(a 1 + a 0 )(b 1 + b 0 )<br />
c 0 c 2<br />
a 0 b 0<br />
= c 0