裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

算額(その1533)

2025年01月13日 | Julia

算額(その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

 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 算額(その1532) | トップ | 算額(その1534) »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Julia」カテゴリの最新記事