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 formatAale 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次全汎斜立体方陣は,本方法に類似した方法で作成されている.

※ 8次の全汎斜立体方陣は常に完備かつ体相結であることが証明できる.従って,8次の対称全汎斜立体方陣は存在しない. これに対して,16次以上の8の倍数次では,全汎斜立体方陣で,完備でないものや体相結でないものが存在する. 完備でない全汎斜立体方陣の構成法は 1.2 および 1.3 を参照.完備だが体相結でない全汎斜立体方陣は,以下の XmlHypercube format によって与えられる. なお,面相結全汎斜立体方陣は存在しない.

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 formatsAale 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)
08+0...8(q-1)+08q+08q+48q+98(q-1)+7...8+77
38+3...8(q-1)+38q+118q+88q+18(q-1)+4...8+44
58+5...8(q-1)+58q+38q+108q+78(q-1)+2...8+22
68+6...8(q-1)+68q+58q+68q+28(q-1)+1...8+11
8(e-1)+68(e-2)+6...8(e-q)+68q+218q+178q+188(e-q)+1...8(e-2)+18(e-1)+1
8(e-1)+58(e-2)+5...8(e-q)+58q+168q+138q+208(e-q)+2...8(e-2)+28(e-1)+2
8(e-1)+38(e-2)+3...8(e-q)+38q+228q+158q+128(e-q)+4...8(e-2)+48(e-1)+4
8(e-1)+08(e-2)+0...8(e-q)+08q+148q+198q+238(e-q)+7...8(e-2)+78(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)
049
1181
3107
562
211718
161320
221512
141923
P40,8(x,y)
0812177
3191694
51118152
61314101
3829252633
3724212834
3530232036
3222273139
U24,4(x)
x01234567891011121314151617181920212223
U24,4(x)08751720221991110221131214413618161523

U40,4(x)
x012345678910111213141516171819
U40,4(x)01918103337302717451325283632816151
x2021222324252627282930313233343536373839
U40,4(x)38242331731114263435221292629212039

XmlHypercube formatAale 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 formatAale 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) の例を示す.

Q3,3(x,y)
102
543
687
Q5,5(x,y)
20314
98765
1011121314
1918171615
2023212422
Q3,15(x,y)
70819210311412513614
292827262524232221201918171615
303831393240334134423543364437

注: これらの Qp,q(x, y) は長方陣ではない.

S9,3(x)
x012345678
S9,3(x)102543687

S25,5(x)
x0123456789101112131415161718192021222324
S25,5(x)2031498765101112131419181716152023212422

S45,15(x)
x012345678910111213141516171819202122
S45,15(x)708192103114125136142928272625242322
x23242526272829303132333435363738394041424344
S45,15(x)21201918171615303831393240334134423543364437

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)
1410457
1381315
9111262
R3,7(x,y)
10219165142
34711151819
20817613112
R5,7(x,y)
261983125134
206342414127
371518212933
935221223016
3223115281710

(3,5,7)-対称長方陣 [中村, 2004/04] ((5,7,3)-長方陣 R5,7,3 の向きで表記)
R5,7,3(x,y,0)
7054359922874
63299345922425
8994389186756
413140344876101
2575978851179
R5,7,3(x,y,1)
621010332902351
9110084216069
20263353738086
37461056498615
5583167439644
R5,7,3(x,y,2)
279521284749104
5305872667565
50398897681217
81821461137743
10219847715236


例えば,S*15(x) は以下のようになる.
S*15(x)
x01234567891011121314
S*15(x)13211414897560103121

付記
 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 を有効にして下さい.
【特定電子メール法に基づく表示】広告メール、迷惑メールの送信はお断りします

本ページの最終更新日:2016年8月8日
「立体方陣と高次元方陣−三次元以上の魔方陣」   http://magcube.la.coocan.jp/magcube/jp/
Copyright © 2004-2016, Mitsutoshi Nakamura. All rights reserved.

track feed 立体方陣と高次元方陣−三次元以上の魔方陣 powered by InfoMaker RSS
SEO
loading
立体方陣と高次元方陣