- (2021年7月30日)同心環Tagに移行。
子供の頃から「円周や円の面積や球の表面積や体積を求める式」と半径(Radius)と直径(Diameter)が裏側でどう繋がっているか気になって仕方がありませんでした。そして、とうとう…
#微積分概念導入による部分的解決
【Python演算処理】半径・直径・円周長・円の面積・球の表面積・球の体積の計算上の往復
やがて微積分概念を知り、以下を連続的に考えられる様になりました。まぁ面倒な検算は全てコンピューターにやらせてしまえばいいのです。
半径rの円の面積πr^2 ⇄ 円周長2πr
import sympy as sp
r,f,g,h = sp.symbols('r,f,g,h')
#元関数
f=sp.pi*r**2
#半径rの円の面積(pi*r^2)をrで微分すると
#円周の長さ(2*pi*r)となる。
g=sp.diff(f,r,1)
#逆に円周の長さ(2*pi*r)をrで積分すると
#半径rの円の面積(pi*r^2)になる。
h=sp.integrate(g,r)
#画面表示
sp.init_printing()
display(f)
print(sp.latex(f))
display(g)
print(sp.latex(g))
display(h)
print(sp.latex(h))
元関数
\pi r^{2}
微分結果
2 \pi r
再積分結果
\pi r^{2}
半径rの球の体積(4/3pir^3) ⇄ 球の表面積(4pir^2)
import sympy as sp
r,f,g,h = sp.symbols('r,f,g,h')
#元関数
f=sp.Rational(4,3)*sp.pi*r**3
#半径rの球の体積(4/3*pi*r^3)をrで微分すると
#球の表面積(4*pi*r^2)となる。
g=sp.diff(f,r,1)
#逆に球の表面積(4*pi*r^2)をrで積分すると
#半径rの球の体積(4/3*pi*r^3)となる。
h=sp.integrate(g,r)
#画面表示
sp.init_printing()
display(f)
print(sp.latex(f))
display(g)
print(sp.latex(g))
display(h)
print(sp.latex(h))
元関数
\frac{4 \pi r^{3}}{3}
微分結果
4 \pi r^{2}
再積分結果
\frac{4 \pi r^{3}}{3}
ちなみに引数の変遷は所謂「微積分における冪乗算の不定積分公式」通り。
\int x^b dx=\frac{1}{β+1} x^{β+1}
ただしこの計算式にはβ=-1の時に分母が0になる問題があり、実際には別の計算方法で代用されています。この話も別途奥が深い…
【数理考古学】冪乗算(Exponentiation)の微積分
import sympy as sp
a,x,f,g,h = sp.symbols('a,x,f,g,h,i,j')
#元関数
f=a**x
#f'(x)一階微分
g=sp.diff(f,r,1)
#f''(x)二階微分
h=sp.diff(f,r,2)
#f'(x)一階積分
i=sp.integrate(g,r)
#f''(x)二階積分
j=sp.integrate(i,r)
#画面表示
sp.init_printing()
display(f)
print(sp.latex(f))
display(g)
print(sp.latex(g))
display(h)
print(sp.latex(h))
display(i)
print(sp.latex(i))
display(j)
print(sp.latex(j))
元関数
a^{x}
一階微分
a^{x} \log{\left(a \right)}
二階微分
a^{x} \log{\left(a \right)}^{2}
一階積分
\begin{cases} \frac{a^{x}}{\log{\left(a \right)}} & \text{for}\: \log{\left(a \right)} \neq 0 \\x & \text{otherwise} \end{cases}
二階積分
\begin{cases} \begin{cases} \frac{a^{x}}{\log{\left(a \right)}^{2}} & \text{for}\: \log{\left(a \right)}^{2} \neq 0 \\\frac{x}{\log{\left(a \right)}} & \text{otherwise} \end{cases} & \text{for}\: \left(a \geq 0 \wedge a < 1\right) \vee a > 1 \\\frac{x^{2}}{2} & \text{otherwise} \end{cases}
さらには球の表面積4πr^2をもう1回微分すると得られる8πrなる式に邂逅して困惑が広がります。え、どういう事、それ…
面積の微分はどこの長さ? - Biglobe
球の体積を微分すると、球の表面積になりますが…
#N次元球概念導入による完全解決
そしてとうとう今月(2021年3月)になって辿り着いたのがこの概念。調べた限りでは、どうやら大学数学では「つまらない一般教養」の範囲に過ぎないらしい?
【Python演算処理】半径・直径・円周長・円の面積・球の表面積・球の体積の計算上の往復
①式$c_n = \frac{\pi^{\frac{n}{2}}}{\Gamma(\frac{n}{2}+1)}$に従って、半径rのn次元球の体積は $c_n r^n$、表面積は$n c_nr^{n−1}$と規約される。
②$n=1$の時は$C_n=\frac{\pi^{\frac{1}{2}}}{\Gamma(\frac{1}{2}+1)}=2$なので、1次元球の体積(直径)は2rと規約される。
import math as m
def f0(n):
return m.pi**(n/2)/m.gamma(n/2+1)
print(f0(1))
#出力結果
1.9999999999999998
③$n=2$の時は$C_n=\frac{\pi^{\frac{2}{2}}}{\Gamma(\frac{2}{2}+1)}=\pi$なので、2次元球の体積(面積)は$\pi r^2$、表面積(円周長)は$2 \pi r$と規約される。
import math as m
def f0(n):
return m.pi**(n/2)/m.gamma(n/2+1)
print(f0(2))
print(m.pi)
#出力結果
3.141592653589793
3.141592653589793
④$n=3$の時は$C_n=\frac{\pi^{\frac{3}{2}}}{\Gamma(\frac{3}{2}+1)}=\frac{3}{4} \pi$なので、3次元球の体積は$\frac{3}{4} \pi r^3$、表面積は$4 \pi r^2$と規約される。
import math as m
def f0(n):
return m.pi**(n/2)/m.gamma(n/2+1)
print(f0(3))
print(4/3*m.pi)
#出力結果
4.1887902047863905
4.1887902047863905
⑤$n=4$の時は$C_n=\frac{\pi^{\frac{4}{2}}}{\Gamma(\frac{4}{2}+1)}=\frac{1}{2} \pi^2$なので、4次元球の体積は$\frac{1}{2} r^4$、表面積は$2 \pi^2 r^3$と規約される。
import math as m
def f0(n):
return m.pi**(n/2)/m.gamma(n/2+1)
print(f0(4))
print(1/2*m.pi**2)
#出力結果
4.934802200544679
4.934802200544679
確かに、こう考えれば何もかもスッキリしますね(棒読み)。
ガンマ関数 - Wikipedia
互いに同値となるいくつかの定義が存在するが、1729年、数学者レオンハルト・オイラーが無限乗積の形で、最初に導入した。
なんとこの概念の発端は18世紀まで遡り、例によって例の如くオイラーが先鞭をつけていたとは。本当にオイラーはブルバキみたいな集団ペンネームじゃなかったの? そんな感じで以下続報…