今天早上同学问了我有关伽马函数和$n$维空间的球体积之间的关系,我记得我以前想要研究,但是并没有落实。既然她提问了,那么就完成这未完成的计划吧。

标准思路#

简单来说,$n$维球体积就是如下$n$重积分

$$V_n(r)=\int_{x_1^2+x_2^2+\dots+x_n^2\leq r^2}dx_1 dx_2\dots dx_n$$

用更加几何的思路,我们通过一组平行面($n-1$维的平行面)分割,使得$n$维球分解为一系列近似小柱体,因此,可以得到递推公式

$$V_n (r)=\int_{-r}^r V_{n-1} \left(\sqrt{r^2-t^2}\right)dt$$

设$t=r\sin\theta_1$,就有

$$V_n (r)=r\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} V_{n-1} \left(r\cos\theta_1\right)\cos\theta_1 d\theta_1$$

迭代一次就有

$$V_n (r)=r^2\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} V_{n-2} \left(r\cos\theta_1\cos\theta_2\right)\cos\theta_1\cos^2\theta_2 d\theta_1 d\theta_2$$

迭代$n-1$次

$$\begin{aligned}V_n (r)=&r^{n-1}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\dots\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} V_1\left(r\cos\theta_1\cos\theta_2\dots \cos\theta_{n-1}\right)\times\\

&\cos\theta_1\cos^2\theta_2\dots\cos^{n-1}\theta_{n-1} d\theta_1 d\theta_2\dots d\theta_{n-1}\end{aligned}$$

其中$V_1 (r)=2r$,即两倍半径长的线段。从而

$$V_n (r)=2r^{n}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\dots\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \cos^2\theta_1\cos^3\theta_2\dots\cos^{n}\theta_{n-1} d\theta_1 d\theta_2\dots d\theta_{n-1}$$

完成这个积分,最终就得到$n$维球体积的公式,这个积分自然是可以求出来的(只是$n-1$个一维积分的乘积)。但是这样的步骤太不容易了,为了将其跟伽马函数联系起来,还要做很多工作。总的来说,这是一个不容易记忆、也不怎么漂亮的标准方法。

绝妙思路#

有一个利用高斯积分的绝妙技巧,能够帮助我们直接将球体积跟伽马函数联系起来,整个过程堪称鬼斧神工,而且给人“仅此一家,别无分号”的感觉。据说这个技巧为物理系学生所知晓,我是从百读文库看到的,原始来源则是《热力学与统计力学》顾莱纳(德),例5.2 理想气体的熵的统计计算。

这一绝妙的思路,始于我们用两种不同的思路计算高斯积分

$$G(n)=\int_{-\infty}^{+\infty}\dots\int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty} \exp\left(-x_1^2-x_2^2-\dots-x_n^2\right)dx_1 dx_2 \dots dx_n\tag{1}$$

一方面,将$(1)$当作$n$次累次积分,因为我们已经算得(可以参考这里)

$$\int_{-\infty}^{+\infty}\exp(-t^2)dt=\sqrt{\pi}$$

而$(1)$只不过是这样的$n$个积分的乘积,因此

$$G(n)=\pi^{n/2}\tag{2}$$

另一方面,将$(1)$当作$n$重积分,由于积分变量只是跟径向长度$r=\sqrt{x_1^2+x_2^2+\dots+x_n^2}$有关的变量,因此很容易联想到球坐标,在$n$维空间中,可以称为“超球坐标”,不需要将超球坐标完整写出来,只需要注意到,球内的积分,可以化为先对“球壳”进行积分,然后再对球半径进行积分。

$$G(n)=\int_{0}^{+\infty}dr\int_{S_n(r)}\exp\left(-r^2\right)dS_n\tag{3}$$

这里的$S_n(r)$是半径为$r$的$n$维球体表面(以及表面积,在不至于混淆的情况下,这里不作区分)。但是注意到,被积函数只跟$r$有关,因此对球表面进行积分,等价于原函数乘以球的表面积而已,因此$(2)$式的结果为

$$G(n)=\int_{0}^{+\infty}dr\exp\left(-r^2\right)S_n(r)\tag{4}$$

虽然我们不知道$n$维球的体积和表面积公式,但是我们可以肯定,$n$维球的体积一定正比于$r^n$,即有

$$V_n (r)=V_n(1)r^n$$

球的表面积,就是球体积的一阶导数(考虑球壳分割),那么

$$S_n (r)=n V_n(1)r^{n-1}$$

代入$(4)$,得到

$$\begin{aligned}G(n)=&n V_n(1)\int_{0}^{+\infty}r^{n-1}\exp\left(-r^2\right)dr\\

=&\frac{1}{2}n V_n(1)\int_{0}^{+\infty}(r^2)^{n/2-1}\exp\left(-r^2\right)d(r^2)\\

=&\frac{1}{2}n V_n(1)\int_{0}^{+\infty}z^{n/2-1}\exp\left(-z\right)dz\quad\left(z=r^2\right)\\

=&\frac{1}{2}n V_n(1)\Gamma\left(\frac{n}{2}\right)\end{aligned}\tag{5}$$

结合$(2)$得

$$\pi^{n/2}=G(n)=\frac{1}{2}n V_n(1)\Gamma\left(\frac{n}{2}\right)$$

从而

$$V_n(1)=\frac{\pi^{n/2}}{\frac{1}{2}n\Gamma\left(\frac{n}{2}\right)}=\frac{\pi^{n/2}}{\Gamma\left(\frac{n}{2}+1\right)}$$

最后

$$V_n(r)=\frac{\pi^{n/2}}{\Gamma\left(\frac{n}{2}+1\right)}r^n$$

就这样得到了$n$维球体积公式!!对$r$求导得到$n$维球表面积公式

$$S_n(r)=\frac{2\pi^{n/2}}{\Gamma\left(\frac{n}{2}\right)}r^{n-1}$$

结合前后两个方法,就得到

$$\frac{\pi^{n/2}}{\Gamma\left(\frac{n}{2}+1\right)}=2\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\dots\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \cos^2\theta_1\cos^3\theta_2\dots\cos^{n}\theta_{n-1} d\theta_1 d\theta_2\dots d\theta_{n-1}$$

简单评述#

该技巧相当漂亮、简洁,其中高斯积分、球坐标变换这些都是物理系学生很熟悉的,只需简单峰回路转,就把结果给算了出来,这俨然就是只有物理系学生才能想出来的绝妙思路!

更妙的是,我们发现这一思路如此奇妙,以至于我们想用它来做更多的事情,但是稍微研究之后就会得到结论:不能再做什么了!也就是说,整个过程似乎就只为计算$n$维球体积而订制的!真的是“只此一家,别无分号”!妙哉~~

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

打赏

微信打赏

支付宝打赏

因为网站后台对打赏并无记录,因此欢迎在打赏时候备注留言。你还可以点击这里或在下方评论区留言来告知你的建议或需求。

如果您需要引用本文,请参考:

苏剑林. (2014, Dec 23). 《鬼斧神工:求n维球的体积 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/3154

python球的体积公式_鬼斧神工:求n维球的体积相关推荐

  1. python计算球体体积_鬼斧神工:求n维球的体积

    今天早上同学问了我有关伽马函数和$n$维空间的球体积之间的关系,我记得我以前想要研究,但是并没有落实.既然她提问了,那么就完成这未完成的计划吧. 标准思路# 简单来说,$n$维球体积就是如下$n$重积 ...

  2. python外星人入侵游戏图片_跪求一个问题@关于外星人入侵游戏(《python编程基础从入门到实...

    我在学着编写<python编程基础从入门到实践>的"外星人入侵游戏"的时候,报错如下: Traceback (most recent call last): File ...

  3. python 单词拆音节_新手求大神carry!关于单词音节问题!求救!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 def check_syllables(poem_lines, pattern, word_to_phonemes): r""&quo ...

  4. python计算正方形面积_递归求正方形的面积

    我有一个大正方形,它是用固定尺寸的小正方形瓷砖做成的.在 这些小方砖的面积是已知的.在 其中一个平铺显示在左上角.在 现在 每个方格可以分成4个子方格.每个方块都有一个识别方块的钥匙.在 大广场里面可 ...

  5. Python少儿创意编程_新年快乐音乐贺卡.py 作者:李兴球

    """Python少儿创意编程_新年快乐音乐贺卡.py    风火轮少儿编程就是原来的星空培训(萍乡星空少儿编程).    本程序使用python3.7,需要准备枕头模块 ...

  6. python惰性求值_让Python中类的属性具有惰性求值的能力

    起步 我们希望将一个只读的属性定义为 property 属性方法,只有在访问它时才进行计算,但是,又希望把计算出的值缓存起来,不要每次访问它时都重新计算. 解决方案 定义一个惰性属性最有效的方法就是利 ...

  7. python列表求平均值_长篇文讲解:Python要求O(n)复杂度求无序列表中第K的大元素实例...

    本文内容主要介绍了Python要求O(n)复杂度求无序列表中第K的大元素实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧! 昨天面试上来就是一个算法,平时基本的算法还行,结果变个法 ...

  8. python求三角形面积步骤_通过求三角形面积步入python程序世界.pdf

    通过求三角形面积步入python程序世界 第一章 通过求三角形面积步入 Python 程序世界 本章通过一个求三角形面积的案例带领读者快速进入 Python 世界,案例涉及一些编程必 须知道的内容,包 ...

  9. 用python玩转数据测试答案_MOOC_用Python玩转数据_测试答案

    利息.据测股息.红利所得以每次收入额为应纳税所得额.A:错B:对 利息保障倍数中,试答利息支出:试答A:不包括财务费用中的利息支出B:包括计入固定资产成本的资本化利息C:包括财务费用中的利息支出D:不 ...

  10. 用python玩转数据第一周答案_用Python玩转数据_答案

    用Python玩转数据_答案 答案: 更多相关问题 求由参数方程所确定的函数y=y(x)的二阶导数 已知数列的通项公式,则取最小值时=,此时=. (本小题满分10分)已知是等差数列,其中](1)求的通 ...

最新文章

  1. as3自定义加载图片类
  2. 图像超分辨率网络:RCAN
  3. c#中泛型参数与object参数导致重写无效。
  4. 经济危机下企业倒闭的真相
  5. Core Java笔记 6.部署应用程序
  6. postgresql 分词_使用PostgreSQL进行中文全文检索
  7. 【译】《学习JavaScript设计模式》(二)
  8. 关于ContentResolver
  9. koajs mysql_koajs 项目实战(一)
  10. 计算机回收站设置大小,电脑怎么设置回收站容量 电脑回收站的数据文件位置在哪...
  11. excel公式编辑器_无需支付!免费领取!极度公式丨专业公式 OCR 识别编辑软件...
  12. js插件---弹出层sweetalert2
  13. 华为服务器上安装vm系统,云服务器安装vm教程
  14. eclipse 使用 firebase analysis sdk
  15. window.open 在Safari中被拦截
  16. CFileDialog 和 CFileDialog构造函数
  17. DIAView高级视频教程
  18. Kettle的安装和使用
  19. ijkplayer的简单使用
  20. %2d与%.2d的区别

热门文章

  1. 中国四大名著的文化价值
  2. 生成专题2 | 图像生成评价指标FID
  3. wh计算公式_锂电池计算公式wh 锂电池的mah和wh如何换算?
  4. 利用ViewItems来管理我们ListView项之间的drag-and-drog
  5. 共享计算机如何建快捷方式,创建快捷方式的几种方法
  6. mbr+bios gpt+uefi_小白安装系统之LEGACY、UEFI、GPT和MBR
  7. EXCEL的各种“空”的区别:blank,““ , 0 ,以及 VBA里的各种空值:empty,null,nothing 等
  8. Vue 动态响应数据变化
  9. 电吉他弦距测试软件,测吉他弦距的简单方法
  10. C语言求余运算符的使用