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