Recursive structure of MOS scales: Difference between revisions
→General algorithm: Specified that the algorithm for finding generators returns both generators in their large form |
m →General algorithm (produces a perfect bright generator and an augmented dark generator): Revered title back to its short form |
||
Line 279: | Line 279: | ||
The recursive structure also allows a recursive algorithm to find the generator. Note that every mos actually has two generators: its bright and dark generator. Whichever generator is used depends on the situation, so the algorithm, which is a modification of the mos-finding algorithm from last section, finds both. The reason why this works is that the reduction both ''preserves'' and ''reflects'' the generator; see the ''proofs'' section. | The recursive structure also allows a recursive algorithm to find the generator. Note that every mos actually has two generators: its bright and dark generator. Whichever generator is used depends on the situation, so the algorithm, which is a modification of the mos-finding algorithm from last section, finds both. The reason why this works is that the reduction both ''preserves'' and ''reflects'' the generator; see the ''proofs'' section. | ||
=== General algorithm | === General algorithm === | ||
This is the general algorithm for finding a moment of symmetry scale's bright and dark generators for a mos xL ys as two (unequal) halves of the mos pattern xL ys. This algorithm will produce that scale's generators without any prior knowledge of how the scale's steps are ordered. This algorithm is recursive. Let x be the number of L's and y the number of s's. | This is the general algorithm for finding a moment of symmetry scale's bright and dark generators for a mos xL ys as two (unequal) halves of the mos pattern xL ys. This algorithm will produce that scale's generators without any prior knowledge of how the scale's steps are ordered. This algorithm is recursive. Let x be the number of L's and y the number of s's. | ||
Line 297: | Line 297: | ||
#### If x > y, every instance of an L in both generators is replaced with one L and u s's, and every s replaced with one L and v s's. This produces the final scale's generators, where pregen1 is the bright generator and pregen2 is the dark generator. | #### If x > y, every instance of an L in both generators is replaced with one L and u s's, and every s replaced with one L and v s's. This produces the final scale's generators, where pregen1 is the bright generator and pregen2 is the dark generator. | ||
#### If y > x, every instance of an L in both generators is replaced with u L's and one s, and every s replaced with v L's and one s. This produces the final scale's generators, where pregen1 is the bright generator and pregen2 is the dark generator. | #### If y > x, every instance of an L in both generators is replaced with u L's and one s, and every s replaced with v L's and one s. This produces the final scale's generators, where pregen1 is the bright generator and pregen2 is the dark generator. | ||
Note that one of the mos properties is that generic interval classes have two specific sizes, and the generators produced this way are in their large interval sizes: the bright generator is a perfect bright generator, and the dark generator is an augmented dark generator. To produce the generators in their small form, that is a diminished bright generator and perfect dark generator, replace one L in either generator with an s. | Note that one of the mos properties is that generic interval classes have two specific sizes, and the generators produced this way are actually in their large interval sizes: the bright generator is a perfect bright generator, and the dark generator is an augmented dark generator. To produce the generators in their small form, that is a diminished bright generator and perfect dark generator, replace one L in either generator with an s. | ||
If the number of steps in the generators is needed, simply count the total number of L's and s's in each generator. | If the number of steps in the generators is needed, simply count the total number of L's and s's in each generator. |