Schönhage–Strassen Algorithm
   HOME



picture info

Schönhage–Strassen Algorithm
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. The run-time bit complexity to multiply two -digit numbers using the algorithm is O(n \cdot \log n \cdot \log \log n) in big 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) complexity; however, their algorithm has constant factors which make it im ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Integer Multiplication By FFT
An integer is the number zero ( 0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number ( −1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative integers. The set of all integers is often denoted by the boldface or blackboard bold The set of natural numbers \mathbb is a subset of \mathbb, which in turn is a subset of the set of all rational numbers \mathbb, itself a subset of the real numbers \mathbb. Like the set of natural numbers, the set of integers \mathbb is countably infinite. An integer may be regarded as a real number that can be written without a fractional component. For example, 21, 4, 0, and −2048 are integers, while 9.75, , 5/4, and are not. The integers form the smallest group and the smallest ring containing the natural numbers. In algebraic number theory, the integers are sometimes qualified as rational integers to distinguish them from the more general a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Great Internet Mersenne Prime Search
The Great Internet Mersenne Prime Search (GIMPS) is a collaborative project of volunteers who use freely available software to search for Mersenne prime numbers. GIMPS was founded in 1996 by George Woltman, who also wrote the Prime95 client and its Linux port MPrime. Scott Kurowski wrote the back-end PrimeNet server (computing), server to demonstrate volunteer computing software by Entropia, a company he founded in 1997. GIMPS is registered as Mersenne Research, Inc. with Kurowski as Executive Vice President and board director. GIMPS is said to be one of the first large-scale volunteer computing projects over the Internet for research purposes. , the project has found a total of eighteen Mersenne primes, sixteen of which were the largest known prime number at their respective times of discovery. The largest known prime number, prime is 2136,279,841 − 1 (or M136,279,841 for short) and was discovered on October 12, 2024, by Luke Durant. On December 4, 2020, the project ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Negacyclic Convolution
In mathematics, negacyclic convolution is a convolution In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions f and g that produces a third function f*g, as the integral of the product of the two ... between two vectors ''a'' and ''b''. It is also called skew circular convolution or wrapped convolution. It results from multiplication of a skew circulant matrix, generated by vector ''a'', with vector ''b''. See also * Circular convolution theorem Bilinear maps Functional analysis Image processing {{Mathanalysis-stub ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Discrete Weighted Transform
Discrete may refer to: *Discrete particle or quantum in physics, for example in quantum theory *Discrete device, an electronic component with just one circuit element, either passive or active, other than an integrated circuit *Discrete group, a group with the discrete topology *Discrete category, category whose only arrows are identity arrows *Discrete mathematics, the study of structures without continuity *Discrete optimization, a branch of optimization in applied mathematics and computer science *Discrete probability distribution, a random variable that can be counted *Discrete space, a simple example of a topological space *Discrete spline interpolation, the discrete analog of ordinary spline interpolation * Discrete time, non-continuous time, which results in discrete-time samples *Discrete variable In mathematics and statistics, a quantitative variable may be continuous or discrete. If it can take on two real values and all the values between them, the variable is co ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Chinese Remainder Theorem
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of these integers, under the condition that the divisors are pairwise coprime (no two divisors share a common factor other than 1). The theorem is sometimes called Sunzi's theorem. Both names of the theorem refer to its earliest known statement that appeared in '' Sunzi Suanjing'', a Chinese manuscript written during the 3rd to 5th century CE. This first statement was restricted to the following example: If one knows that the remainder of ''n'' divided by 3 is 2, the remainder of ''n'' divided by 5 is 3, and the remainder of ''n'' divided by 7 is 2, then with no other information, one can determine the remainder of ''n'' divided by 105 (the product of 3, 5, and 7) without knowing the value of ''n''. In this example, the remainder is 23. More ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Fermat Number
In mathematics, a Fermat number, named after Pierre de Fermat (1601–1665), the first known to have studied them, is a natural number, positive integer of the form:F_ = 2^ + 1, where ''n'' is a non-negative integer. The first few Fermat numbers are: 3 (number), 3, 5 (number), 5, 17 (number), 17, 257 (number), 257, 65537 (number), 65537, 4294967297, 18446744073709551617, 340282366920938463463374607431768211457, ... . If 2''k'' + 1 is Prime number, prime and , then ''k'' itself must be a power of 2, so is a Fermat number; such primes are called Fermat primes. , the only known Fermat primes are , , , , and . Basic properties The Fermat numbers satisfy the following recurrence relations: : F_ = (F_-1)^+1 : F_ = F_ \cdots F_ + 2 for ''n'' ≥ 1, : F_ = F_ + 2^F_ \cdots F_ : F_ = F_^2 - 2(F_-1)^2 for . Each of these relations can be proved by mathematical induction. From the second equation, we can deduce Goldbach's theorem (named after Christian Goldbach): no two Fermat numbe ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Modular Multiplicative Inverse
In mathematics, particularly in the area of arithmetic, a modular multiplicative inverse of an integer is an integer such that the product is congruent to 1 with respect to the modulus .. In the standard notation of modular arithmetic this congruence is written as :ax \equiv 1 \pmod, which is the shorthand way of writing the statement that divides (evenly) the quantity , or, put another way, the remainder after dividing by the integer is 1. If does have an inverse modulo , then there is an infinite number of solutions of this congruence, which form a congruence class with respect to this modulus. Furthermore, any integer that is congruent to (i.e., in 's congruence class) has any element of 's congruence class as a modular multiplicative inverse. Using the notation of \overline to indicate the congruence class containing , this can be expressed by saying that the ''modulo multiplicative inverse'' of the congruence class \overline is the congruence class \overline such that: ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Root Of Unity
In mathematics, a root of unity is any complex number that yields 1 when exponentiation, raised to some positive integer power . Roots of unity are used in many branches of mathematics, and are especially important in number theory, the theory of group characters, and the discrete Fourier transform. It is occasionally called a de Moivre number after French mathematician Abraham de Moivre. Roots of unity can be defined in any field (mathematics), field. If the characteristic of a field, characteristic of the field is zero, the roots are complex numbers that are also algebraic integers. For fields with a positive characteristic, the roots belong to a finite field, and, converse (logic), conversely, every nonzero element of a finite field is a root of unity. Any algebraically closed field contains exactly th roots of unity, except when is a multiple of the (positive) characteristic of the field. General definition An ''th root of unity'', where is a positive integer, is a nu ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Prime Number
A prime number (or a prime) is a natural number greater than 1 that is not a Product (mathematics), product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways of writing it as a product, or , involve 5 itself. However, 4 is composite because it is a product (2 × 2) in which both numbers are smaller than 4. Primes are central in number theory because of the fundamental theorem of arithmetic: every natural number greater than 1 is either a prime itself or can be factorization, factorized as a product of primes that is unique up to their order. The property of being prime is called primality. A simple but slow primality test, method of checking the primality of a given number , called trial division, tests whether is a multiple of any integer between 2 and . Faster algorithms include the Miller–Rabin primality test, which is fast but has a small chance of error ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Divide-and-conquer Method
In computer science, divide and conquer is an algorithm design paradigm. A divide-and-conquer algorithm recursively breaks down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly. The solutions to the sub-problems are then combined to give a solution to the original problem. The divide-and-conquer technique is the basis of efficient algorithms for many problems, such as sorting (e.g., quicksort, merge sort), multiplying large numbers (e.g., the Karatsuba algorithm), finding the closest pair of points, syntactic analysis (e.g., top-down parsers), and computing the discrete Fourier transform ( FFT). Designing efficient divide-and-conquer algorithms can be difficult. As in mathematical induction, it is often necessary to generalize the problem to make it amenable to a recursive solution. The correctness of a divide-and-conquer algorithm is usually proved by mathematical induction, and its computational cost ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Polynomial Interpolation
In numerical analysis, polynomial interpolation is the interpolation of a given data set by the polynomial of lowest possible degree that passes through the points in the dataset. Given a set of data points (x_0,y_0), \ldots, (x_n,y_n), with no two x_j the same, a polynomial function p(x)=a_0+a_1x+\cdots+a_nx^n is said to interpolate the data if p(x_j)=y_j for each j\in\. There is always a unique such polynomial, commonly given by two explicit formulas, the Lagrange polynomials and Newton polynomials. Applications The original use of interpolation polynomials was to approximate values of important transcendental functions such as natural logarithm and trigonometric functions. Starting with a few accurately computed data points, the corresponding interpolation polynomial will approximate the function at an arbitrary nearby point. Polynomial interpolation also forms the basis for algorithms in numerical quadrature ( Simpson's rule) and numerical ordinary differential equation ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Number-theoretic Transform
In mathematics, the discrete Fourier transform over a ring generalizes the discrete Fourier transform (DFT), of a function whose values are commonly complex numbers, over an arbitrary ring. Definition Let be any ring, let n\geq 1 be an integer, and let \alpha \in R be a principal ''n''th root of unity, defined by:Martin Fürer,Faster Integer Multiplication, STOC 2007 Proceedings, pp. 57–66. Section 2: The Discrete Fourier Transform. The discrete Fourier transform maps an ''n''-tuple (v_0,\ldots,v_) of elements of to another ''n''-tuple (f_0,\ldots,f_) of elements of according to the following formula: By convention, the tuple (v_0,\ldots,v_) is said to be in the ''time domain'' and the index is called ''time''. The tuple (f_0,\ldots,f_) is said to be in the ''frequency domain'' and the index is called ''frequency''. The tuple (f_0,\ldots,f_) is also called the ''spectrum'' of (v_0,\ldots,v_). This terminology derives from the applications of Fourier transforms i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]