Carmichael function

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description In number theory, a branch of mathematics, the Carmichael function λ(n)Script error: No such module "Check for unknown parameters". of a positive integer Template:Mvar is the smallest positive integer Template:Mvar such that

am1(modn)

holds for every integer Template:Mvar coprime to Template:Mvar. In algebraic terms, λ(n)Script error: No such module "Check for unknown parameters". is the exponent of the [[multiplicative group of integers modulo n|multiplicative group of integers modulo Template:Mvar]]. As this is a finite abelian group, there must exist an element whose order equals the exponent, λ(n)Script error: No such module "Check for unknown parameters".. Such an element is called a primitive λScript error: No such module "Check for unknown parameters".-root modulo Template:Mvar.

File:CarmichaelLambda.svg
Carmichael Template:Mvar function: λ(n)Script error: No such module "Check for unknown parameters". for 1 ≤ n ≤ 1000Script error: No such module "Check for unknown parameters". (compared to Euler Template:Mvar function)

The Carmichael function is named after the American mathematician Robert Carmichael who defined it in 1910.[1] It is also known as Carmichael's λ function, the reduced totient function, and the least universal exponent function.

The order of the multiplicative group of integers modulo Template:Mvar is φ(n)Script error: No such module "Check for unknown parameters"., where Template:Mvar is Euler's totient function. Since the order of an element of a finite group divides the order of the group, λ(n)Script error: No such module "Check for unknown parameters". divides φ(n)Script error: No such module "Check for unknown parameters".. The following table compares the first 36 values of λ(n)Script error: No such module "Check for unknown parameters". (sequence A002322 in the OEIS) and φ(n)Script error: No such module "Check for unknown parameters". (in bold if they are different; the values ofTemplate:Mvar such that they are different are listed in Template:Oeis).

Template:Mvar 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
λ(n)Script error: No such module "Check for unknown parameters". 1 1 2 2 4 2 6 2 6 4 10 2 12 6 4 4 16 6 18 4 6 10 22 2 20 12 18 6 28 4 30 8 10 16 12 6
φ(n)Script error: No such module "Check for unknown parameters". 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8 16 6 18 8 12 10 22 8 20 12 18 12 28 8 30 16 20 16 24 12

Numerical examples

  • n = 5Script error: No such module "Check for unknown parameters".. The set of numbers less than and coprime to 5 is {1,2,3,4Script error: No such module "Check for unknown parameters".}. Hence Euler's totient function has value φ(5) = 4Script error: No such module "Check for unknown parameters". and the value of Carmichael's function, λ(5)Script error: No such module "Check for unknown parameters"., must be a divisor of 4. The divisor 1 does not satisfy the definition of Carmichael's function since a1≢1(mod5) except for a1(mod5). Neither does 2 since 22324≢1(mod5). Hence λ(5) = 4Script error: No such module "Check for unknown parameters".. Indeed, 142434441(mod5). Both 2 and 3 are primitive Template:Mvar-roots modulo 5 and also primitive roots modulo 5.
  • n = 8Script error: No such module "Check for unknown parameters".. The set of numbers less than and coprime to 8 is {1,3,5,7} Script error: No such module "Check for unknown parameters".. Hence φ(8) = 4Script error: No such module "Check for unknown parameters". and λ(8)Script error: No such module "Check for unknown parameters". must be a divisor of 4. In fact λ(8) = 2Script error: No such module "Check for unknown parameters". since 123252721(mod8). The primitive Template:Mvar-roots modulo 8 are 3, 5, and 7. There are no primitive roots modulo 8.

Recurrence for λ(n)Script error: No such module "Check for unknown parameters".

The Carmichael lambda function of a prime power can be expressed in terms of the Euler totient. Any number that is not 1 or a prime power can be written uniquely as the product of distinct prime powers, in which case Template:Mvar of the product is the least common multiple of the Template:Mvar of the prime power factors. Specifically, λ(n)Script error: No such module "Check for unknown parameters". is given by the recurrence

λ(n)={φ(n)if n is 1, 2, 4, or an odd prime power,12φ(n)if n=2r, r3,lcm(λ(n1),λ(n2),,λ(nk))if n=n1n2nk where n1,n2,,nk are powers of distinct primes.

Euler's totient for a prime power, that is, a number prScript error: No such module "Check for unknown parameters". with pScript error: No such module "Check for unknown parameters". prime and r ≥ 1Script error: No such module "Check for unknown parameters"., is given by

φ(pr)=pr1(p1).

Carmichael's theorems

Script error: No such module "anchor". Carmichael proved two theorems that, together, establish that if λ(n)Script error: No such module "Check for unknown parameters". is considered as defined by the recurrence of the previous section, then it satisfies the property stated in the introduction, namely that it is the smallest positive integer Template:Mvar such that am1(modn) for all Template:Mvar relatively prime to Template:Mvar. Template:Math theorem This implies that the order of every element of the multiplicative group of integers modulo Template:Mvar divides λ(n)Script error: No such module "Check for unknown parameters".. Carmichael calls an element Template:Mvar for which aλ(n) is the least power of Template:Mvar congruent to 1 (mod Template:Mvar) a primitive λ-root modulo n.[2] (This is not to be confused with a [[primitive root modulo n|primitive root modulo Template:Mvar]], which Carmichael sometimes refers to as a primitive φ-root modulo Template:Mvar.) Template:Math theorem If Template:Mvar is one of the primitive Template:Mvar-roots guaranteed by the theorem, then gm1(modn) has no positive integer solutions Template:Mvar less than λ(n)Script error: No such module "Check for unknown parameters"., showing that there is no positive m < λ(n)Script error: No such module "Check for unknown parameters". such that am1(modn) for all Template:Mvar relatively prime to Template:Mvar.

The second statement of Theorem 2 does not imply that all primitive Template:Mvar-roots modulo Template:Mvar are congruent to powers of a single root Template:Mvar.[3] For example, if n = 15Script error: No such module "Check for unknown parameters"., then λ(n) = 4Script error: No such module "Check for unknown parameters". while φ(n)=8 and φ(λ(n))=2. There are four primitive Template:Mvar-roots modulo 15, namely 2, 7, 8, and 13 as 1248474134. The roots 2 and 8 are congruent to powers of each other and the roots 7 and 13 are congruent to powers of each other, but neither 7 nor 13 is congruent to a power of 2 or 8 and vice versa. The other four elements of the multiplicative group modulo 15, namely 1, 4 (which satisfies 4228272132), 11, and 14, are not primitive Template:Mvar-roots modulo 15.

For a contrasting example, if n = 9Script error: No such module "Check for unknown parameters"., then λ(n)=φ(n)=6 and φ(λ(n))=2. There are two primitive Template:Mvar-roots modulo 9, namely 2 and 5, each of which is congruent to the fifth power of the other. They are also both primitive φ-roots modulo 9.

Properties of the Carmichael function

In this section, an integer n is divisible by a nonzero integer m if there exists an integer k such that n=km. This is written as

mn.

A consequence of minimality of λ(n)Script error: No such module "Check for unknown parameters".

Suppose am ≡ 1 (mod n)Script error: No such module "Check for unknown parameters". for all numbers Template:Mvar coprime with Template:Mvar. Then λ(n) | mScript error: No such module "Check for unknown parameters"..

Proof: If m = (n) + rScript error: No such module "Check for unknown parameters". with 0 ≤ r < λ(n)Script error: No such module "Check for unknown parameters"., then

ar=1kar(aλ(n))kar=akλ(n)+r=am1(modn)

for all numbers Template:Mvar coprime with Template:Mvar. It follows that r = 0Script error: No such module "Check for unknown parameters". since r < λ(n)Script error: No such module "Check for unknown parameters". and λ(n)Script error: No such module "Check for unknown parameters". is the minimal positive exponent for which the congruence holds for all Template:Mvar coprime with Template:Mvar.

λ(n)Script error: No such module "Check for unknown parameters". divides φ(n)Script error: No such module "Check for unknown parameters".

This follows from elementary group theory, because the exponent of any finite group must divide the order of the group. λ(n)Script error: No such module "Check for unknown parameters". is the exponent of the multiplicative group of integers modulo Template:Mvar while φ(n)Script error: No such module "Check for unknown parameters". is the order of that group. In particular, the two must be equal in the cases where the multiplicative group is cyclic due to the existence of a primitive root, which is the case for odd prime powers.

We can thus view Carmichael's theorem as a sharpening of Euler's theorem.

Divisibility

a|bλ(a)|λ(b)

Proof.

By definition, for any integer k with gcd(k,b)=1 (and thus also gcd(k,a)=1), we have that b|(kλ(b)1) , and therefore a|(kλ(b)1). This establishes that kλ(b)1(moda) for all Template:Mvar relatively prime to Template:Mvar. By the consequence of minimality proved above, we have λ(a)|λ(b).

Composition

For all positive integers Template:Mvar and Template:Mvar it holds that

λ(lcm(a,b))=lcm(λ(a),λ(b)).

This is an immediate consequence of the recurrence for the Carmichael function.

Exponential cycle length

If rmax=maxi{ri} is the biggest exponent in the prime factorization n=p1r1p2r2pkrk of Template:Mvar, then for all Template:Mvar (including those not coprime to Template:Mvar) and all rrmaxScript error: No such module "Check for unknown parameters".,

araλ(n)+r(modn).

In particular, for square-free Template:Mvar ( rmax = 1Script error: No such module "Check for unknown parameters".), for all Template:Mvar we have

aaλ(n)+1(modn).

Average value

For any n ≥ 16Script error: No such module "Check for unknown parameters".:[4][5]

1ninλ(i)=nlnneB(1+o(1))lnlnn/(lnlnlnn)

(called Erdős approximation in the following) with the constant

B:=eγp(11(p1)2(p+1))0.34537

and γ ≈ 0.57721Script error: No such module "Check for unknown parameters"., the Euler–Mascheroni constant.

The following table gives some overview over the first 226 – 1 = Script error: No such module "val".Script error: No such module "Check for unknown parameters". values of the Template:Mvar function, for both, the exact average and its Erdős-approximation.

Additionally given is some overview over the more easily accessible “logarithm over logarithm” values LoL(n) := Template:SfracScript error: No such module "Check for unknown parameters". with

There, the table entry in row number 26 at column

  •  % LoL > Template:SfracScript error: No such module "Check for unknown parameters".   → 60.49

indicates that 60.49% (≈ Script error: No such module "val".) of the integers 1 ≤ nScript error: No such module "val".Script error: No such module "Check for unknown parameters". have λ(n) > nTemplate:SfracScript error: No such module "Check for unknown parameters". meaning that the majority of the Template:Mvar values is exponential in the length l := log2(n)Script error: No such module "Check for unknown parameters". of the input Template:Mvar, namely

(245)l=24l5=(2l)45=n45.
Template:Mvar n = 2ν – 1Script error: No such module "Check for unknown parameters". sum
inλ(i)
average
1ninλ(i)
Erdős average Erdős /
exact average
LoLScript error: No such module "Check for unknown parameters". average % LoLScript error: No such module "Check for unknown parameters". > Template:Sfrac % LoLScript error: No such module "Check for unknown parameters". > Template:Sfrac
5 31 270 8.709677 68.643 7.8813 0.678244 41.94 35.48
6 63 964 15.301587 61.414 4.0136 0.699891 38.10 30.16
7 127 3574 28.141732 86.605 3.0774 0.717291 38.58 27.56
8 255 12994 50.956863 138.190 2.7119 0.730331 38.82 23.53
9 511 48032 93.996086 233.149 2.4804 0.740498 40.90 25.05
10 1023 178816 174.795699 406.145 2.3235 0.748482 41.45 26.98
11 2047 662952 323.865169 722.526 2.2309 0.754886 42.84 27.70
12 4095 2490948 608.290110 1304.810 2.1450 0.761027 43.74 28.11
13 8191 9382764 1145.496765 2383.263 2.0806 0.766571 44.33 28.60
14 16383 35504586 2167.160227 4392.129 2.0267 0.771695 46.10 29.52
15 32767 134736824 4111.967040 8153.054 1.9828 0.776437 47.21 29.15
16 65535 513758796 7839.456718 15225.43 1.9422 0.781064 49.13 28.17
17 131071 1964413592 14987.40066 28576.97 1.9067 0.785401 50.43 29.55
18 262143 7529218208 28721.79768 53869.76 1.8756 0.789561 51.17 30.67
19 524287 28935644342 55190.46694 101930.9 1.8469 0.793536 52.62 31.45
20 1048575 111393101150 106232.8409 193507.1 1.8215 0.797351 53.74 31.83
21 2097151 429685077652 204889.9090 368427.6 1.7982 0.801018 54.97 32.18
22 4194303 1660388309120 395867.5158 703289.4 1.7766 0.804543 56.24 33.65
23 8388607 6425917227352 766029.1187 1345633 1.7566 0.807936 57.19 34.32
24 16777215 24906872655990 1484565.386 2580070 1.7379 0.811204 58.49 34.43
25 33554431 96666595865430 2880889.140 4956372 1.7204 0.814351 59.52 35.76
26 67108863 375619048086576 5597160.066 9537863 1.7041 0.817384 60.49 36.73

Prevailing interval

For all numbers Template:Mvar and all but o(N)Script error: No such module "Check for unknown parameters".[6] positive integers nNScript error: No such module "Check for unknown parameters". (a "prevailing" majority):

λ(n)=n(lnn)lnlnlnn+A+o(1)

with the constant[5]

A:=1+plnp(p1)20.2269688

Lower bounds

For any sufficiently large number Template:Mvar and for any Δ ≥ (ln ln N)3Script error: No such module "Check for unknown parameters"., there are at most

Nexp(0.69(ΔlnΔ)13)

positive integers n ≤ NScript error: No such module "Check for unknown parameters". such that λ(n) ≤ ne−ΔScript error: No such module "Check for unknown parameters"..[7]

Minimal order

For any sequence n1 < n2 < n3 < ⋯Script error: No such module "Check for unknown parameters". of positive integers, any constant 0 < c < Template:SfracScript error: No such module "Check for unknown parameters"., and any sufficiently large Template:Mvar:[8][9]

λ(ni)>(lnni)clnlnlnni.

Small values

For a constant Template:Mvar and any sufficiently large positive Template:Mvar, there exists an integer n > AScript error: No such module "Check for unknown parameters". such that[9]

λ(n)<(lnA)clnlnlnA.

Moreover, Template:Mvar is of the form

n=q(q1)|mq

for some square-free integer m < (ln A)c ln ln ln AScript error: No such module "Check for unknown parameters"..[8]

Image of the function

The set of values of the Carmichael function has counting function[10]

x(lnx)η+o(1),

where

η=11+lnln2ln20.08607

Use in cryptography

The Carmichael function is important in cryptography due to its use in the RSA encryption algorithm.

Proof of Theorem 1

For n = pScript error: No such module "Check for unknown parameters"., a prime, Theorem 1 is equivalent to Fermat's little theorem:

ap11(modp)for all a coprime to p.

For prime powers prScript error: No such module "Check for unknown parameters"., r > 1Script error: No such module "Check for unknown parameters"., if

apr1(p1)=1+hpr

holds for some integer Template:Mvar, then raising both sides to the power Template:Mvar gives

apr(p1)=1+hpr+1

for some other integer h. By induction it follows that aφ(pr)1(modpr) for all Template:Mvar relatively prime to Template:Mvar and hence to prScript error: No such module "Check for unknown parameters".. This establishes the theorem for n = 4Script error: No such module "Check for unknown parameters". or any odd prime power.

Sharpening the result for higher powers of two

For Template:Mvar coprime to (powers of) 2 we have a = 1 + 2h2Script error: No such module "Check for unknown parameters". for some integer h2Script error: No such module "Check for unknown parameters".. Then,

a2=1+4h2(h2+1)=1+8(h2+12)=:1+8h3,

where h3 is an integer. With r = 3Script error: No such module "Check for unknown parameters"., this is written

a2r2=1+2rhr.

Squaring both sides gives

a2r1=(1+2rhr)2=1+2r+1(hr+2r1hr2)=:1+2r+1hr+1,

where hr+1 is an integer. It follows by induction that

a2r2=a12φ(2r)1(mod2r)

for all r3 and all Template:Mvar coprime to 2r.[11]

Integers with multiple prime factors

By the unique factorization theorem, any n > 1Script error: No such module "Check for unknown parameters". can be written in a unique way as

n=p1r1p2r2pkrk

where p1 < p2 < ... < pkScript error: No such module "Check for unknown parameters". are primes and r1, r2, ..., rkScript error: No such module "Check for unknown parameters". are positive integers. The results for prime powers establish that, for 1jk,

aλ(pjrj)1(modpjrj)for all a coprime to n and hence to piri.

From this it follows that

aλ(n)1(modpjrj)for all a coprime to n,

where, as given by the recurrence,

λ(n)=lcm(λ(p1r1),λ(p2r2),,λ(pkrk)).

From the Chinese remainder theorem one concludes that

aλ(n)1(modn)for all a coprime to n.

See also

Notes

  1. Script error: No such module "Citation/CS1".
  2. Carmichael (1914) p.54
  3. Carmichael (1914) p.56
  4. Theorem 3 in Erdős (1991)
  5. a b Sándor & Crstici (2004) p.194
  6. Theorem 2 in Erdős (1991) 3. Normal order. (p.365)
  7. Theorem 5 in Friedlander (2001)
  8. a b Theorem 1 in Erdős (1991)
  9. a b Sándor & Crstici (2004) p.193
  10. Script error: No such module "Citation/CS1".
  11. Carmichael (1914) pp.38–39

References

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

Template:Totient