コンテンツにスキップ

立方陣

出典: フリー百科事典『ウィキペディア(Wikipedia)』

2017年11月22日 (水) 12:06; LineSegment (会話 | 投稿記録) による版(日時は個人設定で未設定ならUTC

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

立方陣とは、n×nの魔方陣をn段重ねたn×n×nの立方体について、上下・左右・前後・斜めのいずれの列についても、その列の数字の合計が同じになるもののことである。特に1から立方陣のマスの総数までの数字を1つずつ過不足なく使ったものを言う。英語では魔方陣:magic squareに対して、magic cube と呼ばれる。

このときの一列の和は、

と計算できる。

立体では、斜め方向にあたる方向について、表面に平行な面の正方形の対角方向成分および、立体的に中心を通って反対頂点に向う対角方向成分とある。n=3およびn=4では、完全にその全てを揃えることができず、一方のみ合計を揃えたものが作れる。

3×3×3の(準)立方陣

[編集]

1×1×1の立方陣は明らかであり、2×2×2の立方陣は存在しない。3×3×3では、上下左右前後の立体の辺に平行な方向と、立体の中心を通る対角線上の合計を揃えた立方陣が存在する。

4×4×4の(準)立方陣

[編集]

4×4×4では、表面に平行な面の対角成分 または、中心を通って反対頂点に向う4本の対角成分の、どちらかの合計を、他の辺に平行な成分の合計と一致させたものが存在する。

5×5×5 および 6×6×6の立方陣

[編集]

ながらくこの存在は不明だったが、コンピュータを使って全ての対角成分も含めて1列に並ぶ数字の合計が等しくなる立方陣が2003年にTrumpらによって発見された。

7×7×7の立方陣

[編集]

7が素数であることから、比較的容易に作れる。1866年にA.Hフロストが発表している。

8×8×8の立方陣

[編集]

4の整数倍で、2の冪乗でもあることから、比較的容易に作れる。

一辺の大きさが十分大きい素数nからなるn×n×n立方陣

[編集]

nが素数であることから、大きさn×n×nのラテン方陣の立体版を容易につくることができる。 このラテン立方陣3個を組み合わせてn進数3桁からなる立方陣を作ることができる。 以下にその例を示す。


n>7 つまりn=11以上の素数で

例えば x軸方向に+1、y軸方向に+2、z軸方向に+4ずつずらして数字を配置すると

L[x][y][z] ≡ x+2*y+4*z (mod n) と置くと 3次元配列L[x][y][z](0≦x,y,z<n)では

x軸方向、y軸方向、z軸方向 および、対角線方向としてのx±y方向、y±z方向、z±x方向、立体的な対角方向 x±y±z方向の26方向いずれにおいても0からn-1までの数字が1列に並ぶ。なぜならば、 α、β、γに0または±1を代入したときα+2*β+4*γは全部が0でない限り±1から±7までのいずれかの値をとり素数nとは、素の関係になるからである。

ある(x,y,z)位置での値L[x][y][z]と,その隣接位置にあるL[x+α][y+β][z+γ]との差は0でなくnと素の値だけの増減となり、その(α,β,γ)方向にn個連続する範囲には、nの剰余系につき0からn-1まで数字がすべて並ぶこととなり、n個の数字の合計は、どの方向でも定和をとる立体のラテン方陣ができあがる。

これをn進数3桁の数字の組み合わせを考えた場合も同様で、次のように3次元配列を定義するとこれは立方陣となる。

C[x][y][z] = n*n*MOD(x+2*y+4*z, n) + n*MOD( 2*x+4*y+z, n) + MOD( 4*x+y+2*z, n) +1 
ここで(0≦x,y,z<n)、MOD(r,p)は剰余関数すなわちrをpで割った余りを示す。


同様に4軸目以上に +8、+16、....という具合に増分を与えるようにして4次元以上の 超立方体の魔方陣をつくることができる。

例えば、n>15 つまり n=17以上の素数において、4次元魔方陣は

T[x][y][z][w] = 
n*n*n*MOD(   x+2*y+4*z+8*w , n)
+ n*n*MOD( 2*x+4*y+8*z+  w , n)
+   n*MOD( 4*x+8*y+  z+2*w , n)
+     MOD( 8*x+  y+2*z+4*w , n)
+ 1

という具合に作ることができて、任意の次元での多次元魔方陣をつくることができる。