Message Boards Message Boards

0
|
16222 Views
|
17 Replies
|
11 Total Likes
View groups...
Share
Share this post:

Inverse Of Gamma Function?

Posted 8 years ago

Exact Inverse of (gamma function) = ? --------------> for example: Exact Inverse of (?x) = x²

Attachments:
POSTED BY: Mohamad Fard
17 Replies
Posted 8 years ago

Might we suggest the inverse of Stirling's Approximation? Assuming the isolation of the domain ( x ) of Stirling's Approximation for n! always has a fixed point x_k, for all independently chosen range values ( y ), this isolation is a function f(x) and if function f is composed infinitely for y is a member of the set of real numbers and x is a member of the set of real numbers, then the infinite composition is the inverse of Stirling's Approximation for n!

POSTED BY: T.A. H.

closest to an exact inverse is

https://reference.wolfram.com/language/ref/InverseGammaRegularized.html

which only gives exact results for some arguments, according to the documentation

POSTED BY: Frank Kampas
Posted 8 years ago

thanks a lot. sometimes IGR doesn't match IG As you know. what should I do?

POSTED BY: Mohamad Fard

There isn't really anything I guess as it is multivalued as you can see...

--SH

POSTED BY: Sander Huisman
Posted 8 years ago

It was just an example to summarize. surely it is invertible, isn't it?

POSTED BY: Mohamad Fard

well, it IS invertible. But like x^2 => sqrt(x), you have to decide what to do for multiple values:

should it return +3 or -3? when one asks for x=9. Well this is by default +3 in Mathematica, you can imagine that this 'choice' becomes much more tricky with the Gamma function...

What should InverseGamma[4] return? You have to decide which one to return; I see like 6 possible values in your plot...

POSTED BY: Sander Huisman
Posted 8 years ago

thanks a lot. as you know ? is an extension of ! . for x Real ? 1 => x!=y => x=(x!)?¹ = x(y) = ?

POSTED BY: Mohamad Fard

Numerically you could write a function something like:

ClearAll[InverseGamma]
InverseGamma[x_?NumericQ]:=Module[{start,y},
    If[Head[x]=!=Complex,
        If[x>0.88561,
            start=(-1+2 Log[x]-Log[2 \[Pi]])/(2 ProductLog[(-1+2 Log[x]-Log[2 \[Pi]])/(2 E)])+1-1/4;
            Chop[y/.FindRoot[Gamma[y]==x,{y,start}]]
        ,
            Missing[]
        ,
            Missing[]
        ]
    ,
        Missing[]
    ]
]


Show[{ParametricPlot[{Gamma[x], x}, {x, 1, 4}, PlotStyle -> Red],Plot[InverseGamma[x], {x, 0.88, 5}]}]

enter image description here

Of course this is not very fast but works reasonably for real numbers above 0.89. And good guess for the starting position of FindRoot helps a lot...

POSTED BY: Sander Huisman
Posted 8 years ago

I humbly thank you. what is the mathematical formula for your Numerical approach? e.g ?

Attachments:
POSTED BY: Mohamad Fard

It will just find the root of the the equation Gamma[x]==y, so no mathematical formula. It will find it exactly but not using 'elementary' mathematical functions.

The starting point of the root-finding (which is what I do), can be neatly done by solving the Stirling approximation:

x == n! ~~ (2 Pi n)^0.5 (n/E)^n = (2 Pi)^0.5 (n/e)^n n^0.5 = (2 Pi)^0.5 (n/e)^n (n/E)^0.5 E^0.5 = (2 Pi E)^0.5 (n/e)^(n+0.5)

which can be solved approximately using PowerLog (LambertW function). This gives a good starting point.

POSTED BY: Sander Huisman

If you want a Taylor series, you can just simply use:

Normal[InverseSeries[Series[Gamma[x], {x, 4.0, 10}]]]
Plot[%, {x, 1, 10}]

Where the expansion is around 4, with 10 terms.

POSTED BY: Sander Huisman
Posted 8 years ago

I’m sorry to have troubled you . Please Kindly find the files attached. is it exact?

Attachments:
POSTED BY: Mohamad Fard

no

POSTED BY: Sander Huisman
Posted 8 years ago

please help me

  1. N
  2. dn
Attachments:
POSTED BY: Mohamad Fard
Posted 8 years ago
Attachments:
POSTED BY: Mohamad Fard
Posted 8 years ago

?(x) = digamma function = ?'/ ? , ?? = (positive zero of ?) - 1 , ??= ??!

POSTED BY: Mohamad Fard
Posted 8 years ago

It was just an example to summarize. surely it is invertible, isn't it?

POSTED BY: Mohamad Fard
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract