Hi,

I have an elliptic curve E in sage (over Q) and for a certain complex
number tau I try to compute the image under the uniformization
provided by the Weierstrass P-function associated to E. For this I use
the function ellztopoint of pari:
sage: E = EllipticCurve("14")
sage: tau = ComplexField(1000)(pi) # just an example
sage: pari(E).ellztopoint(pari(tau))
[1.23763244564628 + 5.42101086 E-19*I, 0.329632363358045 + 8.13151629
E-19*I]

My question is how I can control the precision in the result. If tau
has a certain precision in sage, then pari(tau) will have the
corresponding precision in pari.
I tried
1) converting E to pari with a specified precision:
sage: pari.new_with_bits_prec(E,1000).ellztopoint(pari(tau))
[1.2376324456462778242 + 5.42101086 E-19*I, 0.3296323633580451282 +
8.13151629 E-19*I]

2) setting the pari precision globally, by calling
pari.set_real_precision(1000) before the call. This didn't work:
sage: pari.set_real_precision(1000)
15
sage: pari(E).ellztopoint(pari(tau))
[1.2376324456462778242 + 5.42101086 E-19*I, 0.3296323633580451282 +
8.13151629 E-19*I]

In both cases I get the same result.

The only thing that works is
3) setting the pari precision globally and passing a string to pari:
sage: pari.set_real_precision(1000)
15
pari("ellztopoint(ellinit(%s),%s)" % (E.a_invariants(), tau))
[1.23763244564....5734830919483 + 3.567678178 E-1001*I,
0.32963236335....3691950256 + 2.973065149 E-1001*I]

Should the first two have worked as well?

Thanks
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to