Multiplikationsmetoden Schönhage-Strassen ( eng. Schönhage-Strassen algorithm ) är en algoritm för att multiplicera stora heltal baserad på den snabba Fouriertransformen , kräver ) bitoperationer, där är antalet binära siffror i produkten [1] .
Uppfanns av Arnold Schönhage och Volker Strassen 1971 [2] .
Faktum är att det är en metod för att multiplicera polynom från en variabel, den förvandlas till en algoritm för att multiplicera tal, om dessa tal representeras som polynom från basen av talsystemet, och efter att ha mottagit resultatet, överförs genom siffrorna. Till exempel, för att multiplicera 157 och 171 (i decimalnotation) utförs följande operationer:
Även i algoritmen kan du multiplicera modulo Fermat-tal , om du använder det binära talsystemet .
Metoden ansågs vara den asymptotiskt snabbaste metoden från 1971 till 2007, då Fuhrer-algoritmen med en bättre komplexitetsuppskattning uppfanns [3] . I praktiken börjar Schönhage-Strassen-metoden att överträffa tidigare klassiska metoder som Karatsuba-multiplikationen och Toom-Cook-algoritmen (en generalisering av Karatsuba-metoden), som börjar med ordningens heltal - (från 10 000 till 40 000 decimaler) [4 ] [5] [6] .
Talteoretiska algoritmer | |
---|---|
Enkelhetstest | |
Hitta primtal | |
Faktorisering | |
Diskret logaritm | |
Hitta GCD | |
Modulo aritmetik | |
Multiplikation och division av tal | |
Beräkna kvadratroten |