@@ -408,22 +408,53 @@ def get_sympy_names(self):
408408
409409class Pochhammer (SympyFunction ):
410410 """
411- <url>:WMA link:https://reference.wolfram.com/language/ref/Pochhammer.html</url>
411+ <url>:Rising factorial:
412+ https://en.wikipedia.org/wiki/Falling_and_rising_factorials</url> (<url>
413+ :SymPy:
414+ https://docs.sympy.org/latest/modules/functions/combinatorial.html#risingfactorial</url>, <url>
415+ :WMA:
416+ https://reference.wolfram.com/language/ref/Pochhammer.html</url>)
417+
418+ The Pochhammer symbol or rising factorial often appears in series \
419+ expansions for hypergeometric functions.
412420
413- The Pochhammer symbol or rising factorial often appears in series expansions for hypergeometric functions.
414- The Pochammer symbol has a definie value even when the gamma functions which appear in its definition are infinite.
421+ The Pochammer symbol has a definite value even when the gamma \
422+ functions which appear in its definition are infinite.
415423 <dl>
416424 <dt>'Pochhammer[$a$, $n$]'
417- <dd>is the Pochhammer symbol (a)_n .
425+ <dd>is the Pochhammer symbol $a_n$ .
418426 </dl>
419427
420- >> Pochhammer[4, 8]
421- = 6652800
428+ Product of the first 3 numbers:
429+ >> Pochhammer[1, 3]
430+ = 6
431+
432+ 'Pochhammer[1, $n$]' is \
433+ the same as Pochhammer[2, $n$-1] since 1 is a multiplicative identity.
434+
435+ >> Pochhammer[1, 3] == Pochhammer[2, 2]
436+ = True
437+
438+ Although sometimes 'Pochhammer[0, $n$]' is taken to be 1, in Mathics it is 0:
439+ >> Pochhammer[0, n]
440+ = 0
441+
442+ Pochhammer uses Gamma for non-Integer values of $n$:
443+
444+ >> Pochhammer[1, 3.001]
445+ = 6.00754
446+
447+ >> Pochhammer[1, 3.001] == Pochhammer[2, 2.001]
448+ = True
449+
450+ >> Pochhammer[1.001, 3] == 1.001 2.001 3.001
451+ = True
422452 """
423453
424454 attributes = A_LISTABLE | A_NUMERIC_FUNCTION | A_PROTECTED
425455
426456 rules = {
457+ "Pochhammer[0, n_]" : "0" , # Wikipedia says it should be 1 though.
427458 "Pochhammer[a_, n_]" : "Gamma[a + n] / Gamma[a]" ,
428459 "Derivative[1,0][Pochhammer]" : "(Pochhammer[#1, #2]*(-PolyGamma[0, #1] + PolyGamma[0, #1 + #2]))&" ,
429460 "Derivative[0,1][Pochhammer]" : "(Pochhammer[#1, #2]*PolyGamma[0, #1 + #2])&" ,
@@ -434,7 +465,12 @@ class Pochhammer(SympyFunction):
434465
435466class PolyGamma (_MPMathMultiFunction ):
436467 r"""
437- <url>:WMA link:https://reference.wolfram.com/language/ref/PolyGamma.html</url>
468+ <url>:Polygamma function:
469+ https://en.wikipedia.org/wiki/Polygamma_function</url> (<url>
470+ :SymPy:
471+ https://docs.sympy.org/latest/modules/functions/special.html#sympy.functions.special.gamma_functions.polygamma</url>, <url>
472+ :WMA:
473+ https://reference.wolfram.com/language/ref/PolyGamma.html</url>)
438474
439475 PolyGamma is a meromorphic function on the complex numbers and is defined as a derivative of the logarithm of the gamma function.
440476 <dl>
@@ -470,13 +506,17 @@ class PolyGamma(_MPMathMultiFunction):
470506
471507
472508class StieltjesGamma (SympyFunction ):
473- r"""
474- <url>:WMA link:https://reference.wolfram.com/language/ref/StieltjesGamma.html</url>
509+ """
510+ <url>:Stieltjes constants:
511+ https://en.wikipedia.org/wiki/Stieltjes_constants</url> (<url>
512+ :SymPy:
513+ https://docs.sympy.org/latest/modules/functions/special.html#sympy.functions.special.zeta_functions.stieltjes</url>, <url>
514+ :WMA:
515+ https://reference.wolfram.com/language/ref/StieltjesGamma.html</url>)
475516
476- PolyGamma is a meromorphic function on the complex numbers and is defined as a derivative of the logarithm of the gamma function.
477517 <dl>
478518 <dt>'StieltjesGamma[$n$]'
479- <dd>returns the Stieljs contstant for $n$.
519+ <dd>returns the Stieltjes constant for $n$.
480520
481521 <dt>'StieltjesGamma[$n$, $a$]'
482522 <dd>gives the generalized Stieltjes constant of its parameters
0 commit comments