Class KaratsubaAlgorithm<E>

java.lang.Object
dk.jonaslindstrom.ruffini.polynomials.algorithms.KaratsubaAlgorithm<E>
All Implemented Interfaces:
java.util.function.BiFunction<Polynomial<E>,Polynomial<E>,Polynomial<E>>, java.util.function.BinaryOperator<Polynomial<E>>

public class KaratsubaAlgorithm<E> extends Object implements java.util.function.BinaryOperator<Polynomial<E>>
The Karatsuba algorithm for multiplying two polynomials. The algorithm was originally presented in A. Karatsuba and Yu. Ofman (1962). "Multiplication of Many-Digital Numbers by Automatic Computers". Proceedings of the USSR Academy of Sciences 145, and has runtime O(nlog 3) = O(n1.585).