有没有一种方法可以计算实数的阶乘的倒数?
例如 - 1.5 ! = 1.32934039
如果我有值1.32934039
,有没有办法获得回1.5
?
我正在尝试。
http://www.wolframalpha.com/input/?i=Gamma^(-1)[1.32934039]
但那是失败了。
有没有一种方法可以计算实数的阶乘的倒数?
例如 - 1.5 ! = 1.32934039
如果我有值1.32934039
,有没有办法获得回1.5
?
我正在尝试。
http://www.wolframalpha.com/input/?i=Gamma^(-1)[1.32934039]
但那是失败了。
通过wolframalpha.com,您可以查询以下信息:
Solve[Gamma[x+1]==1.32934039,x]
如评论中所述,伽玛函数没有唯一的逆元。即使在解决传统的阶乘问题时也是如此,例如:
Solve[Gamma[x+1]==6,x]
这个问题有多个答案,其中一个是3。
在WolframAlpha中,你可以使用Factorial[]代替Gamma[]:
Solve[Factorial[x]==6,x]
Solve[Factorial[x]==1.32934039,x]
David Cantrell在此页面上给出了Γ-1(n)的良好近似值:
k = 二次ψ函数的正零点,约为1.461632 c = Sqrt(2*pi)/e - Γ(k),约为0.036534 L(x) = ln((x+c)/Sqrt(2*pi)) W(x) = Lambert W函数 ApproxInvGamma(x) = L(x) / W(L(x) / e) + 1/2
对于整数,您可以执行以下操作:
i = 2
n = someNum
while (n != 1):
n /= i
i += 1
return (i==1 ? i : None)
实数的阶乘没有反函数。你说"每个函数都必须有一个反函数",这是不正确的。考虑常数函数f(x)=0
。什么是f^-1(42)
?为了成为反函数,它必须同时是单射和满射。
i = 1
,除法和自增应该交换,然后你可以直接返回 i
。 - Matthew Flaschen[2,∞)
上的Γ(x)
(不像f(x)=0
)是单射的。至少在该子域上应该有一个反函数。 - Ken