P-Adic square roots: Difference between revisions
Content added Content deleted
Line 622: | Line 622: | ||
while dot(a1, a1) > dot(a2, a2) |
while dot(a1, a1) > dot(a2, a2) |
||
q = dot(a1, a2) // dot(a2, a2) |
q = dot(a1, a2) // dot(a2, a2) |
||
a1, a2 = a2, a1 - |
a1, a2 = a2, a1 - round(q) * a2 |
||
end |
end |
||
if dot(a1, a1) < N |
if dot(a1, a1) < N |
||
Line 654: | Line 654: | ||
for (num1, den1, P, K) in DATA |
for (num1, den1, P, K) in DATA |
||
Qp = PadicField(P, K) |
Qp = PadicField(P, K) |
||
a = Qp(QQ |
a = Qp(QQ(num1 // den1)) |
||
c = sqrt(a) |
c = sqrt(a) |
||
r = toRational(c * c) |
r = toRational(c * c) |