算額(その1596)
三重県伊賀市上野東町 菅原神社(上野天神宮) 嘉永7年(1854)
深川英俊,トニー・ロスマン:聖なる数学:算額,p. 116,森北出版株式会社,2010年4月22日.
キーワード:体積,級数
#Julia, #SymPy, #算額, #和算, #数学
底面が辺の長さ a の正三角形で高さも a である大きな角錐を逆さにして酒を満たし,その体積を V0 とする。
これより 1 石 2斗 5 升(125升)をくみ出して残りを 2 倍にする。次に同じように 125 升をくみ出して残りを 2 倍にする。こうして 10 回目に 125 升をくみ出すと残りが無くなった。さて,この容器の体積 V を求めよう。また 1 升は一辺が 4.0172 寸の立方体としたとき,a を寸で求めよ。
深川英俊,トニー・ロスマン:聖なる数学:算額,p. 114,森北出版株式会社,2010年4月22日.
キーワード:等比級数
#Julia, #SymPy, #算額, #和算, #数学
酒の量は,
V0 : 初期値
V1 = 2(V0 - 125) : 1 回目の操作の後の酒の量
V2 = 2(V1 - 125) : 2 回目の操作の後の酒の量
:
V10 = 2(V9 - 125) : 10 回目の操作の後の酒の量 = 0
となる。最後の V10 の中の V9 に直前の V9 を代入して...を繰り返し,V10 を V0 で表した方程式を解けばよいが,面倒。
繰り返し作業はコンピュータの最も得意とする所。以下のようにして簡単に解くべき方程式を得ることができる。
等比級数だとか等比級数の和だとか,なんにも考える必要がない。
using SymPy
@syms V[1:11]::positive, V0::positive
V[1] = V0 # 初期状態
for i in 2:11 # 操作を繰り返す。結果は配列の中に代入されていく。
V[i] = 2(V[i - 1] - 125)
end
V[1] |> println
V0
V[2] |> println
2*V0 - 250
V[3] |> println
4*V0 - 750
V[11] |> println # 10 回目の操作が終わった段階での量。
1024*V0 - 255750
ans_V0 = solve(V[11], V0)[1] # 1024*V0 = 255750 を解くということ
ans_V0 |> println # これが「0」であるということなので,方程式を解く。
127875/512
体積は 249.755859375 升である。
ans_V0.evalf() |> println
249.755859375000
(1) 底面が一辺 a 寸の正三角形で高さが a の三角錐の体積は (a/2 * √3a/2 * a / 3) で単位は「立法寸」
(2) V0 の単位は「升」なので,「立法寸」にするためには 4.0172 を掛ける。(4.0172^3 立法寸 = 1 升)
(1),(2) が等しいとして,以下の方程式を解いて a を求める。
@syms a
eq = (a/2 * √3a/2 * a / 3) - ans_V0*4.0172^3 # (1) - (2) = 0
solve(eq, a)[1] |> println
48.2283298085359
a = 48.2283298085359 寸である。