-
-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make elliptic_j function symbolic #15354
Comments
Changed keywords from special function to special function, elliptic |
This comment has been minimized.
This comment has been minimized.
I looked at this just now, it doesn't seem too trivial, as the current implementation actually calls CC = z.parent()
if not isinstance(CC, sage.rings.abc.ComplexField):
from sage.rings.complex_mpfr import ComplexField
CC = ComplexField(prec)
try:
z = CC(z)
except ValueError:
raise ValueError("elliptic_j only defined for complex arguments.")
from sage.libs.pari.all import pari
return CC(pari(z).ellj()) I'm not sure how you can represent the function symbolically either, since it is transcendental in general. However, it will be nice for the function to be exact when the argument is an exact imaginary quadratic term. I will open an issue for that. Other than that, I will close the issue for now, if anyone has a better idea feel free to reopen. |
@grhkm21 Old issue but it can certainly be represented symbolically. I guess the issue can be kept as a tracking issue. For example with sage: gamma(5)
24
sage: gamma(5, hold=True)
gamma(5) (Though I don't understand enough about how Sage represents symbolic expression in general, I think the symbolic expression tree must be recognize-able by Maxima for things like e.g. |
Sage's elliptic_j function does not behave similarly to the other standard or special functions: it tries to numerically evaluate instead of building a symbolic expression:
This is very weird: it means, for example, that plot(real(elliptic_j(x+I)), (x,0,1)) will fail (instead, one must use plot(lambda t: real(elliptic_j(t+I)), (0,1)))
Component: symbolics
Keywords: special function, elliptic
Issue created by migration from https://trac.sagemath.org/ticket/15354
The text was updated successfully, but these errors were encountered: