今天早上同學問了我有關伽馬函式和$n$維空間的球體積之間的關係,我記得我以前想要研究,但是並沒有落實。既然她提問了,那麼就完成這未完成的計畫吧。
標準思路#
簡單來說,$n$維球體積就是如下$n$重積分
$$v_n(r)=\int_dx_1 dx_2\dots dx_n$$
用更加幾何的思路,我們通過一組平行面($n-1$維的平行面)分割,使得$n$維球分解為一系列近似小柱體,因此,可以得到遞推公式
$$v_n (r)=\int_^r v_ \left(\sqrt\right)dt$$
設$t=r\sin\theta_1$,就有
$$v_n (r)=r\int_}^} v_ \left(r\cos\theta_1\right)\cos\theta_1 d\theta_1$$
迭代一次就有
$$v_n (r)=r^2\int_}^}\int_}^} v_ \left(r\cos\theta_1\cos\theta_2\right)\cos\theta_1\cos^2\theta_2 d\theta_1 d\theta_2$$
迭代$n-1$次
$$\beginv_n (r)=&r^\int_}^}\dots\int_}^}\int_}^} v_1\left(r\cos\theta_1\cos\theta_2\dots \cos\theta_\right)\times\\
&\cos\theta_1\cos^2\theta_2\dots\cos^\theta_ d\theta_1 d\theta_2\dots d\theta_\end$$
其中$v_1 (r)=2r$,即兩倍半徑長的線段。從而
$$v_n (r)=2r^\int_}^}\dots\int_}^}\int_}^} \cos^2\theta_1\cos^3\theta_2\dots\cos^\theta_ d\theta_1 d\theta_2\dots d\theta_$$
完成這個積分,最終就得到$n$維球體積的公式,這個積分自然是可以求出來的(只是$n-1$個一維積分的乘積)。但是這樣的步驟太不容易了,為了將其跟伽馬函式聯絡起來,還要做很多任務作。總的來說,這是乙個不容易記憶、也不怎麼漂亮的標準方法。
絕妙思路#
有乙個利用高斯積分的絕妙技巧,能夠幫助我們直接將球體積跟伽馬函式聯絡起來,整個過程堪稱鬼斧神工,而且給人「僅此一家,別無分號」的感覺。據說這個技巧為物理系學生所知曉,我是從百讀文庫看到的,原始**則是《熱力學與統計力學》顧萊納(德),例5.2 理想氣體的熵的統計計算。
這一絕妙的思路,始於我們用兩種不同的思路計算高斯積分
$$g(n)=\int_^\dots\int_^\int_^ \exp\left(-x_1^2-x_2^2-\dots-x_n^2\right)dx_1 dx_2 \dots dx_n\tag$$
一方面,將$(1)$當作$n$次累次積分,因為我們已經算得(可以參考這裡)
$$\int_^\exp(-t^2)dt=\sqrt$$
而$(1)$只不過是這樣的$n$個積分的乘積,因此
$$g(n)=\pi^\tag$$
另一方面,將$(1)$當作$n$重積分,由於積分變數只是跟徑向長度$r=\sqrt$有關的變數,因此很容易聯想到球座標,在$n$維空間中,可以稱為「超球座標」,不需要將超球座標完整寫出來,只需要注意到,球內的積分,可以化為先對「球殼」進行積分,然後再對球半徑進行積分。
$$g(n)=\int_^dr\int_\exp\left(-r^2\right)ds_n\tag$$
這裡的$s_n(r)$是半徑為$r$的$n$維球體表面(以及表面積,在不至於混淆的情況下,這裡不作區分)。但是注意到,被積函式只跟$r$有關,因此對球表面進行積分,等價於原函式乘以球的表面積而已,因此$(2)$式的結果為
$$g(n)=\int_^dr\exp\left(-r^2\right)s_n(r)\tag$$
雖然我們不知道$n$維球的體積和表面積公式,但是我們可以肯定,$n$維球的體積一定正比於$r^n$,即有
$$v_n (r)=v_n(1)r^n$$
球的表面積,就是球體積的一階導數(考慮球殼分割),那麼
$$s_n (r)=n v_n(1)r^$$
代入$(4)$,得到
$$\beging(n)=&n v_n(1)\int_^r^\exp\left(-r^2\right)dr\\
=&\fracn v_n(1)\int_^(r^2)^\exp\left(-r^2\right)d(r^2)\\
=&\fracn v_n(1)\int_^z^\exp\left(-z\right)dz\quad\left(z=r^2\right)\\
=&\fracn v_n(1)\gamma\left(\frac\right)\end\tag$$
結合$(2)$得
$$\pi^=g(n)=\fracn v_n(1)\gamma\left(\frac\right)$$
從而$$v_n(1)=\frac}n\gamma\left(\frac\right)}=\frac}+1\right)}$$
最後$$v_n(r)=\frac}+1\right)}r^n$$
就這樣得到了$n$維球體積公式!!對$r$求導得到$n$維球表面積公式
$$s_n(r)=\frac}\right)}r^$$
結合前後兩個方法,就得到
$$\frac}+1\right)}=2\int_}^}\dots\int_}^}\int_}^} \cos^2\theta_1\cos^3\theta_2\dots\cos^\theta_ d\theta_1 d\theta_2\dots d\theta_$$
簡單評述#
該技巧相當漂亮、簡潔,其中高斯積分、球座標變換這些都是物理系學生很熟悉的,只需簡單峰迴路轉,就把結果給算了出來,這儼然就是只有物理系學生才能想出來的絕妙思路!
更妙的是,我們發現這一思路如此奇妙,以至於我們想用它來做更多的事情,但是稍微研究之後就會得到結論:不能再做什麼了!也就是說,整個過程似乎就只為計算$n$維球體積而訂製的!真的是「只此一家,別無分號」!妙哉~~
打賞支付寶打賞
蘇劍林. (2014, dec 23). 《鬼斧神工:求n維球的體積 》[blog post]. retrieved from
求兩個球的體積並
兩個球和兩個圓一樣,有三種情況。相交,分離 包括兩種情況 對於分離的兩種情況,好計算。但是對於相交的情況,不好計算。需要計算球冠的大小。就是這樣。昨天晚上牛客上有乙個關於這樣的題 如下 includeusing namespace std const double pi acos 1.0 doubl...
C語言 求球的表面積和體積
1.相關數學公式 球體表面積公式 s 4 r d 球體體積公式 2.演算法分析 計算表面積和體積,均依賴球體半徑。所以需要先輸入球體半徑,然後根據公式計算出球體表面積和體積。最終輸出。3.include define pi 3.1415927 定義 值,根據需要確定精度。intmain 4.注意事項...
python計算6的階乘 python求n的階乘
階乘是基斯頓 卡曼 christian kramp,1760 1826 於1808年發明的運算符號,是數學術語。乙個正整數的階乘 factorial 是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n 下面我們來看一下使用python計算n的階乘的方法 第一種 利用functo...