任何大于或等于1的自然数n阶乘:
即
下表给出了一些自然数的阶乘值:
https://en.wikipedia.org/wiki/Factorial
100! 是一个158位的整数
100! 这么大的数字是怎么算出来的?
直接计算阶乘需要大量的乘法运算,而且位数太多,计算机无法表达。 这时,常采用对数法将阶乘的乘法运算转化为加法运算。 例如
写一段Python语言代码求等式右边的值:
import math
digit_num =0.0
for i in range (100):
digit_num = math.log10(i 1)
print(digit_num)
运行得到
157.97000365471575(约),即
这显示100! 是一个 158 位数字。 根据对数函数和指数函数的关系,可以反算出阶乘值:
之前不理解对数含义的朋友,到这里可以体会到对数的强大威力了吧?
另外,factorial还有一个有趣的近似公式:
Stirling()公式——Stirling的近似
Stirling公式与阶乘曲线的比较
p>
我们来实际验证一下斯特林公式的错误。 将 n=100 代入上述公式得到 100! ≈9.3248476252693432477647561271787023234709745647418062292817958153368849555554046603086239162755522767325066157982750581730201788648720772023094674209485726744222550819049228652031041119504096696429434529708431163809342056757648101523406286160085266735172818639831611426620941684736285030409855242311268344207307073067790438191255736013812573265362270229118719809726115438569410402607630035313046957956392566366745658132452941877904052886947223641749037779513877635612354880691524914259437590327045612488757528210… × 10^157
与我们用对数求得的值之间的误差大约为0.08329%,即万分之8.3,相当精准吧! ! !
续阶乘
点(n, n!)可以是(0, 0!), (1,1!), (2,2!), ( 3 ,3!),… 表示在平面坐标系上。
n!, n=0..4
n!, n=0..6
n!, n=0..10
p>
n!, n=0..10
n!, n=0..10
n! p>
我们能否找到一条可以通过以上所有点(n,n!)的数学曲线? 找到这样一条曲线的过程是数学上的解析延续,从整数领域到实数领域。
伽玛函数
人类刚刚发现了这样一个函数,即伽玛函数(Gamma Function)。 伽玛函数的定义如下:
伽玛函数是由定积分公式定义的函数,所以求伽玛函数就变成了定积分。 不难发现:
然后
gamma函数与实数域层次的关系
这些结论我就不证明了。 一方面,这些知识可以很方便地找到。 还有一个更重要的方面是,毕竟我的目的不是为了吓唬大家炫耀自己的知识,而是把数学的奥秘、美丽和魅力尽可能完整地分享和呈现给大家。
从这个等式可以看出,阶乘不就是伽马函数从实数域到整数域的降维函数吗? 相反,gamma函数不就是阶乘序列从整数域到实数域的延拓吗?
由伽马函数导出的一个常数是弗朗森-罗宾逊常数:
问题:伽马函数是唯一的解析扩展吗? 阶乘运算?
答案是否定的,因为有无数的扩展函数可以满足这样的需求。 例如,当横坐标为整数时,以下函数的值等于对应的阶乘值:
实数域的阶乘函数
因为
也就是说
p>
阶乘函数表示如下:
阶乘函数具有以下递归性质(从小到大, 计算正数的阶乘时用到的):
由上面的递归公式,我们可以得到一个新的递推公式(从大到小,计算负数的阶乘时用到的):
我们尝试求出几个非整数实数的阶乘函数值:
根据这个值,可以推导出其他系列的值:
这个π (x)是实数域阶乘函数的合理定义公式。 阶乘函数的曲线y=π(x)=x! 如下:
我们发现上述阶乘函数在负整数处是不连续的,即不收敛,这与我们的计算结果是一致的:
最后发现 两个特殊的阶乘
其实阶乘也可以推广到复数域,比如
复数函数
图形如下
p>
(cosx isinx)的图!
家人在哪里? 云外有鸡