| 循環 | C. 1 1 _ | 排列 |
|
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|
+-----+-----+
|
動詞 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