ArticleslgStudy

computer science

Schönhage–Strassen algorithm

Schönhage–Strassen algorithm is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Schönhage–Strassen algorithm rather than just read about it. In short: The Schönhage–Strassen algorithm is an asymptotically fast multiplication algorithm for large integers, published by Arnold Schönhage and Volker Strassen in 1971. It works by recursively applying fast Fourier transform (FFT) over the integers modulo 2 n + 1 {\displaystyle 2^{n}+1} .

Schönhage–Strassen algorithm — main illustration
Schönhage–Strassen algorithm — illustration

Key takeaways

  • Schönhage–Strassen algorithm belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Schönhage–Strassen algorithm to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Schönhage–Strassen algorithm from memory before moving on to harder problems.

Reference excerpt

The Schönhage–Strassen algorithm is an asymptotically fast multiplication algorithm for large integers, published by Arnold Schönhage and Volker Strassen in 1971. It works by recursively applying fast Fourier transform (FFT) over the integers modulo 2 n + 1 {\displaystyle 2^{n}+1} . The run-time bit complexity to multiply two n-digit numbers using the algorithm is O ( n ⋅ log ⁡ n ⋅ log ⁡ log ⁡ n ) {\displaystyle O(n\cdot \log n\cdot \log \log n)} in big O notation. The Schönhage–Strassen algorithm was the asymptotically fastest multiplication method known from 1971 until 2007. It is asymptotically faster than older methods such as Karatsuba and Toom–Cook multiplication, and starts to outperform them in practice for numbers beyond about 10,000 to 100,000 decimal digits. In 2007, Martin Fürer published an algorithm with faster asymptotic complexity. In 2019, David Harvey and Joris van der Hoeven demonstrated that multi-digit multiplication has theoretical O ( n log ⁡ n ) {\displaystyle O(n\log n)} complexity; however, their algorithm has constant factors which make it impossibly slow for any conceivable practical problem (see galactic algorithm). Applications of the Schönhage–Strassen algorithm include large computations done for their own sake such as the Great Internet Mersenne Prime Search and approximations of π, as well as practical applications such as Lenstra elliptic curve factorization via Kronecker substitution, which reduces polynomial multiplication to integer multiplication.

… excerpt ends here. Continue reading the full article.

Illustrations

Schönhage–Strassen algorithm: The Schönhage–Strassen algorithm is based on the fast Fourier transform (FFT) method of integer multiplication. This figure demonstrates multiplying 1234 × 5678 = 7006652 using the simple FFT method. Base 10 is used in place of base 2w for illustrative purposes.
The Schönhage–Strassen algorithm is based on the fast Fourier transform (FFT) method of integer multiplication. This figure demonstrates multiplying 1234 × 5678 = 7006652 using the simple FFT method. Base 10 is used in place of base 2w for illustrative purposes.
Schönhage–Strassen algorithm: Schönhage (on the right) and Strassen (on the left) playing chess in Oberwolfach, 1979
Schönhage (on the right) and Strassen (on the left) playing chess in Oberwolfach, 1979

Worked examples

Example 1 — a first encounter with Schönhage–Strassen algorithm

Start with the simplest possible case. Write down what Schönhage–Strassen algorithm claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Schönhage–Strassen algorithm before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Schönhage–Strassen algorithm ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Schönhage–Strassen algorithm

In research
Schönhage–Strassen algorithm appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Schönhage–Strassen algorithm in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Schönhage–Strassen algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer arithmetic algorithms, Multiplication, so understanding it makes those chapters shorter.
In everyday life
Look for Schönhage–Strassen algorithm outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Schönhage–Strassen algorithm” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Schönhage–Strassen algorithm in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Schönhage–Strassen algorithm means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Schönhage–Strassen algorithm out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Schönhage–Strassen algorithm in simple terms?

The Schönhage–Strassen algorithm is an asymptotically fast multiplication algorithm for large integers, published by Arnold Schönhage and Volker Strassen in 1971. It works by recursively applying fast Fourier transform (FFT) over the integers modulo 2 n + 1 {\displaystyle 2^{n}+1} .

Why does Schönhage–Strassen algorithm matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Schönhage–Strassen algorithm?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Schönhage–Strassen algorithm.

Tags

  • Computer arithmetic algorithms
  • Multiplication

Keep exploring