/ — Reduce
Monadic operator
f/Y inserts f between the items along the last axis, then evaluates that expression as usual, from the right. -/1 2 3 is 1-2-3, which is 2. An empty axis reduces to f’s identity.
+/1 2 3 ⍝ 6
-/1 2 3 ⍝ 2
+/⍬ ⍝ 0Reduction returns the accumulator. An unseeded one-item reduction returns that item. Unreduced axes supply the result frame.
,/⊂2 3 ⍝ 2 3
,/,⊂2 3 ⍝ 2 3
+/⊂⊂3 ⍝ ⊂3S f/ Y starts from seed S on the right. With Y holding [a b c], it is a f b f c f S. Empty reductions return the seed. Each lane uses the whole seed. The seed can share a run with the reduction, as in 10-/1 2 3. With a space, 10 -/1 2 3 is the strand 10 2.
10-/1 2 3 ⍝ ¯8
10+/2 3⍴⍳6 ⍝ 13 22
⊂10 +/ 1 2 3 ⍝ ⊂16
10 20 +/⍤0 1 [2 3]⍴⍳6 ⍝ 13 32Nested paths use seeded Pick reduction.
tree←[[10 20] [30 [40 50]]]
tree⊃/⌽1 1 0 ⍝ 40Use full windows for moving reductions.
+/↕1 2 3 4 ⍝ 3 5 7
-/⌽↕1 2 3 ⍝ 1 1
+/0↕1 2 ⍝ 0 0 0f/⍠K selects the axis. ⌿ defaults to the first.
Several axes form one reduction cell. f/⍠A Y ravels each selected cell before reducing, equivalent to (f/,)¨⊂⍠A Y. This is an exception to the general rule in Axis. A single axis retains ordinary reduction behavior.
n←2 2 3⍴⍳6
+/⍠1 2 n ⍝ 15 15
+/⍠0 2 n ⍝ 6 24Axis order determines the ravel order. Unselected axes retain their order and keys. Selecting every axis gives the reduced value itself, as a dfn along the same axes does.
-/⍠0 1 (2 2⍴⍳4) ⍝ ¯2
-/⍠1 0 (2 2⍴⍳4) ⍝ ¯4An empty axis vector makes singleton cells. A seed is passed whole to each cell.
+/⍠⍬ [1 2 3] ⍝ 1 2 3
10+/⍠1 2 (2 2 3⍴⍳6) ⍝ 25 25Float sum and product reductions can reassociate their operands. Other reductions keep operand order.
Errors
RANK: higher-rank axis specificationDOMAIN: axis vector with repeated or invalid axes, or a subject operand. Replicate with#