# Inverse factorials. What are they? How to calculate?

1. Dec 23, 2007

### ktoz

Hi

I was trying to solve the equation (m + n)!/m! = v for "n" and found an online calculator http://www.hostsrv.com/webmab/app1/MSP/quickmath/02/pageGenerate?site=quickmath&s1=equations&s2=solve&s3=advanced#reply" [Broken] which spit out the following as a solution:

n = factorial(-1)[vm!] - m

I Googled "inverse factorial" and searched on wolfram.com and wikipedia.com but didn't find a clear answer as to what inverse factorials are, much less how to calculate them.

Factorials are so simple to calculate (1 x 2 x 3 ... x n) do inverse factorials have a similarly simple method?

Thanks for any help

Last edited by a moderator: May 3, 2017
2. Dec 23, 2007

### HallsofIvy

"Inverse factorial" is, of course, the inverse of the factorial functions: Since 1!= 1, factorial-1(1)= 1, 2!= 2 so factorial-1(2)= 2. 3!= 6 so factorial-1(6)= 3, etc. You will notice that there is no number n such that n!= 3, say, so factorial-1(3) is undefined. No, there is no simple formula- that's why the online calculator gave you the function in that form.

(0!= 1 also so the factorial has to be restricted to positive integers in order to have an inverse.)

3. Dec 23, 2007

### mathwonk

presumably in general it would be the inverse of the gamma function.

4. Dec 23, 2007

### CompuChip

Mathematica gives a warning
Code (Text):
During evaluation of InverseFunction::ifun: Inverse function
are being used. Values may be lost for multivalued inverses. >>
and then proceeds to print Factorial^(-1)(n)

As it gives the same output when replacing Factorial by any (undefined) function f, I don't think there it knows a numerical inverse (let alone a closed form exists) and f^(-1) is just what it (or the online calculator) give in general when they don't know the inverse of a function.

Neither does it know an inverse of the $\Gamma$ function, which doesn't really surprise me.

5. Oct 3, 2009

### J.D.B.

The gamma inverse function is multivalued for a given number. So there are many different branches .
If you have mathematica you might plot the following code that i made to visualize this function:

G[u_] := 1/Gamma;

Manipulate[Quiet[ParametricPlot3D[{
Re[f[x + \[ImaginaryI] y]], Im[f[x + \[ImaginaryI] y]],
variabletype}, {x, xo, xf}, {y, yo, yf},
PlotStyle -> Opacity[.85], ColorFunction -> (Hue[#5/(2 Pi)] &),
ColorFunctionScaling -> False,
RegionFunction ->
Function[{x, y, z},
If[condition, 0 < Im[f[x + I*y]], 0 > Im[f[x + I*y]],
Im[f[x + I*y]] > -10^6]], BoxRatios -> {1, 1, 3}]]
, {{variabletype, x, ""}, {x -> "Real Part", y -> "Imaginary Part"}}
, {{f, Gamma, "Riemann surface of the inverse"}, { Gamma -> "gamma",
G -> "1/Gamma[z]"}}, {{xo, -6, "initial value of x"}, -6,
0}, {{xf, 4, "final value of x"}, 0,
6}, {{yo, -Pi, "initial value of y"}, -2 Pi,
0}, {{yf, Pi, "final value of y"}, 0,
2 Pi}, {{condition, "Show All",
"Complex Plane View"}, {True -> "Upper Part",
False -> "Lower Part", "Show all"}}]
It will give you a the continuation of gamma-1 function over the complex z plane.
It is possible to find the many different values of this function graphicaly.
On the attachement, you will see the 2 first plots are the real part , and the lasts are the imaginary part.

File size:
32.7 KB
Views:
440
6. Oct 3, 2009

### J.D.B.

7. Dec 13, 2009

### Com3t

The factorial does not have an inverse, since 0!=1!=1.
The gamma function also does not have an inverse.

However, by restricting the range of the factorial function (as is done for the standard trigonometric functions, sin, cos, etc.), we can define the inverse of the principal branch of the factorial function (i.e n! where n>=1). [For the gamma function with a zero imaginary value, this can also be done.]

http://mathforum.org/kb/profile.jspa?userID=4146" posted in
http://mathforum.org/kb/message.jspa?messageID=342551&tstart=0

Letting L(x) = ln((x+c)/Sqrt(2*pi)), the inverse of my gamma
approximation is

ApproxInvGamma or AIG(x) = L(x) / W(L(x) / e) + 1/2.

A precise inverse for the factorial function N! for positive integer N can
now be given by simply rounding to the nearest integer (since errors are
sufficiently small -- less than 1/2 being all that was required):

InvFact(x) = Round(AIG(x)) - 1 for x = N!

The equation uses the principal branch of the Lambert W function [the inverse function of f(x) = x*exp(x)].

Last edited by a moderator: Apr 24, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook