一辺の大きさが十分大きい素数nからなるn×n×n立方陣
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/06/10 13:11 UTC 版)
「立方陣」の記事における「一辺の大きさが十分大きい素数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 という具合に作ることができて、任意の次元での多次元魔方陣をつくることができる。 この項目は、数学に関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(プロジェクト:数学/Portal:数学)。 この項目は、パズルに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(Portal:ゲーム)。
※この「一辺の大きさが十分大きい素数nからなるn×n×n立方陣」の解説は、「立方陣」の解説の一部です。
「一辺の大きさが十分大きい素数nからなるn×n×n立方陣」を含む「立方陣」の記事については、「立方陣」の概要を参照ください。
- 一辺の大きさが十分大きい素数nからなるn×n×n立方陣のページへのリンク