determining primitive roots by christoph and john c. witzgall september 15, 2015

53
DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

Upload: leslie-knight

Post on 05-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

DETERMININGPRIMITIVE ROOTS

byChristoph and John C. Witzgall

September 15, 2015

Page 2: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

Divisors/Multipliers Integers will be capitalized. For A, B > 0,

gcd(A, B) = greatest common divisor:W|A and W|B => W|gcd (A, B)lcm(A, B) = least common multipleA|W and B|W => lcm(A, B)|W

(1)

A, B are relatively prime <=> gcd(A, B)=1

gcd(A, B) × lcm(A, B) = A×B

Page 3: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

REDUCTION MODULO P>0For P > 0 , any integer X may be represented as

X = S×P + r, 0 ≤ r < P,with r the

remainder of X modulo P

and S the value of integer (“long”) division of X by P. We say that X is reduced to r modulo P.

Page 4: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

ARITHMETIC MODULO P>0

The reduction process is used to define the arithmetic modulo P.

For remainders a, b between 0 and P-1, the operations

a + b, a - b, a×bare evaluated using their integer face value, if necessary, reducing the results modulo P.

Page 5: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

THE GROUP GP

For P a prime, the remainders,

1, 2, 3, … , P–1

under multiplication modulo P form the group,

GP

our subject of interest.

Page 6: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 71

Page 7: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2

Page 8: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4

Page 9: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4 8 -7

Page 10: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4 1

Page 11: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4 1 2

Page 12: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4 1 2 4

Page 13: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4 1 2 4 8 -7

Page 14: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

1 2 4 1 2 4 1 . . .

Page 15: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1

Page 16: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3

Page 17: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 9 -7

Page 18: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2

Page 19: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6

Page 20: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6 18 -14

Page 21: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6 4

Page 22: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6 4 12 -7

Page 23: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6 4 5

Page 24: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6 4 5 15 -14

Page 25: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

(1 2 4)1 3 2 6 4 5 1

Page 26: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 7

C(2) = (1 2 4)C(3) = (1 3 2 6 5) 3 = primitive rootC(4) = (1 4 2)C(5) = (1 5 6 2 3) 5 = primitive rootC(6) = (1 6)

Page 27: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

GROUPS

Groups considered here are finite and abelian. The notation

|G| = “order of G”Means “number of elements.” Fundamentally,

(2) N = |G| => aN = 1 for a Є G H G => |H| divides |G|⊆

Page 28: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLESThe cycle

C(a) = (1, a, a2, … , aN-1), aN = 1,encapsulates the period of a sequence of consecu-tive powers of an element a Є G.

(3) N = |C(a)|, aR = 1 => N|R

The entries in C(a) form a group. Such groups, generated by a single element are called cyclic.

Page 29: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

SUBCYCLES Suppose N = ǀC(a)ǀ, KǀN, M = N/K. Then

C(aK ) = (1 aK a2K … ) is a subcycle of C(a). Its length is given by (4) Proposition: |C(aK )| = N/K = M

Proof: aKM = aN = 1. If aKJ = 1 for 0 < J ≤ Mthen N|KJ. Thus M|J, so that J = M.

Page 30: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

SPREADS

Subgroups H1, H2 G together ⊂

generate what we call their

spread H1 ᴗ H2

Spread

H1 H2

Inter section

Page 31: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

ORDERS OF SPREADS

For subgroups H1, H2 of abelian group G:

Theorem: |H1 ∩ H2| × |H1 H∪ 2| = |H1|×|H2|

Proof: H1×H2, |H1×H2| = |H1|×|H2|, the group of

pairs (a, b); a Є H1, b Є H₂, (a₁ b₁)×(a₂ b₂) = (a₁b₁ a₂b₂).

Φ(a₁ a₂) = a₁×a₂ is a homomorphism onto H1 H∪ 2.

Φ-1(1) isomorphic to H1 ∩ H2 : |Φ-1 (1)| = |H1 ∩ H2|

|H1 H∪ 1| = = =

Page 32: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

COROLLARY

By (2), |H1 ∩ H2|is a common divisor of |H1|,|H2| .

Thus |H1 ∩ H2| divides gcd(|H1|,|H2|).

H1,H2 relatively prime <=> gcd(|H1|,|H2|)=1:

|H1 ∩ H2|= 1

(5) gcd(|H1|,|H2|)=1=>

|H1 H∪ 2|= |

Page 33: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

PRIMITIVE ROOTS

(6) Primitive Root Theorem: Gp is cyclic

This means that Gp may be generated by

a single one of its elements. Each such generator is a primitive root of P. We propose:• A constructive proof based on prime

factorization of P-1• An algorithm for computing primitive roots.

Page 34: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

APPROACHIn what follows, we aim to prove the

(7) Theorem: The spread of two cycles C(a) and C(b) in GP is cyclic

by characterizing a generator x Є GP :

__

C(a) C(b) = C(x) ∪

Successively collapsing pairs of cycles into single ones then yields a primitive root.

Page 35: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

RELATIVELY PRIME CYCLES

We call cycles C(a), C(b) in group G relatively prime if ǀC(a)ǀ, ǀC(b)ǀ are relatively prime.

(8) Theorem: The spread of relatively prime cycles C(a) and C(b) is cyclic:

C(a) C(b) = C(a∪ ×b).

(Proof after the next slide.)

Page 36: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CONVENTION

For what follows in this presentation, we are using the notation

A = | C(a)| , B = | C(b)|

for the orders of cycles C(a) and C(b).

Page 37: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

PROOF OF THEOREM (8)By (5) and (1), |C(a) C(b)| = A∪ ×B = lcm (A, B).

For M > 0: (a×b)M = 1 <=> aM = (bM ) -1 Є C(a) ∩ C(b) <=> aM = b M = 1 <=> A|M and B|M by (3)In other words, the exponent

M = lcm(A, B) = A×B is the smallest positive exponent with (a×b)M = 1. Thus C(a) C(b) = C (a×b).∪

Page 38: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CYCLES MODULO 11C(2) = (1 2 4 8 5 10 9 7 3 6)C(3) = (1 3 9 5 4) C(4) = (1 4 5 9 3)C(5) = (1 5 3 4 9)C(6) = (1 6 3 7 9 10 5 8 4 2)C(7) = (1 7 5 2 3 10 4 6 9 8)C(8) = (1 8 9 6 4 10 3 2 5 7)C(9) = (1 9 4 3 5)C(10) = ( 1 10)

Cycles of equal lengths have the same elements.

Page 39: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

LAGRANGE (9) Theorem: In group G P , all cycles of equal

order contain the same set of elements.

Proof: M = ǀC(a)ǀ implies by (2) that

xM – 1 = 0 for x C(a).

By Lagrange's theorem, a polynomial of degree M has at most M distinct roots. As C(a) already has M distinct elements, there is no other group.

Page 40: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CONSEQUENCES Recall

A = |C(a)|, B = |C(b)|. In GP the statements:

i. A|B <=> C(a) C(b)⊆

(10) ii. |C(a) ∩ C(b)| = gcd(A, B) iii. |C(a) C(b)| = lcm∪ (A, B)

are consequences of Lagrange (9).

Page 41: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

SEPARATION

We call U|A and V|B separators of A and B if

(11) ( i) lcm(A/U, B/V) = lcm(A, B) ( ii) gcd(A/U, B/V) = 1

(12) Theorem: If U and V separate A and B, C(a) C(b) = C(a∪ U × bV).

Page 42: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

Proof of Theorem 12

Proof: By (4), |C(aU )|=A/U, |C(bV)|=B/V. Thus by (10)

|C(a) C(b)| = lcm(A,B)∪ |C(aU ) C(b∪ V)| = lcm(A/U, B/V)

Yielding by (11.i), C(a) C(b) = C(a∪ U ) C(b∪ V). As C(aU) C(a), C(b⊆ V) C(b), we have⊆

C(a) C(b) = C(a∪ U ) C(b∪ V )By (11.i), C(a) and C(b) are relatively prime. By (8)

C(aU ) C(b∪ V) = C(aU × bV ).

Page 43: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

SEPARATOR PRODUCT

(13) Proposition: If U, V are separators of A, B,

U×V = gcd(A, B)

Proof: By (1) and (11),

U×V = =

=

Page 44: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

FACTORIZATION

A = 120 B = 1260The prime factors involved in both are

2, 3, 5, 7Prime factorizations of A and B:

A = 120 = 8 × 3 × 5 × 1 B = 1260 = 4 × 9 × 5 × 7

lcm(A, B) = 8 × 9 × 5 × 7 gcd(A, B) = 4 × 3 × 5 × 1

Page 45: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

THE GIST

A= 120 = 8 × 3 × 5 × 1 8 × 1 × 5 × 1 = 40 =A/U B=1260 = 4 × 9 × 5 × 7 1 × 9 × 1 × 7 = 63 =B/V

U = 3 × 1 = 3, V = 4 × 5 = 20

Reducing the factors of lower multiplicity to 0 leaves lcm(A, B) unchanged, while reducing A by U and B by V, effecting separation.

Page 46: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

Stepwise Separation

We call W > 1 a partial separator of A,B if

(13) gcd(A, B/W) = gcd(A, B)/W

By (1) lcm(A, B) remains unchanged,

lcm(A, B/W) = = = lcm(A,B),

while gcd(A, B) is reduced.

Page 47: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

CUMULATIVE MULTIPLICATION

The following is at the heart of stepwise separation:

(14)

Proposition: If W1 is a partial separator for A, B, and W2 is one for A, B/W1 , then

W1 W2

is a partial separator for A, B, too.

Proof: gcd(A, B/(W1W2 )) = gcd(A, B/W1 )/W2

= gcd(A, B)/(W1W2)).

Page 48: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

PARTIAL SEPARATOR

(15) Theorem: With C = gcd(A, B),W = gcd(A/C, C) > 1

is a partial separator of A, B.

Proof: In view of (14), it suffices to show that any prime divisor Q|W is a partial separator of A, B. The multiplicity, mult(Q|A), of Q in A exceeds mult(Q|C). Then

gcd(Q, B/C) ≤ gcd(A/C, B/C) = 1,Implies gcd(Q, B/C) = 1 so that

mult(Q|B) = mult(Q|C) < mult (Q|A). Thus gcd(A, B/Q) = gcd(A, B)/Q.

Page 49: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

TERMINATION(16) Theorem: If C = gcd(A, B), and W = gcd(A/C, C) = 1 then there are full separators U = C, and V = 1.

Proof: gcd(A/C) = 1 implies that the division by C removes from A all divisors common with B. Thus gcd(A/C, B) = 1 = gcd(A/U, B/V), so that

lcm(A/U, B/V) = lcm(A/C, B) = (AB)/C = lcm(A, B)

U = C and V = 1 thus meet conditions (11).

Page 50: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

EXAMPLEWe revisit the 1. A = 120, B = 1260 C = gcd(A, B) = 60, A/C = 2 W = gcd(A/C, C) = gcd(2,60) = 22. A = 120, B = (B/2) = 630 C = gcd(A, B) = 30, A/C = 4 W = gcd(A/C, C) = gcd(4,30) = 23. A = 120, B = (B/2) = 315 C = gcd(A, B) = 15, A/C = 8 W = gcd(A/C, C) = gcd(8, 315) = 1

4. U = C = 15, V = 2 × 2 = 4

Page 51: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

SEPARATION ALGORITHM

Given: integer A, B > 0; Wanted: separators U,V.Step 1: 1 → V, gcd(A, B) → CStep 2: If C = 1 → step 7Step 3: A/C → XStep 4: gcd (X, C) → WStep 5: If W = 1 → step 7Step 6: V×W → V, C/W → C, X×W → X, → step 4Step 7: C → U, → terminate

Page 52: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

NUMBERS

• 1228 primes ≤ 10,000 primitive roots calculated

• 24% separation required

• 470 instances of primitive root = 2

Page 53: DETERMINING PRIMITIVE ROOTS by Christoph and John C. Witzgall September 15, 2015

Copies of this Power Point are available at the following link http://math.nist.gov/mcsd/Seminars/2015/2015-09-15-Witzgall.html

THANK YOU FOR COMING!