# polygamma#

## Purpose#

Computes the polygamma function.

## Format#

f = polygamma(z, n)#
Parameters:
• z (NxK matrix) – z may be complex

• n (The order of the function) – If n is 0 then f will be the Digamma function. If n = 1,2,3, etc., then f will be the tri-, tetra-, penta-, s-, etc., Gamma function. Real (n) must be positive.

Returns:

f (NxK matrix) – f may be complex.

## Examples#

### Example 1: Basic usage#

// Both calls are equivalent
f = digamma(1);
f2 = polygamma(1, 0);


After the code above, both f and f2 should be equal to -g, where g represents the Euler-Mascheroni constant:

-0.57721566


### Compute the pentagamma function#

f = polygamma(1.5, 4);


After the code above, f should be equal to:

-3.47425


### Complex input#

// Set 'z' equal to complex number -45.6-29.4i
z = { -45.6 - 29.4i };
polygamma(z, 101);

12.501909 + 9.0829590i


### Example 4#

z = { -11.5 - 0.577007813568142i };
polygamma(z, 10);


will return the value:

-4.984e-06 + 8.217e-07i


## Remarks#

The polygamma() function of order n is defined by the equation:

$\psi^{(n)}(z) = \frac{d^n}{dz^n}\psi(z) = \frac{d^{n+1}}{dz^{n+1}}ln\Gamma(z)$

This program uses the partial fraction expansion of the derivative of the log of the Lanczos series approximation for the Gamma function. Accurate to about 12 digits.

## References#

1. Lanczos, SIAM JNA 1, 1964. pp. 86-96.

1. Luke, “The Special … approximations,” 1969 pp. 29-31.

1. Luke, “Algorithms … functions,” 1977.

1. Spouge, SIAM JNA 31, 1994. pp. 931.

1. Press, “Numerical Recipes.”

1. Chang, “Computation of special functions,” 1996.

1. Abramowitz & Stegun, section eq 6.4.6

2. Original code by Paul Godfrey