Currently there may be errors shown on top of a page, because of a missing Wiki update (PHP version and extension DPL3). |
Topics | Help • Register • News • History • How to • Sequences statistics • Template prototypes |
Difference between revisions of "Multiplication"
m |
m |
||
Line 3: | Line 3: | ||
Multiplication is denoted a×b,(a)(b), or simply ab. The symbol '×' is known as the multiplication sign. | 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 [[exponent|exponentiation]] (<math>a^0=1</math>) and [[factorial]] (0!=1). | + | The result of multiplying no numbers (empty product) is always 1 (the multiplicative identity, see below). The most common occurences are in [[exponent|exponentiation]] (<math>a^0=1</math>) and [[factorial number]]s (0!=1). |
==Multiplication properties== | ==Multiplication properties== |
Revision as of 12:48, 25 March 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 numbers (0!=1).
Contents
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:
- 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.
- Fourier transform multiplication: uses 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.
- Färer: currently of theoretical interest only.