凄いものをみかけましたので、ご紹介いたします。
「AtanMagic」には、256個の有理数が 16x16 の方陣として提供されています。
この256個の有理数では、1から512までの自然数を全て使い、このうち256個の自然数を
分子に、残りの256個を分母として一対一に組み合わせ、できた256個の分数がそのまま既
約になっています。言い換えれば約分操作は一回もしていません。
前述の通りに、16x16 の方陣としてデータ提供されて居るわけですが、各マス目の有理数
にarctan関数を作用させた値で方陣をつくると、これが魔方陣になっていて、縦横斜めそれ
ぞれの総和が 2π になっています。
魔方陣であることを動画化したものが、こちらにあります。
それにしてもどういう発想なんでしょうかね……
GAI さんからのコメントです。(令和6年3月31日付け)
拝見しました。作者ハンドルネーム:TakusiNさん、物凄いですね。
1〜512のすべてを使って16*16=216個の既約分数を作るのもすごいけど、これがarctanで
魔方陣だなんておったまげ〜です。
なんとかこの人に連絡がとれて発見の経緯を聞きたいものですね。
コンピュータでの腕力での解決が趣味だと書かれてはいるが、何かしらの法則や気付きが
無ければ到底無理ですよね。いやー世の中凄い人がいるもんだ。
因みに、第一行の分数を通分してみても、数が莫大過ぎて何にもヒントが取れませんでした。
GAI さんからのコメントです。(令和6年4月1日付け)
規約分数とarctan値がこうもバランスがとれていることに感動したので、では、1〜8 の数字
を一個ずつ使って、2行2列の1より小さい4つの既約分数で可能な限り組合せを作ってみたら
[1/2 3/4]
[5/6 7/8]
----------
[1/2 3/4]
[5/8 6/7]
----------
・・・・・・・・・・・・・・
-----------
[7/8 5/6]
[3/4 1/2]
等の全部で432通りの行列が作れました。
ところが、すべての行列で、この値に対するarctanの値を取った行列には、何の美しい規
則を示すものはありませんでした。
やってはいませんが、たぶん、3次正方行列で、1〜18を用いた9個の既約分数でのタイプ
でも何の手掛かりも得られないものと思われます。
16次まで拡張した行列で、この凄い法則が現れ出ることが益々興味を引き立てます。
16次まで拡張した行列でこの凄い法則が現れ出ることが益々興味を引き立てます。
#SNS のX(旧twitter)で、作者のTokusiNさんに、どうやって作ったのか尋ねていたら、思い
付いたのはマチン系の公式からで、具体的な作成方法はガチガチのコンピューティング
とのことでした。
Dengan kesaktian Indukmu さんからのコメントです。(令和6年4月3日付け)
聞くところによれば、任意の正の整数 q, r について、2つの公式
@: π/4 = arctan(q/(q +r)) +arctan(r/(2*q +r))
A: π/4 = arctan(q/(q -r)) +arctan(r/(2*q -r))
がともに成り立つのだそうで...。
arctan関数への引数はともに真分数であるところがミソです。先の atanmagic でもそうなっ
ていますので使えるかも?
Q[1]からQ[8]まで、R[1]からR[8]までの16個の整数をテキトーに選ぶと、
8*(π/4) =
arctan(Q[1]/(Q[1] +R[1])) +arctan(R[1]/(2*Q[1] +R[1]))
+arctan(Q[2]/(Q[2] +R[2])) +arctan(R[2]/(2*Q[2] +R[2]))
+arctan(Q[3]/(Q[3] +R[3])) +arctan(R[3]/(2*Q[3] +R[3]))
+arctan(Q[4]/(Q[4] +R[4])) +arctan(R[4]/(2*Q[4] +R[4]))
+arctan(Q[5]/(Q[5] +R[5])) +arctan(R[5]/(2*Q[5] +R[5]))
+arctan(Q[6]/(Q[6] +R[6])) +arctan(R[6]/(2*Q[6] +R[6]))
+arctan(Q[7]/(Q[7] +R[7])) +arctan(R[7]/(2*Q[7] +R[7]))
+arctan(Q[8]/(Q[8] +R[8])) +arctan(R[8]/(2*Q[8] +R[8]))
となり、16個のarctan関数の値の総和が 2*πという形を得られます。atanmagic の性質の一
部によく似ています。ちょっとかすっているのかもしれません。
上記は公式@のみでつっぱっていますが、実際には公式Aとの混在でもよい筈です。自由
度が膨れ上がりますが……。
こうした作戦で、今回の魔方陣が作られたのかどうか定かではありませんが……望み薄か
もしれません。
GAI さんからのコメントです。(令和6年4月3日付け)
私も昨日からどうやって構成していけるんだろうかと、ずーっと考え続けています。
私が見つけたマチンの公式もどきとして、一般に1より小さい既約分数の s/t に対するも
ので(tan(π/4)=1だけが唯一有理数となれるので、このパターンは作り易い。)
arctan(s/t)+arctan((t-s)/(t+s))=π/4
の組合せで、必ず、π/4 が作れるので、これより
arctan(1/2)+arctan(1/3)=π/4
arctan(1/4)+arctan(3/5)=π/4
arctan(1/5)+arctan(2/3)=π/4
arctan(1/6)+arctan(5/7)=π/4
arctan(1/7)+arctan(3/4)=π/4
arctan(1/8)+arctan(7/9)=π/4
arctan(1/9)+arctan(4/5)=π/4
arctan(1/10)+arctan(9/11)=π/4
従って、これをすべて足し合わせれば、
A=[1/2,1/3,2/3,1/4,3/4,1/5,3/5,4/5,1/6,1/7,5/7,1/8,1/9,7/9,1/10,9/11]
の16個の既約成分に対し、その arctan 値の和は 2*π を作る。
gp > vecsum(apply(i->atan(i),A))
%=6.28318530717958647692528・・・(=2*π)
しかし、サイトにある16×16次の正方行列の第1行は、
M1=[5/168 ,259/498 ,216/337 ,129/478 ,381/436 ,266/303 ,6/127 ,78/179 ,31/480 ,144/307 ,
210/341 ,43/474 ,174/443 ,172/379 ,271/348 ,41/88]
であるので、この既約分数とセットを組んでπ/4 を産み出していくものは、それぞれ
5/168 VS 163/173
259/498 VS 239/757
216/337 VS 121/553
129/478 VS 349/607
381/436 VS 55/817
266/303 VS 37/569
6/127 VS 121/133
78/179 VS 101/257
31/480 VS 449/511
144/307 VS 163/451
210/341 VS 131/551
43/474 VS 431/517
174/443 VS 269/617
172/379 VS 207/551
271/348 VS 77/619
41/88 VS 47/129
が対応していくこととなる。ところが、右に現れる16個の既約分数は何処にも使われていな
く、しかも163などの数は重複して出現することが起こる。しかも、512よりも大きな数字が使
われることになる。
この方針が、ここでストップすることになった。
そこで、今、複素数での偏角の様子に切り替え、口で解説していくのが大変なので、今検
索を掛けているプログラムで読み取って下さい。
例え存在していても、膨大な時間が要する必要がありそうなんですが・・・・・。
{t=0;}for(a1=2,512,for(a2=1,a1-1,for(a3=3,512,for(a4=2,a3-1,\
for(a5=4,512,for(a6=3,a5-1,for(a7=5,512,for(a8=4,a7-1,\
for(a9=6,512,for(a10=5,a9-1,for(a11=7,512,for(a12=6,a11-1,\
for(a13=8,512,for(a14=7,a13-1,for(a15=9,512,for(a16=8,a15-1,\
for(a17=10,512,for(a18=7,a17-1,for(a19=11,512,for(a20=10,a19-1,\
for(a21=12,512,for(a22=9,a21-1,for(a23=13,512,for(a24=12,a23-1,\
for(a25=14,512,for(a26=11,a25-1,for(a27=15,512,for(a28=14,a27-1,\
for(a29=16,512,for(a30=13,a29-1,for(a31=17,512,for(a32=16,a31-1,\
if(gcd(a1,a2)==1 && gcd(a3,a4)==1 && gcd(a5,a6)==1 && gcd(a7,a8)==1 && \
gcd(a9,a10)==1 && gcd(a11,a12)==1 && gcd(a13,a14)==1 && gcd(a15,a16)==1 &&\
gcd(a17,a18)==1 && gcd(a19,a20)==1 && gcd(a21,a22)==1 && gcd(a23,a24)==1 && \
gcd(a25,a26)==1 && gcd(a27,a28)==1 && gcd(a29,a30)==1 && gcd(a31,a32)==1 && \
imag((a1+a2*I)*(a3+a4*I)*(a5+a6*I)*(a7+a8*I)*(a9+a10*I)*(a11+a12*I)*(a13+a14*I)*(a15+a16*I)*\
(17+18*I)*(19+20*I)*(21+22*I)*(23+24*I)*(25+26*I)*(27+28*I)*(29+30*I)*(31+32*I))==0 , \
print(t++";"a1/a2","a3/a4","a5/a6","a7/a8","a9/a10","a11/a12","a13/a14","a15/a16","\
a17/a18","a19/a20","a21/a22","a23/a24","a25/a26","a27/a28","a29/a30","a31/a32)) \
))))))))))))))))))))))))))))))))
GAI さんからのコメントです。(令和6年4月5日付け)
上記のやり方ではとてもじゃないがいくら時間をかけても無理と判定。
そこで、1〜512 を一度ずつ用いる条件を除けば、次のような16次の行列ではarctanでの
各行、各列、2つの対角線での和は 2*π の魔方陣とはなりそうです。
逆に言えば、如何に 1〜512 を一度ずつ使うということが凄いことがわかります。
[163/173 239/757 121/553 349/607 55/817 37/569 121/133 101/257 449/511 163/451 131/551 431/517 269/617 207/551 77/619 47/129]
[299/623 107/531 199/773 191/339 353/467 159/529 93/263 315/457 139/513 5/857 19/331 183/239 357/587 235/263 91/463 323/541]
[133/379 179/627 137/571 301/593 263/431 223/327 151/247 371/641 33/901 157/347 247/255 267/529 33/277 87/773 245/337 151/807]
[269/397 133/869 203/521 297/679 143/599 191/577 173/293 141/449 161/325 197/769 91/367 461/527 107/553 287/723 311/369 173/389]
[ 79/203 361/543 59/763 245/419 279/347 91/313 401/607 359/625 77/207 287/359 47/883 49/739 355/489 199/617 143/353 91/503]
[337/361 23/449 289/373 47/259 409/503 445/561 61/187 31/983 263/457 275/459 249/347 1/829 109/823 191/683 141/367 221/419]
[ 97/141 105/499 131/359 1/557 121/843 201/607 323/503 127/491 199/787 331/583 401/491 261/521 391/577 377/523 37/813 295/383]
[ 31/411 421/557 341/529 249/421 61/383 273/293 237/575 295/503 439/471 31/599 139/885 31/209 163/647 119/729 251/455 377/543]
[ 49/559 213/323 329/431 11/427 113/587 209/609 53/779 199/269 213/757 59/137 311/547 61/329 421/475 239/473 277/607 469/549]
[ 89/817 199/241 175/639 359/519 185/553 203/663 181/395 89/543 73/783 333/557 215/779 139/759 343/607 473/507 275/311 239/701]
[ 97/575 177/703 415/559 237/493 163/317 43/883 353/379 185/303 133/233 49/113 143/745 241/537 113/877 331/469 261/755 255/707]
[157/443 337/413 53/429 99/923 401/507 197/557 125/467 227/553 269/569 349/651 193/805 253/503 113/789 357/589 301/451 289/587]
[ 17/563 223/253 193/199 337/411 213/641 217/419 89/613 467/471 139/653 139/797 199/251 49/457 25/967 167/367 135/181 61/631]
[159/379 283/301 227/727 119/529 61/863 327/341 137/653 201/515 191/331 403/515 187/617 423/581 337/683 25/553 31/815 289/481]
[101/141 53/467 143/691 145/497 175/447 223/517 17/667 127/755 173/189 113/221 191/193 259/281 367/427 101/497 217/557 21/311]
[317/469 49/793 251/373 439/477 283/333 137/415 263/665 29/349 79/639 189/577 351/631 71/203 293/341 145/499 83/387 163/491]
Dengan kesaktian Indukmu さんからのコメントです。(令和6年4月5日付け)
正数 a、b、s、t、x、y について、a < b、s < t、x < y を要請しておいて、
arctan(a/b) +arctan(s/t)
= arctan((a*y +b*x)/(b*y -a*x)) +arctan((s*y -t*x)/(t*y +s*x))
とできます。
x = 0 ならば、右辺と左辺は等しくなることは自明です。
左辺の2個の有理数をちょっとずらしてみたいと考えたのですが、右辺の arctan に喰わせ
る値が真分数になりにくくて苦戦しております。また、ずらしたあとに約分が発生するかもしれ
ません。なかなかうまくいかないです。
GAI さんからのコメントです。(令和6年4月6日付け)
比較的作り易い(arctanとタイプする所を省略でatanで書いています。)
atan(1/4)+atan(3/5)(=π/4) (a=1,b=4,s=3,t=5 に対応) から Dengan kesaktian Indukmu さ
んのずらしテクニックを用いて、元々の16行列の第1行の成分を作り出していくと、
(第2項目に相当)
(x,y)=(479,855)->atan(163/173)+atan(5/168) :ok
(x,y)=(38,2041)->atan(349/607)+atan(129/478) :no
(x,y)=(351,653)->atan(121/133)+atan(6/127) :ok
(x,y)=(133,794)->atan(101/257)+atan(78/179) :ok
(x,y)=(1258,2493)->atan(449/511)+atan(31/480) :ok
(x,y)=(201,1967)->atan(163/451)+atan(144/307) :ok
(x,y)=(71,147)->atan(431/517)+atan(43/474) :no
(x,y)=(27,161)->atan(269/617)+atan(174/443) :no
(x,y)=(277,2411)->(atan(207/551)+atan(172/379) :no
(x,y)=(59,563)->atan(47/129)+atan(41/88) :ok
なる式に作り変えられる。なお、
atan(259/498)
atan(216/337)
atan(381/436)
atan(266/303)
atan(210/341)
atan(271,348)
には(x,y)が見つからない。
ただし、分母が512をこえるものは採用しないことにする。(:no)
第1項目の分母が512以下なら採用して(:ok)、そこで使われている部分の元の行列からそ
の数を含む分数は消していく。
これを今度は元の16行列の第2行の分数消し残ったものに対して作っていく。
これを繰り返して行けば、自ずと1〜512だけで作られていく分数が残っていかないだろうか?
なお、魔方陣の作り方について何度か尋ねてみたら、TokusiN さんから、
8次から順に検討した結果、現実的な時間で作ることが可能な最小次数が16だったのです。
マチン系の円周率公式の生成手法を理解すると、この魔法陣に使われている分数がどのよ
うに選ばれたかわかると思います。
atan魔方陣をどうやって作ったかもきちんとまとめた方が良い気がしたけど、もう詳細を覚
えてないなぁ。結構細かいステップに分けて少しずつ計算していったことは覚えてるけど、そ
のステップの分解はもう忘却の彼方...。
の返事がありました。
GAI さんからのコメントです。(令和6年4月7日付け)
マチンの公式として、 π/4=4*atan(1/5)-atan(1/239) が有名であるが、一般に、tan の
4倍角の公式が tan(θ)=T の時、 tan(4*θ)=(4*T-4*T^3)/(1-6*T^2+T^4) なので、今、
tan(θ)=1/5 <=> θ=atan(1/5)
とすれば、 tan(4*θ)=(4/5-4/5^2)/(1-6/5^2+1/5^4)=120/119
これから 4*θ=atan(120/119) 即ち、 4*atan(1/5)=atan(120/119)
また一般に、 -atan(θ)=atan(-θ) から、マチンの公式を
atan(120/119)+atan(-1/239)=π/4
と表記することも可能。更に、Dengan kesaktian Indukmu さんから提示された
atan(a/b)+atan(s/t)=atan((a*y+b*x)/(b*y-a*x))+atan((s*y-t*x)/(t*y+s*x))
を条件を無視して、
H(a,b,s,t,x,y)=[(a*y+b*x)/(b*y-a*x),(s*y-t*x)/(t*y+s*x)]
での計算を x、y を勝手に選んでやってみたら
gp > atan(120/119)+atan(-1/239)
%2817 = 0.78539816339744830961566084581987572105
gp > Pi/4
%2818 = 0.78539816339744830961566084581987572105
ここで自由に x、y を選んで変換してやると、
gp > H(120,119,-1,239,1,2)
%2819 = [359/118, -241/477]
gp > atan(359/118)+atan(-241/477)
%2823 = 0.78539816339744830961566084581987572105
gp > H(120,119,-1,239,1,3)
%2820 = [479/237, -121/358]
gp > atan(479/237)+atan(-121/358)
%2824 = 0.78539816339744830961566084581987572105
gp > H(120,119,-1,239,1,4)
%2821 = [599/356, -243/955]
gp > atan(599/356)+atan(-243/955)
%2825 = 0.78539816339744830961566084581987572105
gp > H(120,119,-1,239,11,17)
%2822 = [3349/703, -1323/2026]
gp > atan(3349/703)+atan(-1323/2026)
%2826 = 0.78539816339744830961566084581987572105
x>y としても
gp > H(120,119,-1,239,7,3)
%2828 = [-1193/483, -838/355]
gp > atan(-1193/483)+atan(-838/355)
%2829 = -2.3561944901923449288469825374596271632
この時は、Pi を補い、
gp > Pi+%2829
としてやれば
%2831 = 0.78539816339744830961566084581987572106
gp > H(120,119,-1,239,1/7,1/3)
%2833 = [1197/473, -362/835]
gp > atan(1197/473)+atan(-362/835)
%2834 = 0.78539816339744830961566084581987572105
で、どれでもπ/4 が構成されました。
(追伸) 16次のarctan系魔方陣は、結局、arctanでの値は魔方陣ができるが、それを与える
各既約分数は、同じ数字を含んでしまうものしか作れませんでした。
(どなたか解明して下さい。)
以下、工事中!