I've written a little module for symbolically evaluating hypergeometric infinite series. Technically, a series is hypergeometric if the ratio between successive terms is a rational function of the index
k; more intuitively, most "nice-looking" series (such as power series of most special functions) involving powers, factorials, gamma functions, binomial coefficients (etc.) are hypergeometric.
The
code currently uses SymPy, but should be possible to convert to Sage's symbolics (it mostly requires basic pattern matching, and evaluation of standard special functions). Perhaps "rewrite" is a better word than "convert" because the current code is a messy hack. It's buggy, and only handles special cases in places where a general approach could be used (such as for rational functions).
The basic idea behind the code is to perform the evaluation in two steps. Firstly, the given series is converted into canonical form. I've used the standard generalized hypergeometric series
pFq. This is not always an optimal representation, but usually does the job.
In the second step, parameter transformations and table lookups are used to reduce the
pFq series into elementary (or simpler) functions when possible. If this step fails, the
pFq function is returned, giving a closed-form solution that can be manipulated or evaluated numerically.
The second step is the most difficult, because the transformation algorithms that need to be used for hypergeometric functions are very complicated in general (and there are all kinds of special cases). So far I've only implemented some simple transformations. For the final lookup stage, it would be straightforward to also implement expansion into Bessel functions, incomplete gamma functions, etc.
Below is a sample of some working test cases, with numerical evaluation of both the evaluated result and the original series as verification. Some of the sums don't quite simplify fully, i.e. there is an unevaluated
pFq function left. The formulas were mostly generated with SymPy's
latex function, so they are not always as pretty as could be.
![\sum_{k=0}^{\infty} k!^{-1} = e [; \sum_{k=0}^{\infty} k!^{-1} = e ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_v-wtRA74TqrdCTXesjEW6TXh7bTmN6bvhApVE9uw9tr7rtvFRzmLwOCIzthQOULI5DXpLqkqnWVlOF1FHEBfg77ucb1JKH-w=s0-d)
>>> hypsum(1 / fac(k), k)
E
>>> _.evalf()
2.71828182845905
>>> mpmath.nsum(lambda k: 1 / mpmath.fac(k), [0,mpmath.inf])
2.71828182845905
![\sum_{k=0}^{\infty} \frac{k^{6}}{k!} = 203 e [; \sum_{k=0}^{\infty} \frac{k^{6}}{k!} = 203 e ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uF2QnERhhCjGkMY22BTSEtxIaz7jQefQWiKUGZAnvnQgAwsMP0VPjXtGqELSqocGzgnD7fBd8BODuf6iohWSiB5TUEWSE8mw=s0-d)
>>> hypsum(k**6 / fac(k), k)
203*E
>>> _.evalf()
551.811211177186
>>> mpmath.nsum(lambda k: k**6 / mpmath.fac(k), [0,mpmath.inf])
551.811211177186
![\sum_{k=0}^{\infty} 4 \frac{d k z^{2 + k}}{k!} = 4 d z^{3} e^{z} [; \sum_{k=0}^{\infty} 4 \frac{d k z^{2 + k}}{k!} = 4 d z^{3} e^{z} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sVw_Em8v5g7fen_N-vUWSrIRdhZ6n4EfpZiV-gYxMIieZ0ibKHugl1burupEhXa7eQfGgo6662h-u46ThlqN6UNDe407-eMw=s0-d)
>>> hypsum(4 * d * k * z**(k+2) / fac(k), k)
4*d*z**3*exp(z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.0401257942714919
>>> mpmath.nsum(lambda k: 4 * 0.5 * k * 0.25**(k+2) / mpmath.fac(k), [0,mpmath.inf])
0.0401257942714919
![\sum_{k=0}^{\infty} \left({\left(2\right)}_{k}\right)^{-1} = -1 + e [; \sum_{k=0}^{\infty} \left({\left(2\right)}_{k}\right)^{-1} = -1 + e ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tW17vTOvLQ7KnPVJg0fUJ9TcE4t8D_BBnw2GE94EoGgfz_GkiUH_L4WghpUePnwd3S7i0rdpiV-KExdjOeXZ4_Wl6IiUYD0g=s0-d)
>>> hypsum(1 / rf(2,k), k)
-1 + E
>>> _.evalf()
1.71828182845905
>>> mpmath.nsum(lambda k: 1 / mpmath.rf(2,k), [0,mpmath.inf])
1.71828182845905

>>> simplify(hypsum(k**3 * z**(k) / fac(k), k))
z*exp(z) + z**3*exp(z) + 3*z**2*exp(z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.581824016936633
>>> mpmath.nsum(lambda k: k**3 * 0.25**(k) / mpmath.fac(k), [0,mpmath.inf])
0.581824016936633
![\sum_{k=0}^{\infty} {{2 k}\choose{k}}^{-1} = \frac{4}{3} + \frac{2}{27} \pi \sqrt{3} [; \sum_{k=0}^{\infty} {{2 k}\choose{k}}^{-1} = \frac{4}{3} + \frac{2}{27} \pi \sqrt{3} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uo7_4ix54XPFm72pdb7G-yA2HRc0KYAXzPaCVyzRbNBaKWVKp8couMpssSGQXVaNRKOfhMW696PJlju24AerCUp-i_SHELtQ=s0-d)
>>> simplify(hypsum(1 / binomial(2*k,k), k))
4/3 + 2*pi*3**(1/2)/27 >>> _.evalf()
1.73639985871872
>>> mpmath.nsum(lambda k: 1 / mpmath.binomial(2*k,k), [0,mpmath.inf])
1.73639985871872
![\sum_{k=0}^{\infty} {{3 k}\choose{k}}^{-1} = \frac{2}{3} \frac{\pi \sqrt{3} \,_{3}F_{2}\left(\frac{1}{2},1,1; \frac{1}{3},\frac{2}{3}; \frac{4}{27}\right)}{\operatorname{\Gamma}\left(\frac{1}{3}\right) \operatorname{\Gamma}\left(\frac{2}{3}\right)} [; \sum_{k=0}^{\infty} {{3 k}\choose{k}}^{-1} = \frac{2}{3} \frac{\pi \sqrt{3} \,_{3}F_{2}\left(\frac{1}{2},1,1; \frac{1}{3},\frac{2}{3}; \frac{4}{27}\right)}{\operatorname{\Gamma}\left(\frac{1}{3}\right) \operatorname{\Gamma}\left(\frac{2}{3}\right)} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_u00ygv4Iwjt-dnulq2n6qCtm3IIdLwkEakiJt8kKd0l5K4mND6FA-5b99XbjQzlyc-5_kK8ebTTCoQ5lQ9bs-l5r-bozJBWQ=s0-d)
>>> hypsum(1 / binomial(3*k,k), k)
2*pi*3**(1/2)*3F2([1/2, 1, 1], [1/3, 2/3], 4/27)/(3*gamma(1/3)*gamma(2/3))
>>> _.evalf()
1.41432204432182
>>> mpmath.nsum(lambda k: 1 / mpmath.binomial(3*k,k), [0,mpmath.inf])
1.41432204432182
![\sum_{k=0}^{\infty} \frac{k^{4}}{{{2 k}\choose{k}}} = \frac{32}{3} + \frac{238}{243} \pi \sqrt{3} [; \sum_{k=0}^{\infty} \frac{k^{4}}{{{2 k}\choose{k}}} = \frac{32}{3} + \frac{238}{243} \pi \sqrt{3} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uA_3noie9WInONEkRALdaHHAxb5eIjFeWTXhjKmYfdGT8faTMiHi43KpfMeutJLzzc9XpLbMOq0sG-MUcbDtgGHbMQGyf0=s0-d)
>>> hypsum(k**4 / binomial(2*k,k), k)
32/3 + 238*pi*3**(1/2)/243
>>> _.evalf()
15.9961018356512
>>> mpmath.nsum(lambda k: k**4 / mpmath.binomial(2*k,k), [0,mpmath.inf])
15.9961018356512
![\sum_{k=0}^{\infty} \frac{\left(1 + k\right)! \left(2 + k\right)!}{\left(3 + k\right)! \left(4 + k\right)!} = \frac{1}{72} \,_{3}F_{2}\left(1,2,3; 4,5; 1\right) [; \sum_{k=0}^{\infty} \frac{\left(1 + k\right)! \left(2 + k\right)!}{\left(3 + k\right)! \left(4 + k\right)!} = \frac{1}{72} \,_{3}F_{2}\left(1,2,3; 4,5; 1\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_utjZ1-pRLFkBcV53T-THSgNVeSatWH-F9qh9bHKl90lY6pgSUtpOIyDOJZuaedFZX_tW5wjBn4gEKu206YQTuCIeHxhuVrXw=s0-d)
>>> hypsum(fac(k+1)*fac(k+2)/fac(k+3)/fac(k+4), k)
3F2([1, 2, 3], [4, 5], 1)/72
>>> _.evalf()
0.0217325998184402
>>> mpmath.nsum(lambda k: mpmath.fac(k+1)*mpmath.fac(k+2)/mpmath.fac(k+3)/mpmath.fac(k+4), [0,mpmath.inf])
0.0217325998184402
![\sum_{k=0}^{\infty} \frac{1}{\left(3 + k\right)^{2} \left(8 + 6 k + k^{2}\right)} = \frac{1}{72} \,_{3}F_{2}\left(1,2,3; 4,5; 1\right) [; \sum_{k=0}^{\infty} \frac{1}{\left(3 + k\right)^{2} \left(8 + 6 k + k^{2}\right)} = \frac{1}{72} \,_{3}F_{2}\left(1,2,3; 4,5; 1\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uc7LB5a2UdQzmOK9XUSsAC-PGBq6VWB1W_R1P5saRFF2AVOa1tyzMRtLpZiaAw2gYWGh3Oc5loe1Lmw_2HMkkuiGeha4BoAw=s0-d)
>>> hypsum(1/((3+k)**2*(8+6*k+k**2)), k)
3F2([1, 2, 3], [4, 5], 1)/72
>>> _.evalf()
0.0217325998184402
>>> mpmath.nsum(lambda k: 1/((3+k)**2*(8+6*k+k**2)), [0,mpmath.inf])
0.0217325998184402
![\sum_{k=0}^{\infty} \frac{\left(1 + 2 k\right)!}{\left(1 + k\right) \left(2 + 2 k\right)!} = \frac{1}{12} \pi^{2} [; \sum_{k=0}^{\infty} \frac{\left(1 + 2 k\right)!}{\left(1 + k\right) \left(2 + 2 k\right)!} = \frac{1}{12} \pi^{2} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vbBwS-WvcZHuzw3-rFq9y8r-5tJHl4pnGrmKoOgj1ZL3l3qspEObc48UFNMQ8PXE65w8uwbnPfCM3G6VHBpS6Gvbn9GrTs4w=s0-d)
>>> hypsum(fac(2*k+1)/(fac(2*k+2)*(k+1)), k)
pi**2/12
>>> _.evalf()
0.822467033424113
>>> mpmath.nsum(lambda k: mpmath.fac(2*k+1)/(mpmath.fac(2*k+2)*(k+1)), [0,mpmath.inf])
0.822467033424113
![\sum_{k=0}^{\infty} \frac{\left(1 + 2 k\right)!}{\left(2 + 3 k\right)!} = \frac{2}{27} \frac{\pi \sqrt{3} \,_{2}F_{2}\left(1,\frac{3}{2}; \frac{4}{3},\frac{5}{3}; \frac{4}{27}\right)}{\operatorname{\Gamma}\left(\frac{4}{3}\right) \operatorname{\Gamma}\left(\frac{5}{3}\right)} [; \sum_{k=0}^{\infty} \frac{\left(1 + 2 k\right)!}{\left(2 + 3 k\right)!} = \frac{2}{27} \frac{\pi \sqrt{3} \,_{2}F_{2}\left(1,\frac{3}{2}; \frac{4}{3},\frac{5}{3}; \frac{4}{27}\right)}{\operatorname{\Gamma}\left(\frac{4}{3}\right) \operatorname{\Gamma}\left(\frac{5}{3}\right)} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tsd-xQyRb3AgrmQH5Ke5oLkL5SRwpz6FMg8zbO9VDv58CAGdYCKgWb1XYeA8PP1rULaCGcaGpTTC-LbHyOKTrdD7wQWvXApA=s0-d)
>>> hypsum(fac(2*k+1)/(fac(3*k+2)), k)
2*pi*3**(1/2)*2F2([1, 3/2], [4/3, 5/3], 4/27)/(27*gamma(4/3)*gamma(5/3))
>>> _.evalf()
0.553106730441975
>>> mpmath.nsum(lambda k: mpmath.fac(2*k+1)/(mpmath.fac(3*k+2)), [0,mpmath.inf])
0.553106730441975
![\sum_{k=0}^{\infty} \frac{4^{k} \left(\frac{3}{2} + k\right)! \left(\frac{5}{2} + k\right)!}{\left(6 + 2 k\right)!} = \frac{3}{256} \pi [; \sum_{k=0}^{\infty} \frac{4^{k} \left(\frac{3}{2} + k\right)! \left(\frac{5}{2} + k\right)!}{\left(6 + 2 k\right)!} = \frac{3}{256} \pi ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sk9p22vpVHMqO3nf3zylz4X2YTzdGalG2Jvvqs7dkVahkTHItD1wZtf_8MSW-xoJ732iC4JDwo3ix55SFKcapN1feCOsMd=s0-d)
>>> hypsum(4**k*fac(k+R32)*fac(k+R52)/(fac(2*k+6)), k)
3*pi/256
>>> _.evalf()
0.0368155389092554
>>> mpmath.nsum(lambda k: 4**k*mpmath.fac(k+1.5)*mpmath.fac(k+2.5)/(mpmath.fac(2*k+6)), [0,mpmath.inf], method='e')
0.0368155389092358
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} z^{1 + 2 k}}{\left(1 + 2 k\right) k!} = \frac{1}{2} \sqrt{\pi} \operatorname{erf}\left(z\right) [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} z^{1 + 2 k}}{\left(1 + 2 k\right) k!} = \frac{1}{2} \sqrt{\pi} \operatorname{erf}\left(z\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uJqXsadHLzEUN1m9DN5B-ekVqmpnFyF0DvVubgCwF0xR0Py7HgCsgygOoyhsk-H_Etp5Mactk0nVmHsnrlmhX2tCxiLPe-=s0-d)
>>> hypsum((-1)**k * z**(2*k+1) / fac(k) / (2*k+1), k)
pi**(1/2)*erf(z)/2
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.244887887180256
>>> mpmath.nsum(lambda k: (-1)**k * 0.25**(2*k+1) / mpmath.fac(k) / (2*k+1), [0,mpmath.inf])
0.244887887180256
![\sum_{k=0}^{\infty} \frac{z^{1 + 2 k}}{1 + 2 k} = \operatorname{atanh}\left(z\right) [; \sum_{k=0}^{\infty} \frac{z^{1 + 2 k}}{1 + 2 k} = \operatorname{atanh}\left(z\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_u5gA5awnBpof2sabpYyLTaZxcLqX6qVU6O78CUMefPQWngjXq04WfxYx2Lb5JaRiUnOAYdD4ZmfSO-YsRhdbzhX9Xmgt9J=s0-d)
>>> hypsum(z**(2*k+1) / (2*k+1), k)
atanh(z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.255412811882995
>>> mpmath.nsum(lambda k: 0.25**(2*k+1) / (2*k+1), [0,mpmath.inf])
0.255412811882995
![\sum_{k=0}^{\infty} \frac{z^{k}}{1 + 2 k} = \frac{\operatorname{atanh}\left(\sqrt{z}\right)}{\sqrt{z}} [; \sum_{k=0}^{\infty} \frac{z^{k}}{1 + 2 k} = \frac{\operatorname{atanh}\left(\sqrt{z}\right)}{\sqrt{z}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tYmr7MH7Ozsb6i64VZYoplDjN2VTiHfkHgjoVhhFB4VZU5GHI9yC4wJPpOHMXKz7XFR-BFIwzkDpfe0SF3RD4PEBIaTfoJ=s0-d)
>>> hypsum(z**k / (2*k+1), k)
atanh(z**(1/2))/z**(1/2)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
1.09861228866811
>>> mpmath.nsum(lambda k: 0.25**k / (2*k+1), [0,mpmath.inf])
1.09861228866811
![\sum_{k=0}^{\infty} \frac{\left(- z\right)^{k}}{1 + k} = \frac{\operatorname{log}\left(1 + z\right)}{z} [; \sum_{k=0}^{\infty} \frac{\left(- z\right)^{k}}{1 + k} = \frac{\operatorname{log}\left(1 + z\right)}{z} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sRjhhTmZAc0Xhw2-Ac9jbdoeqzoU9wmMc2yZ3YLxPvaNphHdOa_UhymKYOkixZPS6HVeTOY-57VN3xfbVyLdkoQnoxpCht9Q=s0-d)
>>> hypsum((-z)**k / (k+1), k)
log(1 + z)/z
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.892574205256839
>>> mpmath.nsum(lambda k: (-0.25)**k / (k+1), [0,mpmath.inf])
0.892574205256839

>>> hypsum(fac(k-R12)/((1+2*k)*fac(k))*z**(2*k), k)
pi**(1/2)*asin(z)/z
>>> _.evalf(subs={d:'1/2',z:'1/4'})
1.79145636509746
>>> mpmath.nsum(lambda k: mpmath.fac(k-0.5)/((1+2*k)*mpmath.fac(k))*0.25**(2*k), [0,mpmath.inf])
1.79145636509746
![\sum_{k=0}^{\infty} \frac{z^{k}}{\left(2 + k\right)!} = - \frac{1 + z - e^{z}}{z^{2}} [; \sum_{k=0}^{\infty} \frac{z^{k}}{\left(2 + k\right)!} = - \frac{1 + z - e^{z}}{z^{2}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_utXbUrY5uWPhOmWzi6Ia8Tq68QHgvAbc2ti69j9p9ggnNb7qLnhUZVmSJmFaR9cvhIhLKAtw5nNCiDHy549khMrQzk0F5X=s0-d)
>>> hypsum(z**k / fac(k+2), k)
-(1 + z - exp(z))/z**2
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.544406667003864
>>> mpmath.nsum(lambda k: 0.25**k / mpmath.fac(k+2), [0,mpmath.inf])
0.544406667003864
![\sum_{k=0}^{\infty} \left(-5 + 3 z^{2}\right)^{3 - 4 k} = - \frac{\left(5 - 3 z^{2}\right)^{3}}{1 - \frac{1}{\left(5 - 3 z^{2}\right)^{4}}} [; \sum_{k=0}^{\infty} \left(-5 + 3 z^{2}\right)^{3 - 4 k} = - \frac{\left(5 - 3 z^{2}\right)^{3}}{1 - \frac{1}{\left(5 - 3 z^{2}\right)^{4}}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_v29ToXUP_41-17NvJB9bSpv2v-QDUjHBoKbwFfp3xt_iL5PHhAiAhYGDXBTC0d_Wl3Uz0Dc3gUH2rLz5jlnce3jmMW6hzh=s0-d)
>>> hypsum((3*z**2-5)**(-4*k+3), k)
-(5 - 3*z**2)**3/(1 - 1/(5 - 3*z**2)**4)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
-111.666432272586
>>> mpmath.nsum(lambda k: (3*0.25**2-5)**(-4*k+3), [0,mpmath.inf])
-111.666432272586
![\sum_{k=0}^{\infty} \frac{z^{1 + 2 k}}{\left(1 + 2 k\right)!} = \operatorname{sinh}\left(z\right) [; \sum_{k=0}^{\infty} \frac{z^{1 + 2 k}}{\left(1 + 2 k\right)!} = \operatorname{sinh}\left(z\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sOSlb2qcjO4EoFh0xB8oiCXU0tByLHYDT26dptG0DzUpAxltsMsLEg5w6239l1o6yLUahXDWfadPlkoYnG92VWF_UA3rW-bw=s0-d)
>>> hypsum(z**(2*k+1) / fac(2*k+1), k)
sinh(z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.252612316808168
>>> mpmath.nsum(lambda k: 0.25**(2*k+1) / mpmath.fac(2*k+1), [0,mpmath.inf])
0.252612316808168
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} z^{1 + 2 k}}{\left(1 + 2 k\right)!} = \operatorname{sin}\left(z\right) [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} z^{1 + 2 k}}{\left(1 + 2 k\right)!} = \operatorname{sin}\left(z\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vKtnNZa5dtbLoc_40HKPG5pycEhgnsSHeGqOgSowtEKWaiJf5Nqymk4wNMbuUmhQ1Q8E8RxLy9rHmMY5H4XFJCfPEY6nXTPA=s0-d)
>>> hypsum((-1)**k * z**(2*k+1) / fac(2*k+1), k)
sin(z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.247403959254523
>>> mpmath.nsum(lambda k: (-1)**k * 0.25**(2*k+1) / mpmath.fac(2*k+1), [0,mpmath.inf])
0.247403959254523
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} d^{k} \left(1 - z\right)^{1 + 2 k}}{\left(2 k\right)!} = \left(1 - z\right) \operatorname{cos}\left(\sqrt{d} \left(1 - z\right)\right) [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} d^{k} \left(1 - z\right)^{1 + 2 k}}{\left(2 k\right)!} = \left(1 - z\right) \operatorname{cos}\left(\sqrt{d} \left(1 - z\right)\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_txs7ZxnkrJQllmJwv17_c58eST2mloTqbAmn8Y0JZi-QP2KNSTH_kH6Pi6kgF_x7lQ77qvGC2olYVnpUs7etPzwouklMjM=s0-d)
>>> hypsum((-1)**k * d**k * (1-z)**(2*k+1) / fac(2*k), k)
(1 - z)*cos(d**(1/2)*(1 - z))
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.646980115568008
>>> mpmath.nsum(lambda k: (-1)**k * 0.5**k * (1-0.25)**(2*k+1) / mpmath.fac(2*k), [0,mpmath.inf])
0.646980115568008
![\sum_{k=0}^{\infty} \frac{k z^{2 k}}{\left(1 + 2 k\right)!} = \frac{1}{2} \operatorname{cosh}\left(z\right) - \frac{\operatorname{sinh}\left(z\right)}{2 z} [; \sum_{k=0}^{\infty} \frac{k z^{2 k}}{\left(1 + 2 k\right)!} = \frac{1}{2} \operatorname{cosh}\left(z\right) - \frac{\operatorname{sinh}\left(z\right)}{2 z} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_txcdvr2KovkRYvBDO1ixV7xHhf8DnqcRvqW1OmMiZW6psOiytRMYLFN9MRhp2TSPMKkeiXhbVA6FsjK-cFUJTVnnMUx2ElkQ=s0-d)
>>> hypsum(k * z**(2*k) / fac(2*k+1), k)
cosh(z)/2 - sinh(z)/(2*z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
0.0104819163234500
>>> mpmath.nsum(lambda k: k * 0.25**(2*k) / mpmath.fac(2*k+1), [0,mpmath.inf])
0.01048191632345
![\sum_{k=0}^{\infty} \frac{\operatorname{\Gamma}^{2}\left(- \frac{1}{2} + k\right)}{k!^{2}} = 16 [; \sum_{k=0}^{\infty} \frac{\operatorname{\Gamma}^{2}\left(- \frac{1}{2} + k\right)}{k!^{2}} = 16 ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uW8nMa0cQdDP_FNm4cODMhsMzlySGSdM3GEY9okLQ74chT-HXtcLsC7RIliot9ry377w1bHJdE_PVMsdM6TVRlj1Ylrgna=s0-d)
>>> hypsum(gamma(k-R12)**2/(fac(k)**2), k)
16
>>> _.evalf()
16.0000000000000
>>> mpmath.nsum(lambda k: mpmath.gamma(k-0.5)**2/(mpmath.fac(k)**2), [0,mpmath.inf])
16.0
![\sum_{k=0}^{\infty} \left(1 + k\right)^{-2} = \frac{1}{6} \pi^{2} [; \sum_{k=0}^{\infty} \left(1 + k\right)^{-2} = \frac{1}{6} \pi^{2} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tTi25TJYUAUp_tdfDKnyIk512dHem4BQsUYGdO_lUviZBMnx7hxq_zkq-liZU8lhvKp6a3ag-9DE6js48eaTHOH_Tdh6Nwvg=s0-d)
>>> hypsum(1/(k+1)**2, k)
pi**2/6
>>> _.evalf()
1.64493406684823
>>> mpmath.nsum(lambda k: 1/(k+1)**2, [0,mpmath.inf])
1.64493406684823
![\sum_{k=0}^{\infty} \frac{k}{\left(1 + k\right)^{3}} = - \operatorname{\zeta}\left(3\right) + \frac{1}{6} \pi^{2} [; \sum_{k=0}^{\infty} \frac{k}{\left(1 + k\right)^{3}} = - \operatorname{\zeta}\left(3\right) + \frac{1}{6} \pi^{2} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sDIvS7AH3DsobCnpW0mandyha8tnNKZDJKDlDbGg7BW8KG2DZhw76G7UBAJ6dG5STT1g8N6NL35JQR-fKI2Y7GwA_qxA1HDg=s0-d)
>>> hypsum(k/(k+1)**3, k)
-zeta(3) + pi**2/6
>>> _.evalf()
0.442877163688632
>>> mpmath.nsum(lambda k: k/(k+1)**3, [0,mpmath.inf])
0.442877163688632
![\sum_{k=0}^{\infty} \frac{z^{k} \left(3 + k\right)}{\left(3 + 3 k\right) k!} = - \frac{2 - 2 e^{z} - z e^{z}}{3 z} [; \sum_{k=0}^{\infty} \frac{z^{k} \left(3 + k\right)}{\left(3 + 3 k\right) k!} = - \frac{2 - 2 e^{z} - z e^{z}}{3 z} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uRyYL2FAvcIcxOmjopjoC2encFgfFTyQiZ79KKvdvl2bi_LZk7YA7queFvOWoFSjvxNvg_hjab-Q9FYxLpPS79FqtAVSxg0Q=s0-d)
>>> simplify(hypsum((3+k)/(3+3*k)*z**k/fac(k), k))
-(2 - 2*exp(z) - z*exp(z))/(3*z)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
1.18540958339656
>>> mpmath.nsum(lambda k: (3+k)/(3+3*k)*0.25**k/mpmath.fac(k), [0,mpmath.inf])
1.18540958339656
![\sum_{k=0}^{\infty} \frac{k^{2} z^{1 + 2 k}}{\left(9 + 2 k\right)!} = \frac{1}{39916800} z^{3} \left(- \,_{1}F_{2}\left(2; 6,\frac{13}{2}; \frac{1}{4} z^{2}\right) + 2 \,_{1}F_{2}\left(3; 6,\frac{13}{2}; \frac{1}{4} z^{2}\right)\right) [; \sum_{k=0}^{\infty} \frac{k^{2} z^{1 + 2 k}}{\left(9 + 2 k\right)!} = \frac{1}{39916800} z^{3} \left(- \,_{1}F_{2}\left(2; 6,\frac{13}{2}; \frac{1}{4} z^{2}\right) + 2 \,_{1}F_{2}\left(3; 6,\frac{13}{2}; \frac{1}{4} z^{2}\right)\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_v_2WPl1MKiVm_uiTfJovGgQ27oB_8ss4ZirrUX4DhAJmi9A0iNgPhe7bqelR7pPtIEpDGwTKJ7O9h5UgeTDIT71wE9CFCZ0A=s0-d)
>>> hypsum(k**2 * z**(2*k+1) / fac(2*k+9), k)
z**3*(-1F2([2], [6, 13/2], z**2/4) + 2*1F2([3], [6, 13/2], z**2/4))/39916800
>>> _.evalf(subs={d:'1/2',z:'1/4'})
3.92066920165299e-10
>>> mpmath.nsum(lambda k: k**2 * 0.25**(2*k+1) / mpmath.fac(2*k+9), [0,mpmath.inf])
3.92066920165299e-10
![\sum_{k=0}^{\infty} z^{k} \left(1 + k\right) \left(1 + 2 k\right) \left(2 + k\right) \left(3 + k\right) = \frac{6 + 42 z}{1 - 5 z + 10 z^{2} - 10 z^{3} + 5 z^{4} - z^{5}} [; \sum_{k=0}^{\infty} z^{k} \left(1 + k\right) \left(1 + 2 k\right) \left(2 + k\right) \left(3 + k\right) = \frac{6 + 42 z}{1 - 5 z + 10 z^{2} - 10 z^{3} + 5 z^{4} - z^{5}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vLxuCeJ0okLuzJtKcF6DWgXo6KZDlC7qiTfUnn6lEAyVMkUsZHYPOm6wbIdI2dq3PZ6DdavLYFvIhW1PZ4dpDLCXhuzfIv=s0-d)
>>> simplify(hypsum((k+1)*(k+2)*(k+3)*(1+2*k)*z**k, k))
(6 + 42*z)/(1 - 5*z + 10*z**2 - 10*z**3 + 5*z**4 - z**5)
>>> _.evalf(subs={d:'1/2',z:'1/4'})
69.5308641975309
>>> mpmath.nsum(lambda k: (k+1)*(k+2)*(k+3)*(1+2*k)*0.25**k, [0,mpmath.inf])
69.5308641975309

>>> hypsum(k**3 * (-z)**k / (k+1), k)
-z*(2*(1 - z)/(1 + z)**3 - ((2 + 2*z)/(1 + z) - (2 + 2*z)*log(1 + z)/z)/(z*(1 + z)) - 2/(1 + z)**2)/2
>>> _.evalf(subs={d:'1/2',z:'1/4'})
-0.0285742052568390
>>> mpmath.nsum(lambda k: k**3 * (-0.25)**k / (k+1), [0,mpmath.inf])
-0.028574205256839
![\sum_{k=0}^{\infty} \frac{e^{k}}{k!} = e^{e} [; \sum_{k=0}^{\infty} \frac{e^{k}}{k!} = e^{e} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_u0F9z81t16KrXbmq_qNNE3knpwIyrMQuzmtjgsrFKochgYphmgsDhXkt6tiM1Gy8TmDyve7ezChc87naVBLTS4xuMmKkww=s0-d)
>>> hypsum(E**k / fac(k), k)
exp(E)
>>> _.evalf()
15.1542622414793
>>> mpmath.nsum(lambda k: mpmath.e**k / mpmath.fac(k), [0,mpmath.inf])
15.1542622414793
![\sum_{k=0}^{\infty} \frac{\operatorname{cos}\left(k\right)}{k!} = \frac{1}{2} e^{e^{\mathbf{\imath}}} + \frac{1}{2} e^{e^{- \mathbf{\imath}}} [; \sum_{k=0}^{\infty} \frac{\operatorname{cos}\left(k\right)}{k!} = \frac{1}{2} e^{e^{\mathbf{\imath}}} + \frac{1}{2} e^{e^{- \mathbf{\imath}}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_v-x9TLoQ4i7FrFU0OTieXvGPrTSAz9UyWESNven7B61K-w7GNyp5PQP3c8YUArXYuWCGmhTy-SUjSkZjY0t9O8V3aHUKGq_A=s0-d)
>>> hypsum(cos(k) / fac(k), k)
exp(exp(I))/2 + exp(exp(-I))/2
>>> _.evalf()
1.14383564379164 + .0e-20*I
>>> mpmath.nsum(lambda k: mpmath.cos(k) / mpmath.fac(k), [0,mpmath.inf])
1.14383564379164
![\sum_{k=0}^{\infty} \frac{\operatorname{cos}\left(k\right)}{1 + 2 k} = \frac{1}{2} \operatorname{atanh}\left(e^{- \frac{1}{2} \mathbf{\imath}}\right) e^{\frac{1}{2} \mathbf{\imath}} + \frac{1}{2} \operatorname{atanh}\left(e^{\frac{1}{2} \mathbf{\imath}}\right) e^{- \frac{1}{2} \mathbf{\imath}} [; \sum_{k=0}^{\infty} \frac{\operatorname{cos}\left(k\right)}{1 + 2 k} = \frac{1}{2} \operatorname{atanh}\left(e^{- \frac{1}{2} \mathbf{\imath}}\right) e^{\frac{1}{2} \mathbf{\imath}} + \frac{1}{2} \operatorname{atanh}\left(e^{\frac{1}{2} \mathbf{\imath}}\right) e^{- \frac{1}{2} \mathbf{\imath}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vq9PgPZcFslUxA2RpSVIaKKwwTxQrZSC0-L0d-z2Xt-LHLRrMc8PEx2C2nyuUO1X04Z44Ch0X33bjyt91L9CiniPuYH9P90g=s0-d)
>>> hypsum(cos(k) / (2*k+1), k)
atanh(exp(-I/2))*exp(I/2)/2 + atanh(exp(I/2))*exp(-I/2)/2
>>> _.evalf()
0.975556628913311
>>> mpmath.nsum(lambda k: mpmath.cos(k) / (2*k+1), [0,mpmath.inf])
0.975556628913311
![\sum_{k=0}^{\infty} \frac{k \operatorname{cos}\left(k\right)}{k!} = \frac{1}{2} e^{\mathbf{\imath} + e^{\mathbf{\imath}}} + \frac{1}{2} e^{- \mathbf{\imath} + e^{- \mathbf{\imath}}} [; \sum_{k=0}^{\infty} \frac{k \operatorname{cos}\left(k\right)}{k!} = \frac{1}{2} e^{\mathbf{\imath} + e^{\mathbf{\imath}}} + \frac{1}{2} e^{- \mathbf{\imath} + e^{- \mathbf{\imath}}} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tlEfoJbWisaJcdG2cN9_MRXAugJV7RoO53klcE_Ng3iNHa0feUrryIfLfRZwcVY-1rVMPqKiZQYXu2mE3JfMGhGBM3KSxRGg=s0-d)
>>> simplify(hypsum(cos(k) * k / fac(k), k))
exp(I + exp(I))/2 + exp(-I + exp(-I))/2
>>> _.evalf()
-0.458967373729452 + .0e-20*I
>>> mpmath.nsum(lambda k: mpmath.cos(k) * k / mpmath.fac(k), [0,mpmath.inf])
-0.458967373729452
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{1 + 2 k} = \frac{1}{4} \pi [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{1 + 2 k} = \frac{1}{4} \pi ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tP04-h_lsJwCx6W6sNykqR2Us-Pgzf3ptNMAYrkHe6HoSFSzNhdjNXxuWsFdDDJY6f5mAlmFOQSO4pQLqxJKcHJGMC-801KA=s0-d)
>>> hypsum((-1)**k / (2*k+1), k)
pi/4
>>> _.evalf()
0.785398163397448
>>> mpmath.nsum(lambda k: (-1)**k / (2*k+1), [0,mpmath.inf])
0.785398163397448
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{6 + 2 k} = - \frac{1}{4} + \frac{1}{2} \operatorname{log}\left(2\right) [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{6 + 2 k} = - \frac{1}{4} + \frac{1}{2} \operatorname{log}\left(2\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_urAK34stAZahfWtG09yo1-wDqCGiqFFVdomxYeI8-OpVz9Wm_t9n8PgUABqSq6IbBL0HJkhaWDWyyKoHQEA8MKu3NTeAXFhQ=s0-d)
>>> hypsum((-1)**k / (2*k+6), k)
-1/4 + log(2)/2
>>> _.evalf()
0.0965735902799727
>>> mpmath.nsum(lambda k: (-1)**k / (2*k+6), [0,mpmath.inf])
0.0965735902799727
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{\left(1 + 2 k\right)^{2}} = C [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{\left(1 + 2 k\right)^{2}} = C ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vTY7UVogFHHZKT_V_VviOnCqj6AJ5S3uI4k3uFGdyQY9SCmkRwlp0F-c-LTUexQNWX-k6AZxSLfJFG35mUP2l5EAOHawtf=s0-d)
>>> hypsum((-1)**k / (2*k+1)**2, k)
Catalan
>>> _.evalf()
0.915965594177219
>>> mpmath.nsum(lambda k: (-1)**k / (2*k+1)**2, [0,mpmath.inf])
0.915965594177219
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{\left(2 + 2 k\right)^{2}} = \frac{1}{48} \pi^{2} [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k}}{\left(2 + 2 k\right)^{2}} = \frac{1}{48} \pi^{2} ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_uP440YxEXMF0mN35csBSj5cTnyQ3727JS_7PNeB-tltElfiLlWxihCefS1T-ofrESZJNpuO8jADGEIJM-iw4GLrXIpQCHnDg=s0-d)
>>> hypsum((-1)**k / (2*k+2)**2, k)
pi**2/48
>>> _.evalf()
0.205616758356028
>>> mpmath.nsum(lambda k: (-1)**k / (2*k+2)**2, [0,mpmath.inf])
0.205616758356028
![\sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} \left(1 + k\right)}{\left(3 + 2 k\right)^{2}} = \frac{1}{9} \,_{3}F_{2}\left(\frac{3}{2},\frac{3}{2},2; \frac{5}{2},\frac{5}{2}; -1\right) [; \sum_{k=0}^{\infty} \frac{\left(-1\right)^{k} \left(1 + k\right)}{\left(3 + 2 k\right)^{2}} = \frac{1}{9} \,_{3}F_{2}\left(\frac{3}{2},\frac{3}{2},2; \frac{5}{2},\frac{5}{2}; -1\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_u8xVSiKtQYB5zYrRefZ9zKnpOu3AksupSM1TPzEqg0cH9MqynGj2KgSuAG8DB6Vhv7eojzGv9xstbcEEKmVM3klZGU9g-u=s0-d)
>>> hypsum((-1)**k * (k+1) / (2*k+3)**2, k)
3F2([3/2, 3/2, 2], [5/2, 5/2], -1)/9
>>> _.evalf()
0.0652837153898853
>>> mpmath.nsum(lambda k: (-1)**k * (k+1) / (2*k+3)**2, [0,mpmath.inf])
0.0652837153898854
![\sum_{k=0}^{\infty} \frac{1}{4 + 2 k + k^{2}} = \frac{1}{6} \mathbf{\imath} \sqrt{3} \left(- \operatorname{\psi}\left(0,1 + \mathbf{\imath} \sqrt{3}\right) + \operatorname{\psi}\left(0,1 - \mathbf{\imath} \sqrt{3}\right)\right) [; \sum_{k=0}^{\infty} \frac{1}{4 + 2 k + k^{2}} = \frac{1}{6} \mathbf{\imath} \sqrt{3} \left(- \operatorname{\psi}\left(0,1 + \mathbf{\imath} \sqrt{3}\right) + \operatorname{\psi}\left(0,1 - \mathbf{\imath} \sqrt{3}\right)\right) ;]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sZQwZc9sjsaYoMlwylqLeFEK_CjFpL2r73QTeVBlfY0DA91Al-Ii6eLfsD6O4dHivy0w2Oul5mUEe0Gj1uvletyeFoOWRr=s0-d)
>>> hypsum(1/(k**2+2*k+4), k)
I*3**(1/2)*(-polygamma(0, 1 + I*3**(1/2)) + polygamma(0, 1 - I*3**(1/2)))/6
>>> _.evalf()
0.740267076581851
>>> mpmath.nsum(lambda k: 1/(k**2+2*k+4), [0,mpmath.inf])
0.740267076581851
This work was possible thanks to the support of
NSF grant DMS-0757627, which is gratefully acknowledged.