Currently there may be errors shown on top of a page, because of a missing Wiki update (PHP version and extension DPL3).
Navigation
Topics Help • Register • News • History • How to • Sequences statistics • Template prototypes

Difference between revisions of "Multiplication"

From Prime-Wiki
Jump to: navigation, search
(restored)
 
m
Line 27: Line 27:
 
*[[Long multiplication]]: very fast for small factors, but slower than the other methods when the factors are large.
 
*[[Long multiplication]]: very fast for small factors, but slower than the other methods when the factors are large.
 
*[[Karatsuba multiplication]]: useful for numbers in the range of about 1000-10000 digits.
 
*[[Karatsuba multiplication]]: useful for numbers in the range of about 1000-10000 digits.
*[[Fourier transform multiplication]]: uses [[Fast Fourier Transform|FFT]] to multiply extremely large numbers faster than the previous methods.
+
*[[Fourier transform multiplication]]: uses [[Fast Fourier transform|FFT]] to multiply extremely large numbers faster than the previous methods.
 
**[[Schöhage-Strassen]]: useful for numbers in the range of about 10000-40000+ digits.
 
**[[Schöhage-Strassen]]: useful for numbers in the range of about 10000-40000+ digits.
 
**[[Färer]]: currently of theoretical interest only.
 
**[[Färer]]: currently of theoretical interest only.
 
[[Category:Math]]
 
[[Category:Math]]

Revision as of 12:21, 21 January 2019

Multiplication is the process of calculating the result when a number a is added to itself b times. The result of a multiplication is called the product of a and b, and each of the numbers is called a factor of the product ab.

Multiplication is denoted a×b,(a)(b), or simply ab. The symbol '×' is known as the multiplication sign.

The result of multiplying no numbers (empty product) is always 1 (the multiplicative identity, see below). The most common occurences are in exponentiation ([math]\displaystyle{ a^0=1 }[/math]) and factorial (0!=1).

Multiplication properties

Associative property

[math]\displaystyle{ (x*y)z=x(y*z) }[/math]

Commutative property

[math]\displaystyle{ x*y=y*x }[/math]

Distributive property

[math]\displaystyle{ x(y+z)=xy+xz }[/math]

Identity element

[math]\displaystyle{ 1x=x }[/math]

Multiplication by zero

[math]\displaystyle{ 0x=0 }[/math]

Multiplication algorithms

When the product fits in a variable supported by the programming language, or in a register when programming in assembler, the multiplication is trivial. However if the largest available register is n bits wide the factors can only be n/2 bits wide each.

Otherwise there are several algorithms used to calculate products, depending on the size of the factors: