2,951
edits
m (Essays category) |
(→Target indices: Add BQN link) |
||
(One intermediate revision by one other user not shown) | |||
Line 53: | Line 53: | ||
└──┴────┴─┘ | └──┴────┴─┘ | ||
</source> | </source> | ||
A more rigorous approach is to allow the left argument to specify the [[index]] of the division to which the corresponding element belongs. In order for this to produce a partition, the left argument must be a vector of non-decreasing non-negative integers (as with the division endpoint representation). Then for a left argument <source lang=apl inline>l</source> the number of divisions is <source lang=apl inline>⊃⌽l</source>. | A more rigorous approach is to allow the left argument to specify the [[index]] of the division to which the corresponding element belongs. In order for this to produce a partition, the left argument must be a vector of non-decreasing non-negative integers (as with the division endpoint representation). Then for a left argument <source lang=apl inline>l</source> the number of divisions is <source lang=apl inline>⊃⌽l</source>. BQN's [[Group (BQN)|Group]] uses an extension of this representation. | ||
<source lang=apl> | <source lang=apl> | ||
1 1 3 3 3 3 6 part 'abcdefg' | 1 1 3 3 3 3 6 part 'abcdefg' | ||
Line 116: | Line 116: | ||
Because it interleaves elements from a vector with dividers, partitioning is closely related to the [[Mesh]] operation. In fact, a partition can be used to produce a mesh by prepending an element to each division and [[Raze]]ing: | Because it interleaves elements from a vector with dividers, partitioning is closely related to the [[Mesh]] operation. In fact, a partition can be used to produce a mesh by prepending an element to each division and [[Raze]]ing: | ||
<source lang=apl> | <source lang=apl> | ||
⎕←P | |||
┌┬──┬┬────┬┬┬─┐ | ┌┬──┬┬────┬┬┬─┐ | ||
││ab││cdef│││g│ | ││ab││cdef│││g│ |