American Citizen on Fri, 27 Jun 2025 10:14:47 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
question on converting a decimal back into an algebraic number |
To all:This is a question about moving points on an elliptic curve from reals to a number field, and from a number field to reals (which uses a subst and a lift)
I can do a subst(lift) command on an algebraic number to find a decimal value
Example:Mod(-1156/4489*x + 24633/4489, x^2 - 290), Mod(387549/300763*x - 11978472/300763, x^2 - 290)]
lifts* under the nf (x^2-290) to[x,y] = [1.1020337181976119964245667123185152487, -17.883683642175364504497552094101227420]
But how do I go the reverse direction? This question is 2 parts. The first is if I know the nf polynomial, x^2 - 290, and I suspect it is easy to find the algebraic number. But the second part of the question is if I don't know the algebraic field.
The algdep(x,2) = 4489*x^2 - 49266*x + 4884 and algdep(y,2) = 300763*x^2 + 23956944*x + 332246538 so I guess I am asking how to move from the algdep values back to the nf(x^2+290) values?
If I do nf=nfinit(y^2-290)nffactor(nf, 4489*x^2 - 49266*x + 48841), I get two values, which are close but not quite identical:
[x + Mod(-1156/4489*y - 24633/4489, y^2 - 290) 1] [ x + Mod(1156/4489*y - 24633/4489, y^2 - 290) 1]it appears that x = 0 and the wrong sign, a negative sign in front of 24633/4489 is shown, not a positive + sign, for both factors.
I am just learning number fields in GP Pari and stumbling around trying to make educated guess, the nffactor(nf,T) is close but not correct
Thanks for showing what GP Pari commands to use. Suppose I have a decimal value for a point[48.524409093877418991299749586199724677, -358.16199519959579719705531742590169930]
How do I recover[Mod(x^2 - 3, x^4 - 1752*x^2 + 87616), Mod(-591/592*x^3 + 57/37*x, x^4 - 1752*x^2 + 87616)]
I notice that the algdep of the decimals are x^2 - 1746*x + 82369 and 12593559*x^2 + 4343640212*x - 59775090213
Thank you for your patience. Randall * two lifts are needed subst(lift(Mod(-1156/4489*x + 24633/4489, x^2-290),x),x,sqrt(290)) subst(lift(Mod(387549/300763*x - 11978472/300763, x^2 - 290))