Thus . By Lemma 4.1.4, has index in , i.e., . Since the kernel of a homomorphism is a group, and the order of a subgroup divides the order of the group, we have either or . If , the polynomial has roots in the field , which contradicts Proposition 2.5.3. Thus , which proves the proposition.
sage: def kr(a, p): ... if Mod(a,p)^((p-1)//2) == 1: ... return 1 ... else: ... return -1 sage: for a in range(1,5): ... print a, kr(a,5) 1 1 2 -1 3 -1 4 1
As additional computational motivation for the value of Corollary 4.2.3, note that to evaluate using Theorem 4.1.7 would not be practical if and are both very large, because it would require factoring . However, Corollary 4.2.3 provides a method for evaluating without factoring .
sage: p = 726377359 sage: Mod(3, p)^((p-1)//2) 726377358so
Thus is not a square modulo . This computation wasn't difficult, but it would have been tedious by hand. Since is small, the law of quadratic reciprocity provides a way to answer this question, which could easily be carried out by hand:
William 2007-06-01