Opened 8 years ago
Last modified 7 years ago
#11888 closed defect
Sage is missing the lambert_w function conversion from Maxima — at Version 3
Reported by: | benjaminfjones | Owned by: | burcin |
---|---|---|---|
Priority: | minor | Milestone: | sage-5.1 |
Component: | symbolics | Keywords: | lambert_w symbolics conversion maxima sd35.5 sd40.5 |
Cc: | kcrisman, ktkohl | Merged in: | |
Authors: | Benjamin Jones | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
Maxima returns solutions to some exponential equations in terms of the lambert_w
function. Sage is missing a conversion for this function:
sage: solve(e^(5*x)+x==0, x, to_poly_solve=True) [x == -1/5*lambert_w(5)] sage: S = solve(e^(5*x)+x==0, x, to_poly_solve=True) sage: z = S[0].rhs() sage: z -1/5*lambert_w(5) sage: N(z) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /Users/jonesbe/sage/sage-4.7.2.alpha2/devel/sage-test/sage/<ipython console> in <module>() /Users/jonesbe/sage/latest/local/lib/python2.6/site-packages/sage/misc/functional.pyc in numerical_approx(x, prec, digits) 1264 prec = int((digits+1) * 3.32192) + 1 1265 try: -> 1266 return x._numerical_approx(prec) 1267 except AttributeError: 1268 from sage.rings.complex_double import is_ComplexDoubleElement /Users/jonesbe/sage/latest/local/lib/python2.6/site-packages/sage/symbolic/expression.so in sage.symbolic.expression.Expression._numerical_approx (sage/symbolic/expression.cpp:17950)() TypeError: cannot evaluate symbolic expression numerically sage: lambert_w(5) --------------------------------------------------------------------------- NameError Traceback (most recent call last) /Users/jonesbe/sage/sage-4.7.2.alpha2/devel/sage-test/sage/<ipython console> in <module>() NameError: name 'lambert_w' is not defined sage:
mpmath
can evaluate the lambert_w
function, so it should be easy to add a new symbolic function to Sage that will fix this issue.
Apply:
- trac_11888.patch to
$SAGE_ROOT/devel/sage
- trac_11888-doctests.patch to
$SAGE_ROOT/devel/sage
Change History (5)
comment:1 Changed 8 years ago by
- Cc kcrisman added
Changed 8 years ago by
comment:2 Changed 8 years ago by
- Keywords sd35.5 added
- Status changed from new to needs_review
Preliminary patch needs review. The function has been added using the template developed as part of #11143. The issue described in the description is addressed in one of the doctests.
comment:3 Changed 8 years ago by
- Description modified (diff)
Running make ptestlong
now. I fixed a couple of doctests that broke, and fixed some typos and rST syntax problems in your docstring.
add lambert_w symbolic function