The Xenakis Sieve as Object: A New Model and a Complete Implementation
Christopher Ariza · Computer Music Journal · 2005
Arizasection, "^" for symmetric difference, and "-" for complementation.For example, the sieve 3@0 | 4@0 produces the union of two residual classes, or the sieve sequence [ . . ., 0, 3, 4, 6, 8, 9, 12, . . .].The intersection of the same residual classes, notated 3@0 & 4@0, produces the sieve sequence [ . . ., 0, 12, 24, . . .].The symmetric difference, or the values in each residual class and not in both residual classes, notated 3@0 ^ 4@0, produces the sieve sequence [ . . ., -3, 3, 4, 6, 8, 9, 15, . . .].Unlike union, intersection, and symmetric difference, unary complementation operates on a single residual class or a group of residual classes.Binary complementation is not permitted.The sieve sequence of a complemented residual class, -M@I, is the sequence of all integers not in [email protected] residual class under complementation, -M@I, is equivalent to the union of all residual classes of the modulus (I from 0 to M-1) excluding the complemented residual class.For example, -3@0 is equal to the sieve 3@1 | 3@2, or the sieve sequence [ . . ., -7, -5, -4, -2, -1, 1, 2, 4, 5, 7, . . .].Likewise, -5@2 is equivalent to the sieve 5@0 | 5@1 | 5@3 | [email protected] precedence, from most-to least-binding, is in the following order: unary complementation, intersection, symmetric difference, union.By using braces ("{" and "}") as delimiters, a sieve can employ unlimited nesting.A delimited collection of residual classes is always evaluated before residual classes on the same hierarchical level.For example:There exist two types of sieves: simple and complex.A simple sieve uses at most a two-level, ordered grouping of residual classes, in which the inner level uses intersection, the outer level uses union, and complemented residual classes are never intersected.A maximally simple sieve is made of any number of single residual classes combined only by union.A complex sieve uses residual classes with any combination of logic operators at any hierarchical level, with hierarchical levels of unlimited depth.A sieve filters the set of all integers to produce an infinite sieve sequence.As all residual classes are periodic, all sieves are periodic.The period of a