blob: 26ecf971e86a815dd0f498389a87e8bc50cd98a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
∇ R←M COMBIN N;D;E;F;G;P
⍝ Returns a matrix of every possible
⍝ combination of M elements from the
⍝ vector ⍳N. That is, returns a
⍝ matrix with M!N rows and N columns.
⍝
E←(⍳P←N-R←M-1)-⎕IO
D←R+⍳P
R←(P,1)⍴D
P←P⍴1
L1:→(⎕IO>1↑D←D-1)⍴0
P←+\P
G←+\¯1↓0,F←⌽P
E←F/E-G
R←(F/D),R[E+⍳⍴E;]
E←G
→L1
∇
∇ R←M QUICKEXP N
⍝ Matrix exponentiation
B ← ⌊ 1 + 2 ⍟ N
V ← (B ⍴ 2) ⊤ N
L ← ⊂ M
R ← ⊃ +.× / V / L ⊣ { L ← (⊂ A +.× A ← ↑L) , L }¨ ⍳ B-1
∇
|