APLX Help : Help on APL language : APL Primitives : / Reduce
|
|
|
|
|
When used with a function operand the The left operand of +/ 2 4 6 (This is the same as 2+4+6)
12
SALES←25 5.7 8 50 101 74 19
+/SALES
282.7 (The sum of the numbers in SALES)
⌈/82 66 93 13 (The same as 82 ⌈ 66 ⌈ 93 ⌈ 13.
93 The result of 93⌈13 is compared
with 66; the result of this comparison
is compared with 82; the result of the
last comparison is the largest)
∨/0 1 1 0 0 (The same as 0 ∨ 1 ∨ 1 ∨ 0 ∨ 0)
1 (Used to test if there are any 1s)
^/0 1 1 0 0 (Are there any 1's?)
,/ 'ABC' 'DEF' 'HIJ'
ABCDEFHIJ
⍴,/'ABC' 'DEF' 'HIJ' (Result is a scalar)
EMPTY
TABLE
1 2 3
4 5 6
×/TABLE (Multiply is applied to the elements
6 120 of a matrix. Since no dimension is
specified, it works on the last
dimension, the columns. 6 is the
result of multiplying the columns in
row 1. 120 is the product of those
in row 2)
×/[1]TABLE (The [1] specifies that the operation
4 10 18 is to apply across the 1st dimension,
×⌿TABLE the rows. Each element in row 1 is
4 10 18 multiplied by the corresponding
element in row 2.)
N-Wise ReductionThe definition of N-wise Reduction is very similar to the definition of Reduction. The left argument, an integer scalar or length one vector, is used to specify the length of successive subsets of the right argument on which the Reduction operation is performed. If the left argument is negative, each subset is reversed before the reduction operation is carried out. For a left argument of absolute value n and the selected axis of the right argument of length m, the number of subsets to which the reduction can be applied are: 1 + m - n and thus the limiting case is where the sample size is 1 greater than the length of the selected axis, giving a empty result. 2+/⍳10 (Add up the numbers 2 at a time, starting
3 5 7 9 11 13 15 17 19 at the beginning of the vector)
5+/⍳10 (5 at a time)
15 20 25 30 35 40
10+/⍳10 (10 at a time - the same as ordinary
55 Reduction)
11+/⍳10 (Sample size 1 greater than right argument
empty result)
DATA←3 4⍴⍳12
DATA
1 2 3 4
5 6 7 8
9 10 11 12
2+/[2]DATA (Add up 2 at a time across the columns
3 5 7 the second dimension)
11 13 15
19 21 23
2+/[1]DATA (Add up 2 at a time across the rows, the
6 8 10 12 the fist dimension)
14 16 18 20
NUMS←10?10
NUMS
2 8 5 6 3 1 7 10 4 9
2-/NUMS (Subtract sucessive pairs of elements)
¯6 3 ¯1 3 2 ¯6 ¯3 6 ¯5 (Reverse the elements before subtracting)
¯2-/NUMS
6 ¯3 1 ¯3 ¯2 6 3 ¯6 5
2,/'AB' 'CD' 'EF' 'HI' (Join elements, 2 at a time)
ABCD CDEF EFHI
3,/'AB' 'CD' 'EF' 'HI'
ABCDEF CDEFHI
N-wise reduction is commonly used for moving averages. For example, if SALES is a vector of monthly sales figures, then (12+/SALES)÷12 gives the annualised moving average sales figures by month. |
|
APLX Help : Help on APL language : APL Primitives : / Reduce
|
|
Copyright © 1996-2010 MicroAPL Ltd