7

有没有办法计算实数的反阶乘?

例如 -1.5 ! = 1.32934039

1.5如果我有价值,有什么方法可以取回1.32934039吗?

我在尝试

http://www.wolframalpha.com/input/?i=Gamma^(-1)[1.32934039]

但这是失败的。

4

3 回答 3

5

使用 wolframalpha.com,您可以要求

Solve[Gamma[x+1]==1.32934039,x]

正如评论中提到的,伽玛没有唯一的逆。即使您正在求解传统的阶乘也是如此,例如

Solve[Gamma[x+1]==6,x]

产生几个答案,其中一个是 3。

除了在 WolframAlpha 中使用 Gamma[],您还可以使用 Factorial[]:

Solve[Factorial[x]==6,x]
Solve[Factorial[x]==1.32934039,x]
于 2010-06-21T13:25:16.863 回答
5

David Cantrell 在此页面上给出了 Γ -1 (n)的一个很好的近似值:

k = digamma 函数的正零,大约为 1.461632
c = Sqrt(2*pi)/e - Γ(k),约 0.036534
L(x) = ln((x+c)/Sqrt(2*pi))
W(x) =朗伯 W 函数
ApproxInvGamma(x) = L(x) / W(L(x) / e) + 1/2
于 2010-06-21T18:41:29.617 回答
3

对于整数,您可以执行以下操作:

i = 2
n = someNum
while (n != 1):
    n /= i
    i += 1
return (i==1 ? i : None)

实数的阶乘没有逆。你说“每个函数都必须有一个逆”。这是不正确的。考虑常数函数f(x)=0。是什么f^-1(42)?对于要逆的函数,它必须既是injection又是surjection

于 2010-06-21T13:23:20.840 回答