循環 C.  1 1 _ 排列

p i.n 的一列原子,則 p 稱為 n 次排列向量,且若 n=#b,則 p{b b 的子項的一組排列。

C.p 得到一列 i.#p 之原子封裝列,稱為排列 p標準循環表達式。故,若 p=:4 5 2 1 0 3,則 C.p (,2);4 0;5 3 1 因為排列 p 移至位置 2 的子項 2,到 4 的子項 0,到 0 的子項 4,到 5 的子項 3,到 3 的子項 1,到 1 的子項 5。單邊 C. 為自我反函;用在標準循環得到對應地直接表達式。

任一排列可以不同形式的循環來代表;標準形式由以下限制使其唯一:循環為不相交且無遺漏 (即,封裝分子的所有原子共同形成一組排列向量);每一封裝循環旋轉到以期最大分子起頭; 而封裝循環依其起頭分子升冪排列。

C. 擴充到非負非標準案例,將任意引數 q 視作順序為 1+>./; q 的排列的表達式。

單邊 C.!.2 計算排列 p 同位;其為 1 _1 端視要由identity排列 i.#p (為 0, p 不為排列)得到 p 的對換次數為偶數或奇數例如:
   ] x=: 2 , (i.4) ,: 1 0 2 3 
2 2 2 2
0 1 2 3
1 0 2 3
   C.!.2 x
0 1 _1
  p c #b次的標準與循環表達式,則 p C. b c C. b 產生 b 的排列。引數 p c 可以為以下定義的非標準。負整數掉到 -#b may be used,且視作其餘數modulo #b

q 未被封裝,且 (#b)|q 的分子各異,則 q C. b 同於 p C. b,其中 p q 的標準型 ,定義為 p=:((i.n)-.n|q),n|q ,其中 n=:#b 。換句話, 位置在 q 者被移到尾端。若 q 被封裝,(#b)|>j{q 的分子必須依 j 個別區分 ,且封裝動作被連續執行。 例如:
   (2 1;3 0 1) C. i.5
1 2 3 0 4

   (<2 1) C. (<3 0 1) C. i.5
1 2 3 0 4

   q=: C. p=: 1 2 3 0 4 [ a=: 'abcde'
   q ; (q C. a) ; (p C. a) ; (p { a)
+-----------+-----+-----+-----+
|+-------+-+|bcdae|bcdae|bcdae|
||3 0 1 2|4||     |     |     |
|+-------+-+|     |     |     |
+-----------+-----+-----+-----+

   a ; (<0 _1) C. a
+-----+-----+
|abcde|ebcda|
+-----+-----+

 

額外範例:

   ]p=: 22 ?. 22              次22的隨機排列
19 5 10 8 14 16 20 4 0 18 15 1 9 12 3 2 11 7 17 21 13 6

   C. p                       其循環
+-------+---------+-------------------------------------+
|15 2 10|16 11 1 5|21 6 20 13 12 9 18 17 7 4 14 3 8 0 19|
+-------+---------+-------------------------------------+

   *./ #&> C. p               循環長度的LCM
60

   # ~. p&{^:(i.200) i.#p      p產生的次集團之大小
60

動詞 CT 計算 n 完整張量 得到一稀疏陣列;輸入項 (<i){CT n 為 索引 i 的 同位。

   CT=: 3 : '(C.!.2 p) (<"1 p=. (i.!y.) A. i.y.)}1$.$~y.'

   CT 3
0 1 2 |  1
0 2 1 | _1
1 0 2 | _1
1 2 0 |  1
2 0 1 |  1
2 1 0 | _1

   ($.^:_1 CT 3) ; ,"2 ' ' ,"1 '012'{~ >{ i.&.> $~3
+--------+------------+
| 0  0  0| 000 001 002|
| 0  0  1| 010 011 012|
| 0 _1  0| 020 021 022|
|        |            |
| 0  0 _1| 100 101 102|
| 0  0  0| 110 111 112|
| 1  0  0| 120 121 122|
|        |            |
| 0  1  0| 200 201 202|
|_1  0  0| 210 211 212|
| 0  0  0| 220 221 222|
+--------+------------+

   (CT 3) -: C.!.2&> { i.&.> $~ 3
1

   ] m=: ?. 3 3$10
1 7 4
5 2 0
6 6 9

   +/ , (CT #m) * *// m
_225
   -/ .* m                    行列式 
_225

下個前個字彙索引主選單