Opened 4 years ago
Closed 2 months ago
#21907 closed defect (fixed)
Bug in Maxima interface wrt polylog
Reported by: | rws | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | sage-9.3 |
Component: | symbolics | Keywords: | |
Cc: | Merged in: | ||
Authors: | Frédéric Chapoton | Reviewers: | Dave Morris |
Report Upstream: | N/A | Work issues: | |
Branch: | 8f4f726 (Commits, GitHub, GitLab) | Commit: | 8f4f726f394d7be7e401ed1115229a9874afd9e1 |
Dependencies: | Stopgaps: |
Description
sage: bool(x*polylog(x,x)==0) ... /home/ralf/sage/local/lib/python2.7/site-packages/sage/symbolic/expression_conversions.pyc in composition(self, ex, operator) 644 #FIXME: consider stripping pyobjects() in ops 645 if hasattr(operator, self.name_init + "evaled_"): --> 646 return getattr(operator, self.name_init + "evaled_")(*ops) 647 else: 648 ops = [self(_) for _ in ops] /home/ralf/sage/local/lib/python2.7/site-packages/sage/functions/log.pyc in _maxima_init_evaled_(self, *args) 451 452 n, x = args_maxima --> 453 if int(n) in [1,2,3]: 454 return 'li[%s](%s)'%(n, x) 455 else: ValueError: invalid literal for int() with base 10: '_SAGE_VAR_x'
Change History (11)
comment:1 Changed 4 months ago by
- Milestone changed from sage-7.5 to sage-duplicate/invalid/wontfix
- Status changed from new to needs_review
comment:2 Changed 4 months ago by
- Status changed from needs_review to needs_info
I don't understand. The documentation seems to clearly state that non-integral values are allowed:
This definition is valid for arbitrary complex order s and for all complex arguments z with |z|<1; it can be extended to |z|≥1 by the process of analytic continuation.
And non-integral values are accepted in my testing:
sage: polylog(1.1 + 2.2*I, 3.3 + 4.4*I) -13.9758786469542 + 8.16803654165145*I
PS I think the documentation should tell us which parameter is s
and which is z
. (And I find the phrase "complex order s" to be confusing.)
comment:3 Changed 3 months ago by
This seems to work fine in 9.3.beta6, for some reason.
comment:4 Changed 3 months ago by
- Branch set to u/chapoton/21907
- Commit set to 88acb4cc619968ee7bc0c63955a82361f5886224
- Milestone changed from sage-duplicate/invalid/wontfix to sage-9.3
- Status changed from needs_info to needs_review
Here is a branch adding a doctest, and cleaning the file "en passant".
New commits:
88acb4c | cleanup the log file, plus one doctest for polylog
|
comment:5 Changed 3 months ago by
green bot, please review
comment:6 Changed 3 months ago by
Please clarify the definition of polylog
by making the following revision or something similar that specifies the branch cut.
- This definition is valid for arbitrary complex order `s` and for - all complex arguments `z` with `|z| < 1`; it can be extended to - `|z| \ge 1` by the process of analytic continuation. So the - function may have a discontinuity at `z=1` which can cause a - `NaN` value returned for floating point arguments. + This definition is valid for arbitrary complex numbers `s` and `z` + with `|z| < 1`. It can be extended to `|z| \ge 1` by the process of + analytic continuation, with a branch cut along the positive real axis + from `1` to `+\infty`. A `NaN` value may be returned for floating + point arguments that are on the branch cut.
comment:7 Changed 3 months ago by
- Commit changed from 88acb4cc619968ee7bc0c63955a82361f5886224 to 8f4f726f394d7be7e401ed1115229a9874afd9e1
Branch pushed to git repo; I updated commit sha1. New commits:
8f4f726 | doc of polylog
|
comment:8 Changed 3 months ago by
ok, done
comment:9 Changed 3 months ago by
- Priority changed from major to minor
- Reviewers set to Dave Morris
Thanks! You can set to positive review on my behalf when there is a green patchbot again.
comment:10 Changed 3 months ago by
- Status changed from needs_review to positive_review
comment:11 Changed 2 months ago by
- Branch changed from u/chapoton/21907 to 8f4f726f394d7be7e401ed1115229a9874afd9e1
- Resolution set to fixed
- Status changed from positive_review to closed
This seems to be invalid.
polylog(x,x)
is not correct, the first argument must be an integer.Of course, one could ask for a better error message.
https://doc.sagemath.org/html/en/reference/functions/sage/functions/log.html?#sage.functions.log.Function_polylog