裏 RjpWiki

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

算額(その1184)

2024年08月05日 | Julia

算額(その1184)

(9) 安井金比羅宮
近畿数学史学会:近畿の算額「数学の絵馬を訪ねて」,平成4年5月16日 初版第一刷,大阪教育図書株式会社,大阪市.
キーワード:階差数列

あらたまの春し来ぬれば,おのづから空もうららに少女子が手毬つく音を数うれば,
はじめ,ひふみよいつむななやつここのつと聞こえたり,
二度目は二十三にして,三度は四十五ぞと云う,
四度は七十五なるぞと,
次第に増して終わりに成りて三千四百ふたそ五つまで続けつきたる手振りこそ幾たびならん聞かまほしけれ

意訳すれば,手毬をついた。最初は 9 回,2回目は 23 回,3回目は 45 回,4回目は 75 回ついた。だんだん増えていき,終いには 3425 回もついた!
3425 回ついたのは何回目か?

n 回目の手毬をついた回数 a[n] の第 2 階差が定数 8 なので,a[n] は n の二次式で表すことができる。
a[n] = α + n*β + n^2*γ とおき,α,β,γ を決定する。

include("julia-source.txt");

using SymPy
@syms α, β, γ, n
eq1 = α + β + γ - 9
eq2 = α + 2β + 4γ - 23
eq3 = α + 3β + 9γ - 45
# eq4 = α + 4β + 16γ - 75

res = solve([eq1, eq2, eq3], (α, β, γ))
res |> println

   Dict{Sym{PyCall.PyObject}, Sym{PyCall.PyObject}}(α => 3, γ => 4, β => 2)

eq = 3 + 2n + 4n^2 - 3425
res = solve(eq, n)[2]  # 2 of 2
res |> println

   29

n = 29
3 + 2n + 4n^2

   3425

一般化すると,

@syms n,  m
eq02 = 3 + 2n + 4n^2 - m
res2 = solve(eq02, n)[2]  # 2 of 2

「術」は,これを,「其数をよつにかえしてたいらかにひらきつきぬはすててこそしれ」と書いている。
「その数を 4 で割って,平方根を求め,整数部を取れ」ということだ。

sqrt(3425/4)

   29.261749776799064

n = 1:29
a = @. 3 + 2n + 4n^2;
plot(n, a, label="")
scatter!(n, a, label="")

 


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

コメントを投稿

Julia」カテゴリの最新記事