Greatest common divisor

From Wikipedia, the free encyclopedia
(Redirected from Highest common factor)
Jump to navigation Jump to search

Template:Use American English Template:Short description In mathematics, the greatest common divisor (GCD), also known as greatest common factor (GCF), of two or more integers, which are not all zero, is the largest positive integer that divides each of the integers. For two integers xScript error: No such module "Check for unknown parameters"., yScript error: No such module "Check for unknown parameters"., the greatest common divisor of xScript error: No such module "Check for unknown parameters". and yScript error: No such module "Check for unknown parameters". is denoted gcd(x,y). For example, the GCD of 8 and 12 is 4, that is, gcd(8, 12) = 4Script error: No such module "Check for unknown parameters"..[1][2]

In the name "greatest common divisor", the adjective "greatest" may be replaced by "highest", and the word "divisor" may be replaced by "factor", so that other names include highest common factor (HCF), etc.[3][4][5][6] Historically, other names for the same concept have included greatest common measure.[7]

This notion can be extended to polynomials (see Polynomial greatest common divisor) and other commutative rings (see Template:Section link below).

Overview

Definition

The greatest common divisor (GCD) of integers Template:Mvar and Template:Mvar, at least one of which is nonzero, is the greatest positive integer Template:Mvar such that Template:Mvar is a divisor of both Template:Mvar and Template:Mvar; that is, there are integers Template:Mvar and Template:Mvar such that a = deScript error: No such module "Check for unknown parameters". and b = dfScript error: No such module "Check for unknown parameters"., and Template:Mvar is the largest such integer. The GCD of Template:Mvar and Template:Mvar is generally denoted gcd(a, b)Script error: No such module "Check for unknown parameters"..Template:Refn

When one of aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". is zero, the GCD is the absolute value of the nonzero integer: gcd(a, 0) = gcd(0, a) = Template:AbsScript error: No such module "Check for unknown parameters".. This case is important as the terminating step of the Euclidean algorithm.

The above definition is unsuitable for defining gcd(0, 0)Script error: No such module "Check for unknown parameters"., since there is no greatest integer nScript error: No such module "Check for unknown parameters". such that 0 × n = 0Script error: No such module "Check for unknown parameters".. However, zero is its own greatest divisor if greatest is understood in the context of the divisibility relation, so gcd(0, 0)Script error: No such module "Check for unknown parameters". is commonly defined as 0Script error: No such module "Check for unknown parameters".. This preserves the usual identities for GCD, and in particular Bézout's identity, namely that gcd(a, b)Script error: No such module "Check for unknown parameters". generates the same ideal as Template:MsetScript error: No such module "Check for unknown parameters"..[8][9][10] This convention is followed by many computer algebra systems.[11] Nonetheless, some authors leave gcd(0, 0)Script error: No such module "Check for unknown parameters". undefined.[12]

The GCD of Template:Mvar and Template:Mvar is their greatest positive common divisor in the preorder relation of divisibility. This means that the common divisors of Template:Mvar and Template:Mvar are exactly the divisors of their GCD. This is commonly proved by using either Euclid's lemma, the fundamental theorem of arithmetic, or the Euclidean algorithm. This is the meaning of "greatest" that is used for the generalizations of the concept of GCD.

Example

The number 54 can be expressed as a product of two integers in several different ways:

54×1=27×2=18×3=9×6.

Thus the complete list of divisors of 54 is 1, 2, 3, 6, 9, 18, 27, 54. Similarly, the divisors of 24 are 1, 2, 3, 4, 6, 8, 12, 24. The numbers that these two lists have in common are the common divisors of 54 and 24, that is,

1,2,3,6.

Of these, the greatest is 6, so it is the greatest common divisor:

gcd(54,24)=6.

Computing all divisors of the two numbers in this way is usually not efficient, especially for large numbers that have many divisors. Much more efficient methods are described in Template:Slink.

Coprime numbers

Script error: No such module "Labelled list hatnote". Two numbers are called relatively prime, or coprime, if their greatest common divisor equals 1Script error: No such module "Check for unknown parameters"..[13] For example, 9 and 28 are coprime.

A geometric view

"Tall, slender rectangle divided into a grid of squares. The rectangle is two squares wide and five squares tall."
A 24-by-60 rectangle is covered with ten 12-by-12 square tiles, where 12 is the GCD of 24 and 60. More generally, an a-by-b rectangle can be covered with square tiles of side length c only if c is a common divisor of a and b.

For example, a 24-by-60 rectangular area can be divided into a grid of: 1-by-1 squares, 2-by-2 squares, 3-by-3 squares, 4-by-4 squares, 6-by-6 squares or 12-by-12 squares. Therefore, 12 is the greatest common divisor of 24 and 60. A 24-by-60 rectangular area can thus be divided into a grid of 12-by-12 squares, with two squares along one edge (24/12 = 2Script error: No such module "Check for unknown parameters".) and five squares along the other (60/12 = 5Script error: No such module "Check for unknown parameters".).

Applications

Reducing fractions

Script error: No such module "labelled list hatnote". The greatest common divisor is useful for reducing fractions to the lowest terms.[14] For example, gcd(42, 56) = 14Script error: No such module "Check for unknown parameters"., therefore,

4256=314414=34.

Least common multiple

Script error: No such module "labelled list hatnote". The least common multiple of two integers that are not both zero can be computed from their greatest common divisor, by using the relation

lcm(a,b)=|ab|gcd(a,b).

Calculation

Using prime factorizations

Greatest common divisors can be computed by determining the prime factorizations of the two numbers and comparing factors. For example, to compute gcd(48, 180)Script error: No such module "Check for unknown parameters"., we find the prime factorizations 48 = 24 · 31 and 180 = 22 · 32 · 51; the GCD is then 2min(4,2) · 3min(1,2) · 5min(0,1) = 22 · 31 · 50 = 12 The corresponding LCM is then 2max(4,2) · 3max(1,2) · 5max(0,1) = 24 · 32 · 51 = 720.

In practice, this method is only feasible for small numbers, as computing prime factorizations takes too long.

Euclid's algorithm

Script error: No such module "Labelled list hatnote". The method introduced by Euclid for computing greatest common divisors is based on the fact that, given two positive integers Template:Mvar and Template:Mvar such that a > bScript error: No such module "Check for unknown parameters"., the common divisors of Template:Mvar and Template:Mvar are the same as the common divisors of abScript error: No such module "Check for unknown parameters". and Template:Mvar.

So, Euclid's method for computing the greatest common divisor of two positive integers consists of replacing the larger number with the difference of the numbers, and repeating this until the two numbers are equal: that is their greatest common divisor.

For example, to compute gcd(48,18)Script error: No such module "Check for unknown parameters"., one proceeds as follows:

gcd(48,18)gcd(4818,18)=gcd(30,18)gcd(3018,18)=gcd(12,18)gcd(12,1812)=gcd(12,6)gcd(126,6)=gcd(6,6).

So gcd(48, 18) = 6Script error: No such module "Check for unknown parameters"..

This method can be very slow if one number is much larger than the other. So, the variant that follows is generally preferred.

Euclidean algorithm

Script error: No such module "Labelled list hatnote".

File:The Great Common Divisor of 62 and 36 is 2.ogv
Animation showing an application of the Euclidean algorithm to find the greatest common divisor of 62 and 36, which is 2

A more efficient method is the Euclidean algorithm, a variant in which the difference of the two numbers Template:Mvar and Template:Mvar is replaced by the remainder of the Euclidean division (also called division with remainder) of Template:Mvar by Template:Mvar.

Denoting this remainder as a mod bScript error: No such module "Check for unknown parameters"., the algorithm replaces (a, b)Script error: No such module "Check for unknown parameters". with (b, a mod b)Script error: No such module "Check for unknown parameters". repeatedly until the pair is (d, 0)Script error: No such module "Check for unknown parameters"., where Template:Mvar is the greatest common divisor.

For example, to compute gcd(48,18), the computation is as follows:

gcd(48,18)gcd(18,48mod18)=gcd(18,12)gcd(12,18mod12)=gcd(12,6)gcd(6,12mod6)=gcd(6,0).

This again gives gcd(48, 18) = 6Script error: No such module "Check for unknown parameters"..

Binary GCD algorithm

Script error: No such module "Labelled list hatnote".

The binary GCD algorithm is a variant of Euclid's algorithm that is specially adapted to the binary representation of the numbers, which is used in most computers.

The binary GCD algorithm differs from Euclid's algorithm essentially by dividing by two every even number that is encountered during the computation. Its efficiency results from the fact that, in binary representation, testing parity consists of testing the right-most digit, and dividing by two consists of removing the right-most digit.

The method is as follows, starting with aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". that are the two positive integers whose GCD is sought.

  1. If aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". are both even, then divide both by two until at least one of them becomes odd; let Template:Mvar be the number of these paired divisions.
  2. If aScript error: No such module "Check for unknown parameters". is even, then divide it by two until it becomes odd.
  3. If bScript error: No such module "Check for unknown parameters". is even, then divide it by two until it becomes odd.
    Now, aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". are both odd and will remain odd until the end of the computation
  4. While abScript error: No such module "Check for unknown parameters". do
    • If a > bScript error: No such module "Check for unknown parameters"., then replace Template:Mvar with abScript error: No such module "Check for unknown parameters". and divide the result by two until Template:Mvar becomes odd (as aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". are both odd, there is, at least, one division by 2).
    • If a < bScript error: No such module "Check for unknown parameters"., then replace Template:Mvar with baScript error: No such module "Check for unknown parameters". and divide the result by two until Template:Mvar becomes odd.
  5. Now, a = bScript error: No such module "Check for unknown parameters"., and the greatest common divisor is 2da.

Step 1 determines Template:Mvar as the highest power of 2Script error: No such module "Check for unknown parameters". that divides aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters"., and thus their greatest common divisor. None of the steps changes the set of the odd common divisors of aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters".. This shows that when the algorithm stops, the result is correct. The algorithm stops eventually, since each steps divides at least one of the operands by at least 2Script error: No such module "Check for unknown parameters".. Moreover, the number of divisions by 2Script error: No such module "Check for unknown parameters". and thus the number of subtractions is at most the total number of digits.

Example: (a, b, d) = (48, 18, 0) → (24, 9, 1) → (12, 9, 1) → (6, 9, 1) → (3, 9, 1) → (3, 3, 1) ; the original GCD is thus the product 6 of 2d = 21Script error: No such module "Check for unknown parameters". and a = b = 3Script error: No such module "Check for unknown parameters"..

The binary GCD algorithm is particularly easy to implement and particularly efficient on binary computers. Its computational complexity is

O((loga+logb)2).

The square in this complexity comes from the fact that division by 2Script error: No such module "Check for unknown parameters". and subtraction take a time that is proportional to the number of bits of the input.

The computational complexity is usually given in terms of the length nScript error: No such module "Check for unknown parameters". of the input. Here, this length is n = log a + log bScript error: No such module "Check for unknown parameters"., and the complexity is thus

O(n2).

Lehmer's GCD algorithm

Script error: No such module "Labelled list hatnote". Lehmer's algorithm is based on the observation that the initial quotients produced by Euclid's algorithm can be determined based on only the first few digits; this is useful for numbers that are larger than a computer word. In essence, one extracts initial digits, typically forming one or two computer words, and runs Euclid's algorithms on these smaller numbers, as long as it is guaranteed that the quotients are the same with those that would be obtained with the original numbers. The quotients are collected into a small 2-by-2 transformation matrix (a matrix of single-word integers) to reduce the original numbers. This process is repeated until numbers are small enough that the binary algorithm (see below) is more efficient.

This algorithm improves speed, because it reduces the number of operations on very large numbers, and can use hardware arithmetic for most operations. In fact, most of the quotients are very small, so a fair number of steps of the Euclidean algorithm can be collected in a 2-by-2 matrix of single-word integers. When Lehmer's algorithm encounters a quotient that is too large, it must fall back to one iteration of Euclidean algorithm, with a Euclidean division of large numbers.

Other methods

File:Greatest common divisor.png
Thomae's function

If aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". are both nonzero, the greatest common divisor of aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". can be computed by using least common multiple (LCM) of aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters".:

gcd(a,b)=|ab|lcm(a,b),

but more commonly the LCM is computed from the GCD.

Using Thomae's function fScript error: No such module "Check for unknown parameters".,

gcd(a,b)=af(ba),

which generalizes to aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". rational numbers or commensurable real numbers.

Keith Slavin has shown that for odd a ≥ 1Script error: No such module "Check for unknown parameters".:

gcd(a,b)=log2k=0a1(1+e2iπkb/a)

which is a function that can be evaluated for complex b.[15] Wolfgang Schramm has shown that

gcd(a,b)=k=1aexp(2πikb/a)d|acd(k)d

is an entire function in the variable b for all positive integers a where cd(k) is Ramanujan's sum.[16]

Complexity

The computational complexity of the computation of greatest common divisors has been widely studied.[17] If one uses the Euclidean algorithm and the elementary algorithms for multiplication and division, the computation of the greatest common divisor of two integers of at most Template:Mvar bits is O(n2)Script error: No such module "Check for unknown parameters"..Script error: No such module "Unsubst". This means that the computation of greatest common divisor has, up to a constant factor, the same complexity as the multiplication.

However, if a fast multiplication algorithm is used, one may modify the Euclidean algorithm for improving the complexity, but the computation of a greatest common divisor becomes slower than the multiplication. More precisely, if the multiplication of two integers of nScript error: No such module "Check for unknown parameters". bits takes a time of T(n)Script error: No such module "Check for unknown parameters"., then the fastest known algorithm for greatest common divisor has a complexity O(T(n) log n)Script error: No such module "Check for unknown parameters".. This implies that the fastest known algorithm has a complexity of O(n (log n)2)Script error: No such module "Check for unknown parameters"..

Previous complexities are valid for the usual models of computation, specifically multitape Turing machines and random-access machines.

The computation of the greatest common divisors belongs thus to the class of problems solvable in quasilinear time. A fortiori, the corresponding decision problem belongs to the class P of problems solvable in polynomial time. The GCD problem is not known to be in NC, and so there is no known way to parallelize it efficiently; nor is it known to be P-complete, which would imply that it is unlikely to be possible to efficiently parallelize GCD computation. Shallcross et al. showed that a related problem (EUGCD, determining the remainder sequence arising during the Euclidean algorithm) is NC-equivalent to the problem of integer linear programming with two variables; if either problem is in NC or is P-complete, the other is as well.[18] Since NC contains NL, it is also unknown whether a space-efficient algorithm for computing the GCD exists, even for nondeterministic Turing machines.

Although the problem is not known to be in NC, parallel algorithms asymptotically faster than the Euclidean algorithm exist; the fastest known deterministic algorithm is by Chor and Goldreich, which (in the CRCW-PRAM model) can solve the problem in O(n/log n)Script error: No such module "Check for unknown parameters". time with n1+εScript error: No such module "Check for unknown parameters". processors.[19] Randomized algorithms can solve the problem in O((log n)2)Script error: No such module "Check for unknown parameters". time on O(enlogn) processors (this is superpolynomial).[20]

Properties

  • For every positive integer aScript error: No such module "Check for unknown parameters"., gcd(a, a) = aScript error: No such module "Check for unknown parameters"..
  • Every common divisor of aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". is a divisor of gcd(a, b)Script error: No such module "Check for unknown parameters"..
  • gcd(a, b)Script error: No such module "Check for unknown parameters"., where a and b are not both zero, may be defined alternatively and equivalently as the smallest positive integer d which can be written in the form d = ap + bqScript error: No such module "Check for unknown parameters"., where p and q are integers. This expression is called Bézout's identity. Numbers p and q like this can be computed with the extended Euclidean algorithm.
  • gcd(a, 0) = Template:AbsScript error: No such module "Check for unknown parameters"., for a ≠ 0Script error: No such module "Check for unknown parameters"., since any number is a divisor of 0, and the greatest divisor of a is Template:AbsScript error: No such module "Check for unknown parameters"..[2][5] This is usually used as the base case in the Euclidean algorithm.
  • If a divides the product bc, and gcd(a, b) = dScript error: No such module "Check for unknown parameters"., then a/d divides c.
  • If m is a positive integer, then gcd(ma, mb) = m⋅gcd(a, b)Script error: No such module "Check for unknown parameters"..
  • If m is any integer, then gcd(a + mb, b) = gcd(a, b)Script error: No such module "Check for unknown parameters".. Equivalently, gcd(a mod b,b) = gcd(a,b)Script error: No such module "Check for unknown parameters"..
  • If m is a positive common divisor of a and b, then gcd(a/m, b/m) = gcd(a, b)/mScript error: No such module "Check for unknown parameters"..
  • If gcd(a, b) = dScript error: No such module "Check for unknown parameters"., then gcd(a/d, b/d) = 1Script error: No such module "Check for unknown parameters"..
  • The GCD is a commutative function: gcd(a, b) = gcd(b, a)Script error: No such module "Check for unknown parameters"..
  • The GCD is an associative function: gcd(a, gcd(b, c)) = gcd(gcd(a, b), c)Script error: No such module "Check for unknown parameters".. Thus gcd(a, b, c, ...)Script error: No such module "Check for unknown parameters". can be used to denote the GCD of multiple arguments.
  • The GCD is a multiplicative function in the following sense: if a1 and a2 are relatively prime, then gcd(a1a2, b) = gcd(a1, b)⋅gcd(a2, b)Script error: No such module "Check for unknown parameters"..
  • gcd(a, b)Script error: No such module "Check for unknown parameters". is closely related to the least common multiple lcm(a, b)Script error: No such module "Check for unknown parameters".: we have
    gcd(a, b)⋅lcm(a, b) = Template:AbsScript error: No such module "Check for unknown parameters"..
This formula is often used to compute least common multiples: one first computes the GCD with Euclid's algorithm and then divides the product of the given numbers by their GCD.
  • The following versions of distributivity hold true:
    gcd(a, lcm(b, c)) = lcm(gcd(a, b), gcd(a, c))Script error: No such module "Check for unknown parameters".
    lcm(a, gcd(b, c)) = gcd(lcm(a, b), lcm(a, c))Script error: No such module "Check for unknown parameters"..
  • If we have the unique prime factorizations of a = p1e1 p2e2 ⋅⋅⋅ pmemScript error: No such module "Check for unknown parameters". and b = p1f1 p2f2 ⋅⋅⋅ pmfmScript error: No such module "Check for unknown parameters". where ei ≥ 0Script error: No such module "Check for unknown parameters". and fi ≥ 0Script error: No such module "Check for unknown parameters"., then the GCD of a and b is
    gcd(a,b) = p1min(e1,f1) p2min(e2,f2) ⋅⋅⋅ pmmin(em,fm)Script error: No such module "Check for unknown parameters"..
  • It is sometimes useful to define gcd(0, 0) = 0Script error: No such module "Check for unknown parameters". and lcm(0, 0) = 0Script error: No such module "Check for unknown parameters". because then the natural numbers become a complete distributive lattice with GCD as meet and LCM as join operation.[21] This extension of the definition is also compatible with the generalization for commutative rings given below.
  • In a Cartesian coordinate system, gcd(a, b)Script error: No such module "Check for unknown parameters". can be interpreted as the number of segments between points with integral coordinates on the straight line segment joining the points (0, 0)Script error: No such module "Check for unknown parameters". and (a, b)Script error: No such module "Check for unknown parameters"..
  • For non-negative integers aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters"., where aScript error: No such module "Check for unknown parameters". and bScript error: No such module "Check for unknown parameters". are not both zero, provable by considering the Euclidean algorithm in base n:[22]
    gcd(na − 1, nb − 1) = ngcd(a,b) − 1Script error: No such module "Check for unknown parameters"..
  • An identity involving Euler's totient function:
    gcd(a,b)=k|a and k|bφ(k).
  • GCD Summatory function (Pillai's arithmetical function):

k=1ngcd(k,n)=d|ndφ(nd)=nd|nφ(d)d=np|n(1+νp(n)(11p)) where νp(n) is the pScript error: No such module "Check for unknown parameters".-adic valuation. (sequence A018804 in the OEIS)

Probabilities and expected value

In 1972, James E. Nymann showed that kScript error: No such module "Check for unknown parameters". integers, chosen independently and uniformly from Template:MsetScript error: No such module "Check for unknown parameters"., are coprime with probability 1/ζ(k)Script error: No such module "Check for unknown parameters". as nScript error: No such module "Check for unknown parameters". goes to infinity, where ζScript error: No such module "Check for unknown parameters". refers to the Riemann zeta function.[23] (See coprime for a derivation.) This result was extended in 1987 to show that the probability that kScript error: No such module "Check for unknown parameters". random integers have greatest common divisor dScript error: No such module "Check for unknown parameters". is dk/ζ(k)Script error: No such module "Check for unknown parameters"..[24]

Using this information, the expected value of the greatest common divisor function can be seen (informally) to not exist when k = 2Script error: No such module "Check for unknown parameters".. In this case the probability that the GCD equals dScript error: No such module "Check for unknown parameters". is d−2/ζ(2)Script error: No such module "Check for unknown parameters"., so we have

E(2)=d=1d(d2/ζ(2))=1ζ(2)d=11d.

This last summation is the harmonic series, which diverges. However, when k ≥ 3Script error: No such module "Check for unknown parameters"., the expected value is well-defined, and by the above argument, it is

E(k)=d=1d1kζ(k)1=ζ(k1)ζ(k).

For k = 3Script error: No such module "Check for unknown parameters"., this is approximately equal to 1.3684. For k = 4Script error: No such module "Check for unknown parameters"., it is approximately 1.1106.

In commutative rings

Script error: No such module "Labelled list hatnote". Script error: No such module "Unsubst".

The notion of greatest common divisor can more generally be defined for elements of an arbitrary commutative ring, although in general there need not exist one for every pair of elements.[25]

With this definition, two elements Template:Mvar and Template:Mvar may very well have several greatest common divisors, or none at all. If Template:Mvar is an integral domain, then any two GCDs of Template:Mvar and Template:Mvar must be associate elements, since by definition either one must divide the other. Indeed, if a GCD exists, any one of its associates is a GCD as well.

Existence of a GCD is not assured in arbitrary integral domains. However, if Template:Mvar is a unique factorization domain or any other GCD domain, then any two elements have a GCD. If Template:Mvar is a Euclidean domain in which euclidean division is given algorithmically (as is the case for instance when R = F[X]Script error: No such module "Check for unknown parameters". where Template:Mvar is a field, or when Template:Mvar is the ring of Gaussian integers), then greatest common divisors can be computed using a form of the Euclidean algorithm based on the division procedure.

The following is an example of an integral domain with two elements that do not have a GCD:

R=[3],a=4=22=(1+3)(13),b=(1+3)2.

The elements 2Script error: No such module "Check for unknown parameters". and 1+3 are two maximal common divisors (that is, any common divisor which is a multiple of 2Script error: No such module "Check for unknown parameters". is associated to 2Script error: No such module "Check for unknown parameters"., the same holds for 1+3, but they are not associated, so there is no greatest common divisor of Template:Mvar and bScript error: No such module "Check for unknown parameters"..

Corresponding to the Bézout property we may, in any commutative ring, consider the collection of elements of the form pa + qbScript error: No such module "Check for unknown parameters"., where Template:Mvar and Template:Mvar range over the ring. This is the ideal generated by Template:Mvar and Template:Mvar, and is denoted simply (a, b)Script error: No such module "Check for unknown parameters".. In a ring all of whose ideals are principal (a principal ideal domain or PID), this ideal will be identical with the set of multiples of some ring element dScript error: No such module "Check for unknown parameters".; then this Template:Mvar is a greatest common divisor of Template:Mvar and bScript error: No such module "Check for unknown parameters".. But the ideal (a, b)Script error: No such module "Check for unknown parameters". can be useful even when there is no greatest common divisor of Template:Mvar and bScript error: No such module "Check for unknown parameters".. (Indeed, Ernst Kummer used this ideal as a replacement for a GCD in his treatment of Fermat's Last Theorem, although he envisioned it as the set of multiples of some hypothetical, or ideal, ring element Template:Mvar, whence the ring-theoretic term.)

See also

Notes

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "Footnotes".
  2. a b Script error: No such module "Footnotes".
  3. Script error: No such module "citation/CS1"..
  4. Script error: No such module "citation/CS1"..
  5. a b Script error: No such module "Footnotes".
  6. Some authors treat Template:Vanchor as synonymous with greatest common divisor. This contradicts the common meaning of the words that are used, as denominator refers to fractions, and two fractions do not have any greatest common denominator (if two fractions have the same denominator, one obtains a greater common denominator by multiplying all numerators and denominators by the same integer).
  7. Script error: No such module "citation/CS1"..
  8. Thomas H. Cormen, et al., Introduction to Algorithms (2nd edition, 2001) Template:Isbn, p. 852
  9. Bernard L. Johnston, Fred Richman, Numbers and Symmetry: An Introduction to Algebra Template:Isbn, p. 38
  10. Martyn R. Dixon, et al., An Introduction to Essential Algebraic Structures Template:Isbn, p. 59
  11. e.g., Wolfram Alpha calculation and Maxima
  12. Jonathan Katz, Yehuda Lindell, Introduction to Modern Cryptography Template:Isbn, 2020, section 9.1.1, p. 45
  13. Script error: No such module "citation/CS1".
  14. Script error: No such module "citation/CS1".
  15. Script error: No such module "Citation/CS1".
  16. Script error: No such module "Citation/CS1".
  17. Script error: No such module "citation/CS1".
  18. Script error: No such module "citation/CS1".
  19. Script error: No such module "Citation/CS1".
  20. Script error: No such module "citation/CS1".
  21. Script error: No such module "citation/CS1".. Footnote 27, p. 9: "For example, the natural numbers with gcd (greatest common divisor) as meet and lcm (least common multiple) as join operation determine a (complete distributive) lattice." Including these definitions for 0 is necessary for this result: if one instead omits 0 from the set of natural numbers, the resulting lattice is not complete.
  22. Script error: No such module "citation/CS1".
  23. Script error: No such module "Citation/CS1".
  24. Script error: No such module "Citation/CS1".
  25. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

References

<templatestyles src="Refbegin/styles.css" />

  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".
  • Script error: No such module "citation/CS1".

Further reading

<templatestyles src="Refbegin/styles.css" />

External links

Script error: No such module "Navbox".