Does the Gamma Function have an Inverse?

7.6k Views Asked by At

Does the Gamma Function have an Inverse? (Is there an "arc-gamma" function?)

Where $\Gamma(x) = y... \Gamma^{-1}(y) = x\ (arc\Gamma(y)=x)$.

I've searched and found something called DiGamma Function, but when I substituted it didn't seem to be an inverse ("arc") but something else. I am not yet developed enough to understand haha...


Edit, I'd like to draw special attention to the comment below by u/G Cab, be sure to check it out, has a very useful answer to this question, but comments often go overlooked.

2

There are 2 best solutions below

3
On BEST ANSWER

Despite the inverse of gamma function is not expressible in terms of elementary functions, It seems to be possible for positive real numbers to start an algorithm from reversing Stirling approximation and using newton formula for roots of an equation, in order to converge to the argument of gamma function, given its result.

A friend of mine tested and so far, it seems to work for real numbers. But since the logarithm of a complex value is multivalued, this approximation would not be suitable for complex expression of gamma function.

$\Gamma{(n+1)}=n!$

$n!=\sqrt{2\pi n}(\frac{n}{e})^n$

$\ln{(n!)}=\frac{1}{2}\ln{(2\pi)}+\frac{1}{2}ln{(n)}+n\ln{(n)}-n$

$n_1=n_0-\frac{\frac{1}{2}\ln{(2\pi)}+\frac{1}{2}ln{(n_0)}+n_0\ln{(n_0)}-n_0-\ln{(n!)}}{-\ln{n_0}}$

$n_1=\frac{n_0+\ln{(\Gamma{(n+1)})}-\frac{1}{2}\ln{(2\pi)}}{\ln{n_0}}-\frac{1}{2}$

so applying this algorithm with a guess value for $x_0$ will converge quickly to the result of argument of gamma function, but only for positive real numbers and it remains an approximation especially if $n\leq2$.

Here is a racket algorithm my friend wrote to detect if a value is a factorial :

#lang racket
(require math/special-functions)
(require math/base)
(define (fact n) (gamma (+ 1 n)))
(define (invfact n)
  (define w (log n))
  (define c (/ (log (* 2 pi)) -2))
  (define (invfact-iter x)
    (let ((xn (improve x)))    
      (if (< (abs (- x xn)) 0.001)
          (check (exact-round xn))
          (invfact-iter xn))))
  (define (improve x) (- (/ (+ x w c) (log x)) 0.5))
  (define (check res)
    (if (= n (fact res))
        res
        "not a factorial"))
  (if (< n 3)
      n
      (invfact-iter 10)))

If you try it under racket with for example : (invfact 720) you will get 6 after very few iterations, but the algorithm detects it by rounding, its result being really around 6.00739...

So @Gary's reverse approximation (see in the comments) is good too, even probably better, I didn't check.

9
On

Is there an arc-gamma function ?

Of course there is. Is it also expressible in terms of elementary functions ? No. $($I believe that this is what you were ultimately trying to ask$)$.

Sorry if "arc" is the wrong term.

It is! But hey, life's too short to be sorry. ;-)

I've searched and found something called DiGamma Function.

The digamma, trigamma, and polygamma functions are the derivatives of the $\Gamma$ function, not its inverse.