English
Japanese
Home
Site Map
Top
Prev.
Next
3-D ( 1 2 3 4 5 )
4-D ( 1 2 3 4 5 6 )
全汎斜立体方陣の作成アルゴリズム
[8の倍数次] [奇数次]
1. 8の倍数次
偶数次の全汎斜立体方陣は,次数が8の倍数の場合に限って存在する.このとき,次数が16次以上の場合は,対称な全汎斜立体方陣(体相結または非体相結)が存在する.
1.1 非対称な全汎斜方陣 (m = 8x) (完備・体相結)
求める全汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.なお,この方法で作られる方陣は完備かつ体相結になる.
aijk = Tm(bijk) m2 + Tm(cijk) m + Tm(dijk) + 1,
ここで
bijk ≡ i + (m/4)j + (m/2)k (mod. m), 0 ≦ bijk < m,
cijk ≡ (m/2)i + j + (m/4)k (mod. m), 0 ≦ cijk < m,
dijk ≡ (m/4)i + (m/2)j + k (mod. m), 0 ≦ dijk < m,
Tm(x) = x (x < m/2), 3m/2-1-x (その他) (体汎斜立体方陣のものと同一).
この方陣は,XmlHypercube format(Aale de Winkel 氏による)によって以下のように表現される.
m = 8:
LP({1,2,4},{4,1,2},{2,4,1})= [0,1,2,3,7,6,5,4]
m = 16:
LP({1,4,8},{8,1,4},{4,8,1})= [0,1,2,3,4,5,6,7,15,14,13,12,11,10,9,8]
一般に:
LP({1,m/4,m/2},{m/2,1,m/4},{m/4,m/2,1})= [0,..,m/2-1,m-1,...,m/2]
F. A. P. Barnard 氏の8次全汎斜立体方陣は,本方法に類似した方法で作成されている.
m ≧ 16 で,m が16の倍数であるとき(全汎斜・完備・非体相結):
LP({1,m/8,m/4},{m/4,1,m/8},{m/8,m/4,1})= [0,..,m/2-1,m-1,...,m/2]
m ≧ 16 で,m が16の倍数ではない8の倍数であるとき(全汎斜・完備・非体相結):
LP({4,m/8,m/4},{m/4,4,m/8},{m/8,m/4,4})= [0,..,m/2-1,m-1,...,m/2]
全汎斜四次元方陣の場合と比較してみよ.
付記
次数が2のべき乗である場合には,本方法によるほか,2進数を用いた方法によっても全汎斜立体方陣を作成することが可能である.(阿部楽方氏の8次全汎斜立体方陣は,この方法で作成されているものと思われる.) 詳細は,Dwane H. Campbell 氏のサイト(英文)を参照.
Back
1.2 対称な全汎斜方陣 (m = 8x, m ≧ 16)(非体相結)
1.2.1 m = 16x の場合
求める対称な全汎斜立体方陣(非体相結) aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = Um(bijk) m2 + Um(cijk) m + Um(dijk) + 1,
ここで
bijk ≡ i + (m/8)j + (m/4)k + 3m/16 (mod. m), 0 ≦ bijk < m,
cijk ≡ (m/4)i + j + (m/8)k + 3m/16 (mod. m), 0 ≦ cijk < m,
dijk ≡ (m/8)i + (m/4)j + k + 3m/16 (mod. m), 0 ≦ dijk < m,
Um(x) = x (x < m/4 または x ≧ 3m/4), m-1-x (その他) (体汎斜立体方陣のものと同一).
この方陣は,XmlHypercube formats(Aale de Winkel 氏による)によって以下のように表現される.
m = 16:
LP({1,2,4},{4,1,2},{2,4,1})= [3,11,10,9,8,7,6,5,4,12,13,14,15,0,1,2]
m = 32:
LP({1,4,8},{8,1,4},{4,8,1})= [6,7,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,24,25,26,27,28,29,30,31,0,1,2,3,4,5]
1.2.2 m = 16x+8, m ≧ 24 の場合
求める対称な全汎斜立体方陣(非体相結) aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = Um,4(bijk) m2 + Um,4(cijk) m + Um,4(dijk) + 1,
ここで
bijk ≡ 4i + (m/8)j + (m/4)k + 3(m/8+1)/2 (mod. m), 0 ≦ bijk < m,
cijk ≡ (m/4)i + 4j + (m/8)k + 3(m/8+1)/2 (mod. m), 0 ≦ cijk < m,
dijk ≡ (m/8)i + (m/4)j + 4k + 3(m/8+1)/2 (mod. m), 0 ≦ dijk < m,
Um,4(x) = Pm,8(x mod 8, x mod (m/8)).
Pm,8(x, y) (0≦x<8, 0≦y<m/8) は次の表によって与えられる.ただし,e = m/8, q = (m/8-3)/2 である.
m = 24 (q = 0) の場合は,表の中央部(濃緑色の部分)のみが有効である.
Pm,8(x, y)
| 0 | 8+0 | ... | 8(q-1)+0 | 8q+0 | 8q+4 | 8q+9 | 8(q-1)+7 | ... | 8+7 | 7 |
| 3 | 8+3 | ... | 8(q-1)+3 | 8q+11 | 8q+8 | 8q+1 | 8(q-1)+4 | ... | 8+4 | 4 |
| 5 | 8+5 | ... | 8(q-1)+5 | 8q+3 | 8q+10 | 8q+7 | 8(q-1)+2 | ... | 8+2 | 2 |
| 6 | 8+6 | ... | 8(q-1)+6 | 8q+5 | 8q+6 | 8q+2 | 8(q-1)+1 | ... | 8+1 | 1 |
| 8(e-1)+6 | 8(e-2)+6 | ... | 8(e-q)+6 | 8q+21 | 8q+17 | 8q+18 | 8(e-q)+1 | ... | 8(e-2)+1 | 8(e-1)+1 |
| 8(e-1)+5 | 8(e-2)+5 | ... | 8(e-q)+5 | 8q+16 | 8q+13 | 8q+20 | 8(e-q)+2 | ... | 8(e-2)+2 | 8(e-1)+2 |
| 8(e-1)+3 | 8(e-2)+3 | ... | 8(e-q)+3 | 8q+22 | 8q+15 | 8q+12 | 8(e-q)+4 | ... | 8(e-2)+4 | 8(e-1)+4 |
| 8(e-1)+0 | 8(e-2)+0 | ... | 8(e-q)+0 | 8q+14 | 8q+19 | 8q+23 | 8(e-q)+7 | ... | 8(e-2)+7 | 8(e-1)+7 |
(全汎斜四次元方陣の作成で用いられる Pm,16(x, y) の定義と比較してみよ.)
Pm,8(x, y) は以下の性質を満たす(逆に,以下の性質を満たしていさえすればよい).
(1) 0 ≦ Pm,8(x, y) < m,
(2) Pm,8(x, y) = Pm,8(x', y') ならば x = x', y = y' (正規性),
(3) Σ v=0,3 {Pm, 8(x+2v, y)} = 2(m-1) (0≦x<2, 0≦y<m/8),
(4) Σ v=0,m/8-1 {Pm,8(x, v) + Pm,8(x+4, v)} = m(m-1)/8 (0≦x<4),
(5) Pm,8(x, y) + Pm,8(7-x, m/8-1-y) = m-1 (対称性).
以下に m = 24 および m = 40 の場合の例を示す.
P24,8(x,y)
| 0 | 4 | 9 |
| 11 | 8 | 1 |
| 3 | 10 | 7 |
| 5 | 6 | 2 |
| 21 | 17 | 18 |
| 16 | 13 | 20 |
| 22 | 15 | 12 |
| 14 | 19 | 23 |
P40,8(x,y)
| 0 | 8 | 12 | 17 | 7 |
| 3 | 19 | 16 | 9 | 4 |
| 5 | 11 | 18 | 15 | 2 |
| 6 | 13 | 14 | 10 | 1 |
| 38 | 29 | 25 | 26 | 33 |
| 37 | 24 | 21 | 28 | 34 |
| 35 | 30 | 23 | 20 | 36 |
| 32 | 22 | 27 | 31 | 39 |
U24,4(x)
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| U24,4(x) | 0 | 8 | 7 | 5 | 17 | 20 | 22 | 19 | 9 | 11 | 10 | 2 | 21 | 13 | 12 | 14 | 4 | 1 | 3 | 6 | 18 | 16 | 15 | 23 |
U40,4(x)
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| U40,4(x) | 0 | 19 | 18 | 10 | 33 | 37 | 30 | 27 | 17 | 4 | 5 | 13 | 25 | 28 | 36 | 32 | 8 | 16 | 15 | 1 |
| x | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
| U40,4(x) | 38 | 24 | 23 | 31 | 7 | 3 | 11 | 14 | 26 | 34 | 35 | 22 | 12 | 9 | 2 | 6 | 29 | 21 | 20 | 39 |
XmlHypercube format(Aale de Winkel 氏による)による表現
m = 24:
LP({4,3,6},{6,4,3},{3,6,4})= [22,19,9,11,10,2,21,13,12,14,4,1,3,6,18,16,15,23,0,8,7,5,17,20]
m = 40:
LP({4,5,10},{10,4,5},{5,10,4})= [4,5,13,25,28,36,32,8,16,15,1,38,24,23,31,7,3,11,14,26,34,35,22,12,9,26,29,21,20,39,0,19,18,10,33,37,30,27,17]
Back
1.3 対称かつ体相結な全汎斜方陣 (m = 8x, m ≧ 16)
1.3.1 m = 16x の場合
求める対称かつ体相結な全汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = bijk m2 + cijk m + dijk + 1,
ここで
bijk = Um(b*ijk) (i が偶数), m - 1 - Um(b*ijk) (i が奇数),
cijk = Um(c*ijk) (j が偶数), m - 1 - Um(c*ijk) (j が奇数),
dijk = Um(d*ijk) (k が偶数), m - 1 - Um(d*ijk) (k が奇数),
b*ijk ≡ j* + (m/8)k* (mod. m), 0 ≦ b*ijk < m,
c*ijk ≡ k* + (m/8)i* (mod. m), 0 ≦ c*ijk < m,
d*ijk ≡ i* + (m/8)j* (mod. m), 0 ≦ d*ijk < m,
i* = i (i が偶数), m - 1 - i (i が奇数),
j* = j (j が偶数), m - 1 - j (j が奇数),
k* = k (k が偶数), m - 1 - k (k が奇数),
Um(x) = x (x < m/4 または x ≧ 3m/4), m-1-x (その他) (1.2.1 での定義と同一).
1.3.2 m = 16x+8, m ≧ 24 の場合
求める対称かつ体相結な全汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = bijk m2 + cijk m + dijk + 1,
ここで
bijk = Um,4(b*ijk) (i が偶数), m - 1 - Um,4(b*ijk) (i が奇数),
cijk = Um,4(c*ijk) (j が偶数), m - 1 - Um,4(c*ijk) (j が奇数),
dijk = Um,4(d*ijk) (k が偶数), m - 1 - Um,4(d*ijk) (k が奇数),
b*ijk ≡ 2j* + (m/8)k* (mod. m), 0 ≦ b*ijk < m,
c*ijk ≡ 2k* + (m/8)i* (mod. m), 0 ≦ c*ijk < m,
d*ijk ≡ 2i* + (m/8)j* (mod. m), 0 ≦ d*ijk < m,
i* = i (i が偶数), m - 1 - i (i が奇数),
j* = j (j が偶数), m - 1 - j (j が奇数),
k* = k (k が偶数), m - 1 - k (k が奇数),
Um,4(x) = Pm,8(x mod 8, x mod (m/8)) (1.2.2 での定義と同一).
Back
2. 奇数次
奇数次の全汎斜立体方陣は,次数が9以上の場合に限って存在する.奇数次の対称な全汎斜立体方陣も,同じ条件下で存在する.
以下において,gcd は最大公約数を表す.
2.1 m = 2x+1, m ≧ 9, gcd(m, 3x5x7) = 1 の場合(対称全汎斜方陣)
この場合,m は 3, 5, 7 のいずれでも割り切れない.
求める全汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = bijk m2 + cijk m + dijk + 1,
ここで
bijk ≡ i + 2j + 4k + 3 (mod. m), 0 ≦ bijk < m,
cijk ≡ i - 2j + 4k + 1 (mod. m), 0 ≦ cijk < m,
dijk ≡ i + 2j - 4k - 1 (mod. m), 0 ≦ dijk < m.
この方陣は,XmlHypercube format(Aale de Winkel 氏による)によって以下のように表現される.
LP({1,2,4}+3,{1,-2,4}+1,{1,2,-4}-1)
2.2 m = 2x+1, m ≧ 9, 1 < gcd(m, 3x5x7) < m の場合(対称全汎斜方陣)
この場合,q = gcd(m, 3x5x7), p = m/q とおくと,p > 1, q > 1 である.
求める全汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = Sm,q(bijk) m2 + Sm,q(cijk) m + Sm,q(dijk) + 1,
ここで
bijk ≡ i + 2j + 4k + 3 (mod. m), 0 ≦ bijk < m,
cijk ≡ i - 2j + 4k + 1 (mod. m), 0 ≦ cijk < m,
dijk ≡ i + 2j - 4k - 1 (mod. m), 0 ≦ dijk < m,
Sm,q(x) = Qp,q([x/q], x mod q).
ただし,[x] は x を超えない最大の整数を表す.
Qp,q(x, y) (0 ≦ x < p, 0 ≦ y < q)は,以下の式によって与えられる.
Qp,q(x, y) =
qx + y
(0 < x < p-1, x が偶数),
qx + (q-1-y)
(0 < x < p-1, x が奇数),
y/2 + (q-1)/2
(x = 0, y が偶数),
(y-1)/2
(x = 0, y が奇数),
y/2 + (p-1)q
(x = p-1, y が偶数),
(y-1)/2 + pq - (q-1)/2
(x = p-1, y が奇数).
Qp,q(x, y) は以下の性質を満たす(逆に,以下の性質を満たしていさえすればよい).
(1) 0 ≦ Qp,q(x, y) < pq (= m),
(2) Qp,q(x, y) = Qp,q(x', y') ならば x = x', y = y' (正規性),
(3) Σ v=0,p-1 {Qp,q(v, y)} = q(pq-1)/2 (列和一定),
(4) Qp,q(x, y) + Qp,q(p-1-x, q-1-y) = pq-1 (対称性).
以下に m = 9 (p = 3, q = 3), m = 25 (p = 5, q = 5), m = 45 (p = 3, q = 15) の場合の Qp,q(x, y), Sm,q(x) の例を示す.
Q5,5(x,y)
| 2 | 0 | 3 | 1 | 4 |
| 9 | 8 | 7 | 6 | 5 |
| 10 | 11 | 12 | 13 | 14 |
| 19 | 18 | 17 | 16 | 15 |
| 20 | 23 | 21 | 24 | 22 |
Q3,15(x,y)
| 7 | 0 | 8 | 1 | 9 | 2 | 10 | 3 | 11 | 4 | 12 | 5 | 13 | 6 | 14 |
| 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 |
| 30 | 38 | 31 | 39 | 32 | 40 | 33 | 41 | 34 | 42 | 35 | 43 | 36 | 44 | 37 |
S9,3(x)
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| S9,3(x) | 1 | 0 | 2 | 5 | 4 | 3 | 6 | 8 | 7 |
S25,5(x)
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| S25,5(x) | 2 | 0 | 3 | 1 | 4 | 9 | 8 | 7 | 6 | 5 | 10 | 11 | 12 | 13 | 14 | 19 | 18 | 17 | 16 | 15 | 20 | 23 | 21 | 24 | 22 |
S45,15(x)
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| S45,15(x) | 7 | 0 | 8 | 1 | 9 | 2 | 10 | 3 | 11 | 4 | 12 | 5 | 13 | 6 | 14 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 |
| x | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | |
| S45,15(x) | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 30 | 38 | 31 | 39 | 32 | 40 | 33 | 41 | 34 | 42 | 35 | 43 | 36 | 44 | 37 | |
2.3 m = 2x+1, m ≧ 9, gcd(m, 3x5x7) = m の場合(対称全汎斜方陣)
この場合,m は 15 (= 3x5), 21 (= 3x7), 35 (= 5x7), 105 (= 3x5x7) のいずれかである.
求める全汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = S*m(bijk) m2 + S*m(cijk) m + S*m(dijk) + 1,
ここで
bijk ≡ i + 2j + 4k + 3 (mod. m), 0 ≦ bijk < m,
cijk ≡ i - 2j + 4k + 1 (mod. m), 0 ≦ cijk < m,
dijk ≡ i + 2j - 4k - 1 (mod. m), 0 ≦ dijk < m,
S*15(x) = R3,5(x mod 3, x mod 5) - 1,
S*21(x) = R3,7(x mod 3, x mod 7) - 1,
S*35(x) = R5,7(x mod 5, x mod 7) - 1,
S*105(x) = R3,5,7(x mod 3, x mod 5, x mod 7) - 1.
R3,5, R3,7, R5,7, R3,5,7 はそれぞれ (3,5)-対称長方陣,(3,7)-対称長方陣,(5,7)-対称長方陣,および (3,5,7)-対称長方陣である.具体的には以下の表によって与えられる.
(3,5)-対称長方陣, (3,7)-対称長方陣, (5,7)-対称長方陣
R3,5(x,y)
| 14 | 10 | 4 | 5 | 7 |
| 1 | 3 | 8 | 13 | 15 |
| 9 | 11 | 12 | 6 | 2 |
R3,7(x,y)
| 10 | 21 | 9 | 16 | 5 | 14 | 2 |
| 3 | 4 | 7 | 11 | 15 | 18 | 19 |
| 20 | 8 | 17 | 6 | 13 | 1 | 12 |
R5,7(x,y)
| 26 | 19 | 8 | 31 | 25 | 13 | 4 |
| 20 | 6 | 34 | 24 | 14 | 1 | 27 |
| 3 | 7 | 15 | 18 | 21 | 29 | 33 |
| 9 | 35 | 22 | 12 | 2 | 30 | 16 |
| 32 | 23 | 11 | 5 | 28 | 17 | 10 |
(3,5,7)-対称長方陣 [中村, 2004/04] ((5,7,3)-長方陣 R5,7,3 の向きで表記)
R5,7,3(x,y,0)
| 70 | 54 | 35 | 99 | 22 | 87 | 4 |
| 63 | 29 | 93 | 45 | 92 | 24 | 25 |
| 89 | 94 | 38 | 9 | 18 | 67 | 56 |
| 41 | 31 | 40 | 34 | 48 | 76 | 101 |
| 2 | 57 | 59 | 78 | 85 | 11 | 79 |
R5,7,3(x,y,1)
| 62 | 10 | 103 | 32 | 90 | 23 | 51 |
| 91 | 100 | 8 | 42 | 1 | 60 | 69 |
| 20 | 26 | 33 | 53 | 73 | 80 | 86 |
| 37 | 46 | 105 | 64 | 98 | 6 | 15 |
| 55 | 83 | 16 | 74 | 3 | 96 | 44 |
R5,7,3(x,y,2)
| 27 | 95 | 21 | 28 | 47 | 49 | 104 |
| 5 | 30 | 58 | 72 | 66 | 75 | 65 |
| 50 | 39 | 88 | 97 | 68 | 12 | 17 |
| 81 | 82 | 14 | 61 | 13 | 77 | 43 |
| 102 | 19 | 84 | 7 | 71 | 52 | 36 |
例えば,S*15(x) は以下のようになる.
S*15(x)
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| S*15(x) | 13 | 2 | 11 | 4 | 14 | 8 | 9 | 7 | 5 | 6 | 0 | 10 | 3 | 12 | 1 |
付記
m = 105 に対しては,(3,5,7)-長方陣の代わりに (3,35), (5,21), (7,15) のいずれかの長方陣を使用することもできる(Aale de Winkel 氏からの指摘による).これらの長方陣は,(3,5,7)-長方陣を用いて作成可能である.また,直接作成することも可能である.詳細は,こちらの長方陣についてのページを参照.
Back
Home
Site Map
Top
Prev.
Next
3-D ( 1 2 3 4 5 )
4-D ( 1 2 3 4 5 6 )
中村 光利(メールはこちら) メールを送信するためには JavaScript を有効にして下さい.
【特定電子メール法に基づく表示】広告メール、迷惑メールの送信はお断りします
本ページの最終更新日:2008年1月20日
「立体方陣と高次元方陣−三次元以上の魔方陣」 http://homepage2.nifty.com/googol/magcube/jp/
Copyright © 2004-2008, Mitsutoshi Nakamura. All rights reserved.