1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
diff -r -U2 sympy-1.0.orig/sympy/functions/special/tests/test_zeta_functions.py sympy-1.0/sympy/functions/special/tests/test_zeta_functions.py
--- sympy-1.0.orig/sympy/functions/special/tests/test_zeta_functions.py 2016-03-09 00:38:39.000000000 +0600
+++ sympy-1.0/sympy/functions/special/tests/test_zeta_functions.py 2016-12-28 23:25:19.370041561 +0700
@@ -125,5 +125,5 @@
assert polylog(s, 0) == 0
assert polylog(s, 1) == zeta(s)
- assert polylog(s, -1) == dirichlet_eta(s)
+ assert polylog(s, -1) == -dirichlet_eta(s)
assert myexpand(polylog(1, z), -log(1 + exp_polar(-I*pi)*z))
diff -r -U2 sympy-1.0.orig/sympy/functions/special/zeta_functions.py sympy-1.0/sympy/functions/special/zeta_functions.py
--- sympy-1.0.orig/sympy/functions/special/zeta_functions.py 2016-03-09 00:38:39.000000000 +0600
+++ sympy-1.0/sympy/functions/special/zeta_functions.py 2016-12-28 23:23:56.109047180 +0700
@@ -245,5 +245,5 @@
zeta(s)
>>> polylog(s, -1)
- dirichlet_eta(s)
+ -dirichlet_eta(s)
If :math:`s` is a negative integer, :math:`0` or :math:`1`, the
@@ -272,10 +272,17 @@
@classmethod
def eval(cls, s, z):
+ from sympy import unpolarify
if z == 1:
return zeta(s)
elif z == -1:
- return dirichlet_eta(s)
+ return -dirichlet_eta(s)
elif z == 0:
- return 0
+ return S.Zero
+
+ # branch handling
+ if (1 - abs(z)).is_nonnegative:
+ newz = unpolarify(z)
+ if newz != z:
+ return cls(s, newz)
def fdiff(self, argindex=1):
@@ -486,5 +493,5 @@
For `\operatorname{Re}(s) > 0`, this function is defined as
- .. math:: \eta(s) = \sum_{n=1}^\infty \frac{(-1)^n}{n^s}.
+ .. math:: \eta(s) = \sum_{n=1}^\infty \frac{(-1)^{n-1}}{n^s}.
It admits a unique analytic continuation to all of :math:`\mathbb{C}`.
|