遊び tokidoki 仕事

数学と音楽と教育と遊び

Top | おしごと | ゼミ | がくせい | すうがく | かがく | きょういく | おんがく | おきにー | Tips | Photo | イベント | ものもう | あれこれ | About

バランスをとる数(2)ー連分数という力学系

ミイラ取りがすっかりミイラになった感のある前回のエントリー.
tokidoki.hatenablog.jp

前回の結果はまとめると
\[
2\sum_{k=a}^x k=\sum_{k=a}^b k
\]を満たす組(a,b,x)は互いに素なp,qによって,p,q何れかが偶数なら
\[
(a,b,x)=\left((p+q)^2-2q^2,(p+q)^2-2p^2,p^2+q^2\right),
\]何れも奇数なら
\[
(a,b,x)=\left(\frac{(p+q)^2-2q^2}{2},\frac{(p+q)^2-2p^2}{2},\frac{p^2+q^2}{2}\right)
\]と表されるということだった.こうしてあらゆる解がパラメータp,qで表現できると分かったものの,特定の解だけ抜き出そうとするとそれはそれでまた話が膨らむようなのだ.例えばa=1と固定した場合,どのようなp,qならば
\[
(p+q)^2-2q^2=1
\]を満たすだろうか?といった問題に変わる.
実はこの話,ラマヌジャンが直感的に解いたという逸話があるそうで,それは
\[
2\sum_{k=1}^x k=\sum_{k=1}^b k
\]の解(b,x)\sqrt{2}の連分数展開を使って求める話だなのだが,先に進む前に今回は連分数展開の力学系としての私なりの解釈を書き留めておこうと思った.というのも連分数が出てくる度,その見方を思い出すのに時間がかかってきたからだ.



無理数\alpha>0の連分数展開が
\[
\alpha=[a_0;a_1,a_2,\dots]=a_0+\frac{1}{a_1+\displaystyle\frac{1}{a_2+\cdots}}
\]となっているとする.これは帰納的に
\[
\alpha_{n}=a_n+\frac{1}{\alpha_{n+1}},\ a_n=\lfloor\alpha_n\rfloor
\]つまり
\[
\alpha_{n+1}=\frac{1}{\alpha_n-a_n},\ \alpha_0=\alpha
\]とも表せる.要するに
\[
T(x)=\frac{1}{x-\lfloor x\rfloor}
\]なる力学系を考えているに他ならない.が,近似分数を思うならば,これを分母分子を意識した形で書き直したい.傾きxを傾き\displaystyle\frac{1}{x-a}に移す2次元の変換として捉えることを考えよう.なおa=\lfloor x\rfloorとした.もちろんそのような変換はスカラー倍だけ自由度があるが,標準基底をe_1=(1,0),e_2=(0,1)として
\[
e_1+xe_2=(e_1+ae_2)+(x-a)e_2=e'_2+(x-a)e'_1
\]なる変換,つまり
\[
(e_1\ e_2)\mapsto (e'_1\ e'_2)=(e_1\ e_2)\begin{pmatrix} 0 & 1\\ 1 & a \end{pmatrix}
\]ならば図形的にもやっていることが分かりやすい.
f:id:okiraku894:20170704181853p:plain

したがって\alphaの連分数展開[a_0;a_1,a_2,\dots] は基底変換
\[
(e_1\ e_2)\mapsto(e'_1\ e'_2)=(e_1\ e_2)\begin{pmatrix} 0 & 1\\ 1 & a_0 \end{pmatrix}
\]\[
(e'_1\ e'_2)\mapsto(e''_1\ e''_2)=(e'_1\ e'_2)\begin{pmatrix} 0 & 1\\ 1 & a_1 \end{pmatrix}
=(e_1\ e_2)\begin{pmatrix} 0 & 1\\ 1 & a_0 \end{pmatrix}\begin{pmatrix} 0 & 1\\ 1 & a_1 \end{pmatrix}
\]を繰り返していく操作と読み替えられる.さらにn回目の基底変換では
\[
(e^{(n)}_1\ e^{(n)}_2)=(e^{(n-1)}_1\ e^{(n-1)}_2)\begin{pmatrix} 0 & 1\\ 1 & a_{n-1} \end{pmatrix}
=(e_1\ e_2)\begin{pmatrix} 0 & 1\\ 1 & a_0 \end{pmatrix}
\begin{pmatrix} 0 & 1\\ 1 & a_1 \end{pmatrix}\cdots
\begin{pmatrix} 0 & 1\\ 1 & a_{n-1} \end{pmatrix}
\]と書けるのでe^{(n)}_1=e^{(n-1)}_2が分かる.さらに
\[
e^{(n+1)}_2=e^{(n)}_1+a_ne^{(n)}_2=a_ne^{(n)}_2+e^{(n-1)}_2,
\]したがって
\[
e^{(n+1)}_1=e^{(n)}_2=e^{(n-1)}_1+a_{n-1}e^{(n-1)}_2=a_{n-1}e^{(n)}_1+e^{(n-1)}_1
\]と書けるのでe^{(n+1)}_1=e^{(n)}_2=p_ne_1+q_ne_2と表せば,近似連分数に関する漸化式
\[
q_{n+1}=a_nq_n+q_{n-1}
\]および
\[
p_{n+1}=a_{n-1}p_n+p_{n-1}
\]が得られる.こうして近似分数
\[
\frac{q_n}{p_n}=[a_0;a_1,a_2,\dots,a_{n-1}]
\]にたどり着く.



ところで この行列表示
\[
(e^{(n)}_1\ e^{(n)}_2)
=(e_1\ e_2)\begin{pmatrix} 0 & 1\\ 1 & a_0 \end{pmatrix}
\begin{pmatrix} 0 & 1\\ 1 & a_1 \end{pmatrix}\cdots
\begin{pmatrix} 0 & 1\\ 1 & a_{n-1} \end{pmatrix}
=(e_1\ e_2)\begin{pmatrix} p_{n-1} & p_n\\ q_{n-1} & q_n \end{pmatrix},
\]連分数近似に関する諸性質が容易に得られるのが嬉しい.例えば行列式が
\[
\begin{vmatrix} p_{n-1} & p_n\\ q_{n-1} & q_n \end{vmatrix}
=\begin{vmatrix} 0 & 1\\ 1 & a_0 \end{vmatrix}
\begin{vmatrix} 0 & 1\\ 1 & a_1 \end{vmatrix}\cdots
\begin{vmatrix} 0 & 1\\ 1 & a_{n-1} \end{vmatrix}
=(-1)^n
\]となって,
\[
p_{n-1}q_n-p_nq_{n-1}=(-1)^n
\]が得られ,隣接近似分数の距離が
\[
\left|\frac{q_n}{p_n}-\frac{q_{n-1}}{p_{n-1}}\right|=\left|\frac{p_{n-1}q_n-p_nq_{n-1}}{p_np_{n-1}}\right|=\frac{1}{p_np_{n-1}}
\]と分かる.あるいはこの行列表示を転置すると
\[
\begin{pmatrix} 0 & 1\\ 1 & a_{n-1} \end{pmatrix}
\begin{pmatrix} 0 & 1\\ 1 & a_{n-2} \end{pmatrix}\cdots
\begin{pmatrix} 0 & 1\\ 1 & a_0 \end{pmatrix}
=\begin{pmatrix} p_{n-1} & q_{n-1}\\ p_n & q_n \end{pmatrix},
\]となるが,これは連分数[a_{n-1};a_{n-2},\dots,a_0]に対応するから
\[
[a_{n-1};a_{n-2},\dots,a_0]=\frac{q_n}{q_{n-1}}
\]が分かり,同時に行列表示の第一列の意味を考えれば
\[
[a_{n-1};a_{n-2},\dots,a_1]=\frac{p_n}{p_{n-1}}
\]も分かる.

バランスをとる数(1)―入り口は1+2=3

f:id:okiraku894:20170701091700p:plain
いまや当大学における絶滅危惧レッドリストの筆頭に挙げられる数学同人Sigmaでのある一幕.
ホーム - aue-sigma ページ!
www.aichi-edu.ac.jp

久しぶりに教育実習から返ってきたメンバーが「実習中にこんなこと見つけた」と鼻息荒く話していた話題なんだが,それは例えば
\[1+2=3\]\[4+5+6=7+8\]\[9+10+11+12=13+14+15\]\[16+17+18+19+20=21+22+23+24
\]といった連続整数の和についての等式だった.つまり一般に
\[
\displaystyle\sum_{k=0}^a (a^2+k)=\sum_{k=a+1}^{(a+1)^2-1}(a^2+k)
\]ということだ.あるいは
\[
\displaystyle2\sum_{k=0}^a (a^2+k)=\sum_{k=0}^{(a+1)^2-1}(a^2+k)
\]と言い換えても良い.そしてこれは任意の自然数aについて確かに正しいことが計算すれば分かる.



さて,本当の遊びはここからだ.では一般に
\[
\displaystyle2\sum_{k=a}^x k=\sum_{k=a}^b k
\]となるような自然数a\le x\le bの組はどんなものだろうか?計算すれば
\[
2(x-a+1)(x+a)=(b-a+1)(b+a)
\]すなわち
\[
2(2x+1)^2=(2a-1)^2+(2b+1)^2
\]となる.X=2x+1,A=2a-1,B=2b+1と置けば奇数A,X,Bの組で
\[
A^2+B^2=2X^2
\]を満たすものを探せということになる.あるいはs=\frac{A}{X},t=\frac{B}{X}と置けば,
\[
s^2+t^2=2
\]を満たす有理点(s,t)で,分母分子共に奇数になっているものを探せ,ということになる.


そこでとりあえず有理点(s,t)を探すわけだが,例えば(s,t)=(\pm1,\pm1)などがすぐ見つかる.
図形的に見やすい(-1,-1)を足がかりに,有理数m>0を傾きとする直線 t=m(s+1)-1s^2+t^2=2 の交点を考えよう.
すでに(-1,-1)が交点,すなわちこの二式の連立の解なので,2次方程式
\[
s^2+(m(s+1)-1)^2=2
\]は(s+1)で括られ,残りの解が
\[
\displaystyle s=\frac{1+2m-m^2}{m^2+1},t=\frac{m^2+2m-1}{m^2+1}
\]と得られる.あとはm=\frac{q}{p}と既約分数で表示したとき,s,t共に\frac{\text{奇数}}{\text{奇数}}となっているかを確認すればよい.計算すると
\[
s=\displaystyle\frac{p^2+2pq-q^2}{p^2+q^2},t=\frac{q^2+2pq-p^2}{p^2+q^2}
\]となり,p,q いずれか一方のみが奇数なら分母分子共に奇数,p,qいずれも奇数ならば
\[
p^2+q^2\equiv p^2+2pq-q^2\equiv q^2+2pq-p^2\equiv 2\pmod{4}
\]となるため,約分すればやはり分母分子共に奇数と分かる.


こうして任意の有理数mに対する組(s,t)が求めるもの全てとなり,更にp,qいずれか一方のみ奇数ならば
\[
A=p^2+2pq-q^2,B=q^2+2pq-p^2,X=p^2+q^2,
\]p,q共に奇数ならば
\[
A=\displaystyle \frac{p^2-q^2}{2}+pq,B=\frac{q^2-p^2}{2}+pq,X=\frac{p^2+q^2}{2}
\]と得られる.


もっとも,元の問題に立ち戻れば自然数和を考えていたので,
\[
A=p^2+2pq-q^2=(p+q)^2-2q^2\ge 0
\]\[
B=q^2+2pq-p^2=(p+q)^2-2p^2\ge 0
\]という条件,すなわち
\[
(\sqrt{2}-1)p\le q\le (\sqrt{2}+1)p
\]がp,qに課されている.例えばこの条件下にあるq=p+1ならば,
\[
A=2p^2-1,B=2(p+1)^2-1,X=2p^2+2p+1,
\]すなわち
\[
a=p^2,b=(p+1)^2-1,x=p^2+p
\]となって,冒頭の学生が発見した等式に戻る.

また(p,q)=(3,5)とすると(A,B,X)=(7,23,17)すなわち(a,b,x)=(4,11,8)となり,新たな等式
\[
4+5+6+7+8=9+10+11
\]が見つかる.あるいは(p,q)=(4,7)とすると(A,B,X)=(23,89,65),すなわち(a,b,x)=(12,44,32)となって,別の新たな等式
\[
12+13+\cdots+32=33+34+\cdots+44
\]が得られる.q=2pも条件下にあり,このときは
\[
A=p^2,B=7p^2,X=5p^2
\]と綺麗な形になり,奇数pに対して新たな系列
\[
a=\frac{p^2+1}{2},b=\frac{7p^2-1}{2},x=\frac{5p^2-1}{2}
\]が得られる.



使っているのは高校数学程度なんだが,結構面白い.
おやおや,なんだかミイラ取りがミイラになりかかっているぞ...

今年もガッサガッサしてみた

この時期は毎年,担当講義である統計とコンピュータにてガッサガッサする実験をする.
tokidoki.hatenablog.jp

今年で3年目となるこの実験の元ネタは,啓林館のページにあった授業実践だった.
www.shinko-keirin.co.jp

ただし,気をつけないと隣のクラスからうるさいと言われかねない.
(実際,今年は隣で講義をされていた先生が何事かとそっと教室を見に来た.)
f:id:okiraku894:20150601112752j:plain

3年目ともなると結構な数の実験になる.一人50回×3年間実験参加者数272=13600回だ.
そうして得られた結果が以下.
f:id:okiraku894:20170626121052p:plain
ここまでくると コイン>ピン>キャップ のこの順が入れ替わるなんてことは
とんでもなく低い確率になろう.
実際,10×標準偏差分の幅を取ってやっとコインとピンが入れ替わる可能性が出てくる.
そしてその確率は7.7\times10^{-23}程度だ.
そんな評価ができるのも中心極限定理のおかげなんだが,
やっぱり学生にちっとも伝わらないのがこの現象.
もちろん今年も正方形ダーツボードの実験はしてもらうし,
なかなか軽い動作でシミュレーションできるこの回のEXCEL資料は
我ながら気に入っているのでまた掲載するよ↓
f:id:okiraku894:20150607135853g:plain
f:id:okiraku894:20150607145228p:plain

今年はこれに加えて「上か下か」のランダムウォークもEXCEL上で見せようと思った.
f:id:okiraku894:20170626124705p:plain
5本程度,1000ステップ分を描くと↑のようになるが,この程度ではふーんで終わる.
もっと本数を描いてみよう.例えば100本↓
f:id:okiraku894:20170626124706p:plain
こうなってくると形,いわゆる放物線がうっすら見えてくるのではなかろうか.
そしてこれらの軌跡は中心0に近いほど密度が高くなっている.
いるのだけどこれが平面では見せられない.
ということで今度は OpenProcessing にて立体的にこれを見せられるようにしてみた↓

上部は密度を立体的に表示し,その足元の影がランダムウォークの軌跡を表している.
因みに,パスの数が5000以下のときのみランダムウォークを表示するようにした.
それ以上の本数になるとヒストグラムと軌跡両方の表示はどうやら重すぎるので.


ところで全く関係ないが,とある事情によりイベントが急遽行われた.
この場を借りて,あざっす!
f:id:okiraku894:20170623122352j:plain

私の身の回りのべき乗則(2)―名字編

今クールNHKが放映している名字番組
「人名探究バラエティー 日本人のおなまえっ!」ってのがある.
www4.nhk.or.jp
帰宅がてら見るのにちょうど良い番組なのだけど,
レア名字編ではハンコタワー1つ5000種の印鑑で人口の80%がカバーできるとか,
10万種の印鑑の在庫を持つハンコ屋さんがあってそれでも人口の98%だとか,
って話を聞いてると,「おお!冪乗則!」ってなって,早速検索.
直ぐに名字ランキングサイトが見つかる.
以下のグラフはこのページから参照.
myoji-yurai.net
幸いにもその名字におよそ何人いるか,のデータも合わせて書かれてあったので,
冪乗則が調べられる.さてやってみたのが↓
f:id:okiraku894:20170609153627p:plain
EXCELが吐き出す近似曲線がy\fallingdotseq4\cdot 10^7x^{-1.14}で決定係数R^2が0.98を超える.
やはりなかなか良い冪乗則になっている様子.
\log-\log plot が↓
f:id:okiraku894:20170609153628p:plain

それでも何だか二次関数っぽくもあったので,\log_{10}-\log_{10} plotでの二次近似を行うと
X=\log_{10} x,Y=\log_{10} yとして
 Y= -0.189X^2 - 0.0647X + 6.1599,決定係数 R^2 = 0.9997 となった.
因みに,人数が一人,すなわち Y=0 となるのが X\fallingdotseq 5.54 で,
すなわちランキングとしては x=10^X\fallingdotseq 347014 となって,
名字が約29万種あると言われているところからすると,ちょっと多めの評価になる.
もっとも果たして「一人」の状態までカウントして良いのやら,というところでもある.
f:id:okiraku894:20170609173723p:plain


日本の名字は分家制で名字の派生が起こったり同じ読みのまま漢字を変えたり,と
名字の生成/消滅の過程は集団遺伝の力学系のようでもあって,
名字の力学モデルなんてのも考えても面白いのかもしれない.

私の身の回りのべき乗則

それは気のせいなだけなのかもしれないが,
何だかパソコンの動作がモッサリしてきたなぁ,
と思ったときにClean upした後デフラグをかけて,
モッサリがなくすという作業を定期的にしている.

で,そのとき分析結果として各ファイルの断片化数が報告されるわけだが,
それを分断数が多い順に並べ替えると
いわゆる「べき乗則」に従っているように以前から感じていた.
f:id:okiraku894:20170530130948p:plain

で,とある機会に実際にグラフにしてみたところ,なかなか見事な結果になった↓
f:id:okiraku894:20170526180652p:plain
ただし,デフラグのログが取り出せなかったので手打ちでデータを書き写したのだが,
分断数6以下のものは大量すぎて作業から外した.
EXCELによって与えられる近似曲線はy=5557.4x^{-0.95}で,
世にいうZipf則が成り立っているように見える.

それでも図に騙されている気がしたので両側対数軸 \log y/\log x で描いたのが↓
f:id:okiraku894:20170526180653p:plain
なかなか良い感じだ.

実はこの記事を書こうと思ったのは他でもない,
予算が削減されつつある大学の電子ジャーナルを契約更新するか否かの判断材料として
ジャーナルごとのアクセス数のデータをもらったことに始まる.
早速アクセス数の多いジャーナル順にソートして描いてみたら見事なべき乗則↓
f:id:okiraku894:20170526180655p:plain
f:id:okiraku894:20170526180654p:plain
おやおや.

この結果に気を良くして,では世間で言われているweb siteのアクセス数についても
べき乗則が見えるのかと,例えばこのブログの1日あたりアクセス数を
多い順にソートして並べてEXCELで近似曲線まで描かせると
どうもべき乗則ではなく指数分布のほうが決定係数が大きくなる.
(まぁ,決定係数が8種類もあってEXCELがどれを採用しているのか,
 とかいった厄介な話はこの際考えない.)
f:id:okiraku894:20170529121850p:plain

あれれ,何が起こっているのか?と思い両対数グラフを描いたら
\log x=2.5 あたりから急に落ち込んでいた↓
f:id:okiraku894:20170529121851p:plain

ならば\log x=2.5に該当する20アクセス未満の日を切り落とせば良いのか,と描いてみたのが↓
y=253.8x^{-0.408}と今度はべき乗則のほうが決定係数が大きくなった.
f:id:okiraku894:20170529121852p:plain
まぁ,不都合な部分を切り落としたのだから,そりゃべき乗則のほうが良くなるでしょ,
ともいえるのだけど.
そういえば最初のデフラグデータも分断数が小さいものは調べなかったから,
順位の大きい先のほうは切り落としたことになっているわけで,
世にいう「べき乗則」は順位の比較的小さい部分で起こっている話,と理解するものなのかなぁ.