English   Japanese
Home   Site Map   Top   Prev.   Next   3-D ( 1   2   3   4   5 )   4-D ( 1   2   3   4   5   6 )

体汎斜立体方陣の作成アルゴリズム

[4の倍数次][奇数次] [半偶数次]

1. 4の倍数次

 4の倍数次の体汎斜立体方陣は,全ての次数に対して存在する.4の倍数次の対称体汎斜立体方陣も全ての次数に対して存在する.なお,次数が8以上の場合には,より強い条件を満たす体汎斜面斜立体方陣が存在する.また,次数が8の倍数の場合には,更に強い条件を満たす全汎斜立体方陣が存在する.

1.1 非対称な体汎斜方陣 (m = 4x, m ≧ 4)

求める体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.なお,この方法で作られる方陣は完備かつ面相結になる.
aijk = Tm(bijk) m2 + Tm(cijk) m + Tm(dijk) + 1,

ここで
bijk ≡ i + (m/2)j + (m/2)k   (mod. m),   0 ≦ bijk < m,
cijk ≡ (m/2)i + j + (m/2)k   (mod. m),   0 ≦ cijk < m,
dijk ≡ (m/2)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 = 4:
   LP({1,2,2},{2,1,2},{2,2,1})= [0,1,3,2]
m = 8:
   LP({1,2,2},{2,1,2},{2,2,1})= [0,1,2,3,7,6,5,4]
一般に:
   LP({1,m/2,m/2},{m/2,1,m/2},{m/2,m/2,1})= [0,...,m/2-1,m-1,...,m/2]

Back

1.2 対称な体汎斜方陣 (m = 4x, m ≧ 4)

求める対称体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = bijk m2 + Tm(cijk) m + Um(dijk) + 1,

ここで
bijk = 2hm/2(k mod m/2) + rm(i, k)   ([4i/m]+j+[2k/m] が偶数のとき),   m - 1 - {2hm/2(k mod m/2) + rm(i, k)}   (その他),
cijk = (i + j + k) mod m   (k が偶数のとき),   {m/2 - 3 - (i + j + k)} mod m   (その他),
dijk = (-i + j + k) mod m,

Tm(x) = x (x < m/2),   3m/2-1-x (その他)    (非対称な場合と同一),
Um(x) = x (x < m/4 または x ≧ 3m/4),   m-1-x (その他),
hm/2(x) = x (x < m/4),   m/2-1-x (その他),
rm(x, y) = 0 ([2x/m + 1/2] + [2y/m + 1/2] が偶数のとき),   1 (その他).

以下に m = 4 の場合の例を示す.

bijk
k = 0
0303
2121
1212
3030
k = 1
1212
3030
0303
2121
k = 2
2121
0303
3030
1212
k = 3
3030
1212
2121
0303

cijk
k = 0
0123
1230
2301
3012
k = 1
2103
1032
0321
3210
k = 2
2301
3012
0123
1230
k = 3
0321
3210
2103
1032

T4(cijk)
k = 0
0132
1320
3201
2013
k = 1
3102
1023
0231
2310
k = 2
3201
2013
0132
1320
k = 3
0231
2310
3102
1023

dijk
k = 0
0123
3012
2301
1230
k = 1
1230
0123
3012
2301
k = 2
2301
1230
0123
3012
k = 3
3012
2301
1230
0123

U4(dijk)
k = 0
0213
3021
1302
2130
k = 1
2130
0213
3021
1302
k = 2
1302
2130
0213
3021
k = 3
3021
1302
2130
0213

これらの bijk, T4(cijk), U4(dijk) から構成される4次の対称体汎斜立体方陣については,こちらを参照

Back

2. 奇数次

 奇数次の体汎斜立体方陣は,次数が5以上の場合に限って存在する.奇数次の対称体汎斜立体方陣も,同じ条件下で存在する.なお,次数が9以上の場合には,より強い条件を満たす全汎斜立体方陣が存在する.

2.1 次数 m が3の倍数でない場合(対称)

求める対称体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = bijk m2 + cijk m + dijk + 1,

ここで
bijk ≡ 2i + j + k + (m+3)/2   (mod. m),   0 ≦ bijk < m,
cijk ≡ 2i - j + k + (m+1)/2   (mod. m),   0 ≦ cijk < m,
dijk ≡ 2i + j - k + (m+1)/2   (mod. m),   0 ≦ dijk < m.

1.2 次数 m が3の倍数である場合(対称)

求める対称体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = Sm,3(bijk) m2 + Sm,3(cijk) m + Sm,3(dijk) + 1,

ここで
bijk ≡ 2i + j + k + (m+3)/2   (mod. m),   0 ≦ bijk < m,
cijk ≡ 2i - j + k + (m+1)/2   (mod. m),   0 ≦ cijk < m,
dijk ≡ 2i + j - k + (m+1)/2   (mod. m),   0 ≦ dijk < m.
Sm,3(x) = Qm/3,3([x/3], x mod 3).

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), Sm,q(x) の具体例については,全汎斜立体方陣のページを参照のこと.

Back

3. 半偶数次(4の倍数ではない偶数次)

 半偶数次の体汎斜立体方陣は,全ての6以上の次数に対して存在する.半偶数次の対称体汎斜立体方陣も,同じ条件下で存在する.

3.1 非対称な体汎斜方陣 (m = 4x+2, m ≧ 6)

求める体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.なお,なお,この方法で作られる方陣は完備になる.
aijk = a*ijk ([2i/m]+[2j/m]+[2k/m] が偶数),
m3 + 1 - a*ijk ([2i/m]+[2j/m]+[2k/m] が奇数),
a*ijk = Fm(bijk, qijk) (m/2)2 + cijk (m/2) + dijk + 1,

ここで
bijk ≡ i + j + k   (mod. m/2),   0 ≦ bijk < m/2,
cijk ≡ i - j + k   (mod. m/2),   0 ≦ cijk < m/2,
dijk ≡ i + j - k   (mod. m/2),   0 ≦ dijk < m/2,
Fm(x, y) = 4x + y (x = m/2-2 または x が偶数),
4(x+1) - y - 1 (x < m/2-2 かつ x が奇数),
4(x+2) - 2y - 2 (x = m/2-1),
qijk = 2[2i/m] + [2j/m] (k < m/2),
3 - 2[2i/m] - [2j/m] (k ≧ m/2).

以下に m = 6 の場合の例を示す.

F6(x, y)
0123
00123
14567
21412108

F6(bijk, qijk)
k = 0
04141512
41405121
14041215
2610378
6102783
1026837
k = 1
41405121
14041215
04141512
6102783
1026837
2610378
k = 2
14041215
04141512
414051214
1026837
2610378
6102783

k = 3
3782610
7836102
8371026
15120414
51214140
12151404
k = 4
7836102
8371026
3782610
51214140
12151404
15120414
k = 5
8371026
3782610
7836102
12151404
15120414
512144140

a*ijk
k = 0
1441321053114
4112975011116
1354381171347
196296287178
599325687534
992256813165
k = 1
4212785110917
1335391151448
2451301154112
609126697335
972357793266
206394297276
k = 2
1346371161546
3431311252113
4012894911018
982455803364
216195307077
589227677436

k = 3
287178196296
687534599325
813165992256
1053114144132
5011116411297
1171347135438
k = 4
697335609126
793266972357
297276206394
5110917421278
1151448133539
1154112245130
k = 5
803364982455
307077216195
677436589227
1161546134637
1252113343131
4911018401289

aijk (6次体汎斜立体方陣)
k = 0 (第1面)
144132207164103
411297167106201
135438100204170
198155121287178
158124192687534
118195161813165
k = 1 (第2面)
421278166108200
133539102203169
245130206163105
157126191697335
120194160793266
197154123297276
k = 2 (第3面)
134637101202171
343131205165104
401289168107199
119193162803364
196156122307077
159125190677436

k = 3 (第4面)
189146139196296
149142183599325
136186152992256
105311421617385
501111617688210
117134782213179
k = 4 (第5面)
148144182609126
138185151972357
188145141206394
511091717590209
115144884212178
115411221517287
k = 5 (第6面)
137184153982455
187147140216195
150143181589227
116154683211180
125211321417486
491101817789208

※ この方法を一般化することによって,任意の奇数次元 n に対して 半偶数次 n-汎斜方陣を構成することができる(偶数次元 n に対しては 半偶数次 n-汎斜方陣は存在しない).なお,阿部楽方氏の6次体汎斜立体方陣は,本方法に類似した方法で作成されたものと思われる.

Back

2.2 対称な体汎斜立体方陣 (m = 4x+2, m ≧ 6)

求める対称体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によって与えられる.
aijk = bijk (m/2)3 + cijk + 1,

ここで
bijk = v1 (t = (m-2)/4),
7-v0 (t < (m-2)/4, t + (m-2)/4 が偶数),
v0 (t < (m-2)/4, t + (m-2)/4 が奇数),
cijk = k* (m/2)2 + i* (m/2) + j* (i+j+k が偶数),
(m/2)3 - 1 - {k* (m/2)2 + i* (m/2) + j*} (i+j+k が奇数),
ここで
i* = i/2 (i が偶数),
(m-1-i)/2 (i が奇数),
j* = j/2 (j が偶数),
(m-1-j)/2 (j が奇数),
k* = k/2 (k が偶数),
(m-1-k)/2 (k が奇数),
t = min[{(i* + j* - 2k*) mod (m/2)}, {(-i* - j* + 2k*) mod (m/2)}],
v0 = 4(k mod 2) + 2(j mod 2) + {(i+j+k) mod 2},
v1 = 7 - v0/2 (v0 が偶数),
3 - (v0-1)/2 (v0 が奇数).

この方法を一般化することによって,任意の奇数次元 n に対して 対称な半偶数次 n-汎斜方陣を構成することができる.

備考
m = 4x+2, m ≧ 10 ならば,m 次の 対称体汎斜立体方陣 aijk (i,j,k = 0,...,m-1) は以下の式によっても作成可能である.
m が3の倍数でない場合:
aijk = bijk (m/2)3 + cijk (m/2)2 + dijk (m/2) + eijk + 1,

m が3の倍数である場合:
aijk = bijk (m/2)3 + Sm/2,3(cijk) (m/2)2 + Sm/2,3(dijk) (m/2) + Sm/2,3(eijk) + 1,

ここで
Sm/2,3(x) = Qm/6,3([x/3], x mod 3).

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), Sm,q(x) の具体例については,全汎斜立体方陣のページを参照のこと.

bijk, cijk, dijk, eijk は次のように定義される.
bijk = G*8,m/2(v, z),
cijk ≡ i + j + k + 1   (mod. m/2),   0 ≦ cijk < m/2,
dijk ≡ i - j + k   (mod. m/2),   0 ≦ dijk < m/2,
eijk ≡ i + j - k   (mod. m/2),   0 ≦ eijk < m/2,

ここで
v = 4[2i/m] + 2[2j/m] + {([2i/m] + [2j/m] +[2k/m]) mod 2},   (0 ≦ v ≦ 7),
z ≡ i + j + k - 3(m-2)/4   (mod. m/2),   -(m-2)/4 ≦ z ≦ (m-2)/4,

G*N,m/2(v, z) (N は2のべき乗, m/2 は奇数, 0 ≦ v < N)は次のように定義される.
m/2 ≡ 3 (mod. 4) の場合:
G*N,m/2(v, z) = v (z = 0),
v/2 (|z| > 0, z が偶数, v が偶数),
N/2 + (v-1)/2 (|z| > 0, z が偶数, v が奇数),
N - 1 - v/2 (|z| > 0, z が奇数, v が偶数),
N/2 - 1 - (v-1)/2 (|z| > 0, z が奇数, v が奇数),

m/2 ≡ 1 (mod. 4) の場合:
G*N,m/2(v, z) = v (z = 0),
N - 1 - v (|z| = 1),
v/2 (|z| > 1, z が偶数, v が偶数),
N/2 + (v-1)/2 (|z| > 1, z が偶数, v が奇数),
N - 1 - v/2 (|z| > 1, z が奇数, v が偶数),
N/2 - 1 - (v-1)/2 (|z| > 1, z が奇数, v が奇数),

G*N,m/2(v, z) は以下の性質を満たす(逆に,以下の性質を満たしていさえすればよい).

(1) 全ての整数 z に対して { G*N, m/2(v, z) | 0 ≦ v < N } = { 0, 1, ..., N-1 },
(2) 和 Σ z=0,m/2-1 {G*N, m/2(2v, z)} が v によらず一定,
(3) Σ z=0,m/2-1 {G*N, m/2(2v, z)} + Σ z=0,m/2-1 {G*N, m/2(2v+1, z)} = (N-1)m/2,
(4) G*N, m/2(v, z) = G*N, m/2(v, -z),
(5) G*N, m/2(v, z) + G*N, m/2(N-1-v, z) = N-1.

こちらのページに m = 10 の場合の例を示す.

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
立体方陣と高次元方陣