立方陣
立方陣とは、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
という具合に作ることができて、任意の次元での多次元魔方陣をつくることができる。