算額(その1533)
奈良県奈良市 円満寺 天保 15 年
http://www.wasan.jp/nara/enman.html
奈良県奈良市下山町 円満寺 天保15年(1844)
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:等差数列
#Julia, #SymPy, #算額, #和算
簡単なものも,絨毯爆撃していく。
甲,乙,丙の正方形において,甲,乙の一辺の二乗和が 724,乙,丙の一辺の二乗和が 580 である。また,それぞれの辺の長さは 2 寸ずつの差がある。
甲,乙,丙の一辺の長さを a, b, c; a > b > c
甲,乙の一辺の二乗和を K1
乙,丙の一辺の二乗和を K2
辺の長さの差 K3
とおき,以下の連立方程式を解く。
using SymPy
@syms a::positive, b::positive, c::positive,
K1::positive, K2::positive, K3::positive
eq1 = a^2 + (a - K3)^2 - K1
eq2 = b^2 + (b - K3)^2 - K2
res2 = solve([eq1, eq2], (a, b))[4]; # 3 of 4
# 甲
res2[1] |> println
res2[1](K1 => 724, K2 => 580, K3 => 2) |> println
K3/2 + sqrt(2*K1 - K3^2)/2
20
# 乙 = 甲 - K3
res2[2] |> println
res2[2](K1 => 724, K2 => 580, K3 => 2) |> println
K3/2 + sqrt(2*K2 - K3^2)/2
18
# 丙 = 甲 - 2K3
res2[2] - K3 |> println
(res2[2] - K3)(K1 => 724, K2 => 580, K3 => 2).evalf() |> println
-K3/2 + sqrt(2*K2 - K3^2)/2
16.0000000000000
甲,乙,丙の一辺の長さはそれぞれ,20 寸,18 寸,16 寸である。
辺の長さの差 K3 を使わないで連立方程式を立ててもよい。
当然,同じ数値解が得られるが,数式解の見た目は複雑になる。
using SymPy
@syms a::positive, b::positive, c::positive,
K1::positive, K2::positive, K3::positive
eq1 = a^2 + b^2 - K1
eq2 = b^2 + c^2 - K2
eq3 = (a - b) - (b - c)
res = solve([eq1, eq2, eq3], (a, b, c))[1]; # 1 of 2
# 甲
res[1] |> println
res[1](K1 => 724, K2 => 580).evalf() |> println
sqrt(2)*(-K1 + K2 - 2*sqrt(-K1^2 + 6*K1*K2 - K2^2))*sqrt(-K1 + 7*K2 - sqrt(-K1^2 + 6*K1*K2 - K2^2))/(4*(K1 - 5*K2))
20.0000000000000