>>>>> "Stavros" == Stavros Macrakis <stavros.macrakis@verizon.net> writes:
Stavros> q: new_modular_integer(2,7) => 2[mod 7]
Stavros> q^5 => -3[mod 7]
Stavros> q^(1/2) => 3[mod 7] -- arbitrary choice, I guess
Stavros> q^(1/3) => 3[mod 7]^(1/3) -- no such root, so keep symbolic
Stavros> (perhaps give error as option)
Stavros> q: new_modular_integer(q,17) => 2[mod 17]
Stavros> q^5 => -2[mod 17]
Stavros> q^(1/2) => -2[mod 17]
Stavros> q^(1/3) => 2[mod 17]
This is somewhat off-topic, but could you explain why q^(1/2) is
-2[mod 17] and why q^(1/3) is 2[mod 17]?
If I square -2[mod 17], I think I get 4[mod 17]. Likewise, the cube
of 2[mod 17] is 8[mod 17].
I must be missing something here.
Ray