ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

魔方陣についてコミュの?7以上の素数サイズの立方陣 (※19を除く)

  • mixiチェック
  • このエントリーをはてなブックマークに追加
2007年12月08日 06:39 に書いておいた、下記に内容の記事について
訂正記事をのせておきました。
http://mixi.jp/view_bbs.pl?id=43802057&comm_id=297396
 
P=19の場合は、下記内容で用いてる行列の行列式が19であることから破綻する
との指摘を受けました。
 ※ 従いまして、ひとまずは 7以上で19を除く素数サイズとして
訂正しておきます。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Nを7以上の素数として、NxNxNの立方陣の頂点1箇所を原点(0,0,0)として(i,j,k)番目の位置の立方陣の要素を、
プログラム言語の配列形式にならって Q[i][j][k] と
いう形で表すとすると

次式★は、立方陣を表す式です。

★
Q[i][j][k]
=N*N* Mod(( 3*i +  j - 2*k +(N+1)/2 ),N)
 + N* Mod((  i - 2*j + 3*k +(N+1)/2 ),N)
 +  Mod((-2*i + 3*j +  k +(N+1)/2 ),N)
 + 1


(ここでi,j,kは整数 0≦i,j,k<N Nは7以上の素数※)
ここで、Mod(x,n)は xをnで割った余りを表す関数です。
 *は乗算の記号です。(エクセルの関数表記にあわせました)

  (※Nは7以上の素数だけでなく、7以上の素数同士の
        合成数でもいいはずです。)

この式は
 ・N進数3桁分の組み合わせの項から成っています。
 ・各項の組み合わせは、立体の斜め方向に同じ数字が並ぶ形です。
  ・同じ数字が並ぶ向きを3項で立体的に違えています。
    
・・・これは丁度、5方陣の製法で斜め45度に数字を、それぞれ異なる向きを並べて、足し合わせた形の立体版です。

14253   10,0,15,5,20   11 4 17 10 23
42531   20,10,0,15,5   24 12 5 18 6
25314 + 5,20,10,0,15 ⇒ 7 25 13 1 19
53142   15,5,20,10,0   20 8 21 14 2
31425   0,15,5,20,10   3 16 9 22 15

[定和=15]  [定和=50]  [定和=15+50⇒65である魔方陣]  

この5方陣の例では、左上隅を原点(0,0) 右上隅の座標を
(4,0)、左下隅を(0,4)とすると(i,j)の位置の値S[i][j]は
次のように表せます。 (ここで、*は乗算の記号です)

S[i][j]=
5* mod(3*i-3*j+2,5)   ・・・(定和50の方陣)
+ mod(3*i+3*j  ,5)+1 ・・・(定和15の方陣)
   
★式は、言わば、この立体版です。


ある対角面では、上記のように斜めに数字が並びますが、
他の 表面や表面に平行な面では、桂馬跳びに、あるいは
 囲碁でいうところの 大桂馬に数字が並んでいる補助方陣
 同士の和になっています。
  奇数方陣の製法での”角”や”桂馬”の組み合わせで、
  各断面の魔方陣ができあがっています。

この式が立方陣になっていることの証明については
 ◆ΣQ[i][j][k]が、i,j,kどの方向についても合計が等しくなること
 ◆i,j,kの異なる組み合わせではQ[i][j][k]は全て異なること
  (つまり全体は1からNの3乗までの数字からなること)
この2点で、上式が立体の魔方陣であることが証明できるかと思います


厳密な証明はさておき、簡単に説明しておきます。

◆全部の数字が異なることについては、剰余計算Mod()の3項が、
  i,j,kいずれかが異なる地点においては3項同時には
  一致しないことを言えればいいかと思います。

 Q[i][j][k]=Q[i'][j'][k']が成立するならば
 Nを法とする剰余系で (i,j,k)≡(i',j'k')となることは、
 剰余系が体を成すことから証明されます。

 すなわち上記★式を3項独立に考えて、
 ベクトル(i,j,k)についての
 剰余系の世界での行列Qと定義して
  行列Qと、ベクトル(i,j,k) との積を考えると
     ((i,j,k)はホントは縦ベクトル表記だが)
  Q (i,j,k) ≡ Q(i',j',k')から
  Q(i-i',j-j',k-k')≡0  
(剰余系の世界では除算が定義できることにより
 逆行列が存在するということで、Qの逆行列を両辺に
 かけたことにして (i-i',j-j',k-k')≡0が言える)
 
行列Qとしては、N進数3桁分を分けて考えて

 3  1 −2
 1 −2  3
−2  3  1

という行列に、(i,j,k)の縦ベクトルをかけて、得られた
ベクトルの各要素のNの剰余を求めたものを、N進数3桁の
各位として、最後に1を加えたのが★式という具合です。


◆また、1列の和が等しくなることについては、ある地点(i,j,k)と
   その隣接部分(i+α,j+β,k+γ)とでの、★式の Mod()の各項での

  数字の変化(ずれ量)をみると αβγとして -1,0,+1の

  いずれか組み合わせた(全部0の場合を除く)26通りについて

 Nの剰余系として、0から、 ±1、±2、±3、±4、±5、±6
  までのずれを生じ得ます、Nが7以上の素数であることから、
 ずれ量が0でない箇所においては:

  Nと素である、ずれ量の、N倍までの整数倍を
  Nで割った剰余には、0からN−1までの数字が1回ずつ含まれて
  これが1列に並ぶ数字に含まれることになり、結果として1列の和が
  他と等しくなることがいえます。

    (例として、下図の各行、各列の数字の配置を御覧ください) 
 ずれ量が0となる箇所では:−2+3−1≡0 (mod N)ですから、

   1,N,N*Nそれぞれが係数になっているMod()の各項について、
   原点(0,0,0) からみて
   (i,j,k)=(1,1,-1) (1,-1,1)(-1,1,1)に向かう3方向に平行な
   方向に並ぶ所ではMod()の各項は、隣接する数値と同じ値をとります。

   例えば、係数1の項は、(1,1,-1)方向として、
   (i,j,k)=(x,y,z)と(x+1,y+1,z-1)とで
   Mod(-2*i+3*j+k+(N+1)/2,N)の式の値は一致します。

   この方向の対角線上においては

   Mod()の式の値、3項は、それぞれ  例えば(i,j,k)に、

   (0,0,N-1),(0,N-1,0),(N-1,0,0)のいずれかを代入した場合にあたり、

   ここでの式の値は丁度 Mod( N-1+(N+1)/2,N)となります。

     例えば、係数1の項は、(1,1,-1)方向として、
     (i,j,k)=(0,0,N-1)から,(1,1,N-2),(2,2,N-3),...,(N-1,N-1,0)
     が、同一の数字の並ぶ対角線です。

  ここでの値は、0からN-1の中央値の(N-1)/2にあたり、
 これが対角線上に並ぶことで、この対角線の和は 他と一致します。

  (後で、エクセルで作った図を図示します。)



以上から、Modの各項については、一直線上に並ぶN個の数字の和は一致する

ということが、立方陣が構成されていることの簡略な証明です。


==============================================
製法についての記事を?から連番で11/9現在?まで
連番で示しています。 目次として載せておきます
 現在のページを◆で示しておきます。

初めての方は?から順にどうぞ。

・4方陣
? http://mixi.jp/view_bbs.pl?id=2013306
? http://mixi.jp/view_bbs.pl?id=2017172
・5方陣について
? http://mixi.jp/view_bbs.pl?id=2102712
? http://mixi.jp/view_bbs.pl?id=2166770
? http://mixi.jp/view_bbs.pl?id=2370334
・合成数の大きさの方陣
? http://mixi.jp/view_bbs.pl?id=1948761
・立方陣について
 4立方陣
? http://mixi.jp/view_bbs.pl?id=2393919
? http://mixi.jp/view_bbs.pl?id=2552298
? http://mixi.jp/view_bbs.pl?id=2730817
 8立方陣
? http://mixi.jp/view_bbs.pl?id=2730921
 7以上の素数サイズの立方陣 
?◆http://mixi.jp/view_bbs.pl?id=2750487
 11以上の素数サイズの完全立方陣
?http://mixi.jp/view_bbs.pl?id=2824935

コメント(4)

この立方陣の1項について説明しますと。

N=7で、この★式で係数1の項は
Mod(( (-2*i + 3*j + k +4 ),7)

これはK=0のとき、下図のように桂馬とびになっています。

 4205316 →i
 0531642
 3164205 iとjの係数 -2と3については 
 6420531 -2*(-2)+3*(1)≡0(mod 7)の
 2053164 関係があるので(-2,1)方向に(桂馬トビ)
 5316420 同じ数字が並ぶ。
 1642053
↓
j

K=1の時は、K=0のときから1ずつ増えて、左上隅は
4でなく5から始まります。上図では対角方向にちょうど
 4の右下に5が並んでいますから、ここから始まる形で
全体としてはいわば 最上行を最下行に最左行を最右行に
巡回シフトした形になります。あるいは、下部の2行分を
最上部に巡回シフトした形と考えても同じです。

K=1の時:Mod(( (-2*i + 3*j + 5 ),7)
 5316420
 1642053
 4205316
 0531642
 3164205
 6420531
 2053164

上下間で見た場合K=0からK=6までで、上記の
最上行にあたる j=0平面を観ると(0≦i,k<7)
J=0の時:Mod(( (-2*i + k +4 ),7)

 4205316 →i
 5316420 iとkの係数 -2と1には
 6420531  -2*(1)+1*(2)≡0 または
 0531642  -2*(-3)+1*(1)≡0 が成り立つので
 1642053  これより、(1,2)方向(桂馬トビ)
 2053164   または(-3,1)方向に(大桂馬)
 3164205  同じ数字が並びます。
↓
k

同様に iを固定してjk平面でみても、同様の方陣が
できます。この方陣は、数字の並ぶ順序と向きが
変わるだけで、その配置については、桂馬、大桂馬の
位置に同じ数字が並びます。

□□●□□□□ □□□□□●□ □●□□□□□
●□□□□□□ □□●□□□□ □□□□●□□
□□□□□●□ □□□□□□● ●□□□□□□
□□□●□□□ □□□●□□□ □□□●□□□
□●□□□□□ ●□□□□□□ □□□□□□●
□□□□□□● □□□□●□□ □□●□□□□
□□□□●□□ □●□□□□□ □□□□□●□

 この方陣の向きを回転、裏返ししたもの同士は重ねると
重複なく7x7=49通り数字の組み合わせを生成できます。

★式で、他のNの項、N*Nの項では、i,j,kが
 巡回して入れ替わっているだけですから、まったく
 同型の形の魔方陣ができあがります。その向きが互いに
 入れ違っていることから、N進数で3桁分が重複なく
 組み合わさって1からNの3乗までの数字からなる
 立方陣になっているという具合です。
サンプル画像です。 N=7で エクセルを使った例を示します。

まずC2の部分に★式の一部として
    Mod(( -2*i + 3*j + k +(N+1)/2 ),N) の項に
   相当する式として

 MOD(((7-2)*$A2+3*$B2+C$1+(7+1)/2),7) 
 これをC2から周囲に展開した結果を示します。
★式についての計算サンプルです。

 A列に7段分、0から6までを各7行並べ
 B列に0〜6の反復を、
 1行目:C1からI1までに0から6を‥

‥あらかじめ配置しておいて、
   
C2の部分に★式として:
   =49*MOD(((7-2)*$B2+3*C$1+$A2+(7+1)/2),7)
    +7*MOD(((7-2)*C$1+3*$A2+$B2+(7+1)/2),7)
    + MOD(((7-2)*$A2+3*$B2+C$1+(7+1)/2),7)+1



 を記入して、それを、横一列にドラッグしてコピーし
 さらに縦7行ドラッグして7x7区画へコピーし、さらに
 次の面の左上隅へ7x7の大きさ分をコピーして、
 以下5回コピーするとできあがりです。結果を後に示します。


  また、単に先頭の49*MOD(・・・)の項を省けば、平面的になり、
  1面だけ7x7の魔方陣が作れます。御確認ください。
最後にN=7での立方陣の計算結果を掲げておきます。

1から7x7x7=343までの数字を上下左右前後に7個ずつ配置した
7x7の魔方陣を7段重ねた立方体の各段を順に示します。

上下・左右・前後・斜め1列の7個の数字の和は1204でどこも一定です。表面に並行な面では、汎魔方陣になっています。



229 20 154 330 121 255 95
134 268 59 242 33 167 301
46 180 314 105 281 72 206
252 85 219 10 193 327 118
157 340 131 265 56 232 23
69 203 36 170 304 144 278
317 108 291 82 216 7 183

248 88 222 13 196 323 114
160 343 127 261 52 235 26
65 199 39 173 307 147 274
320 111 294 78 212 3 186
225 16 150 333 124 258 98
137 271 62 245 29 163 297
49 176 310 101 284 75 209

316 107 290 81 215 6 189
228 19 153 336 120 254 94
140 267 58 241 32 166 300
45 179 313 104 287 71 205
251 91 218 9 192 326 117
156 339 130 264 55 238 22
68 202 42 169 303 143 277

48 182 309 100 283 74 208
247 87 221 12 195 329 113
159 342 133 260 51 234 25
64 198 38 172 306 146 280
319 110 293 84 211 2 185
231 15 149 332 123 257 97
136 270 61 244 35 162 296

67 201 41 175 302 142 276
322 106 289 80 214 5 188
227 18 152 335 126 253 93
139 273 57 240 31 165 299
44 178 312 103 286 77 204
250 90 224 8 191 325 116
155 338 129 263 54 237 28

135 269 60 243 34 168 295
47 181 315 99 282 73 207
246 86 220 11 194 328 119
158 341 132 266 50 233 24
70 197 37 171 305 145 279
318 109 292 83 217 1 184
230 21 148 331 122 256 96

161 337 128 262 53 236 27
66 200 40 174 308 141 275
321 112 288 79 213 4 187
226 17 151 334 125 259 92
138 272 63 239 30 164 298
43 177 311 102 285 76 210
249 89 223 14 190 324 115

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

魔方陣について 更新情報

魔方陣についてのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング