Gencom: Difference between revisions

Godtone (talk | contribs)
m typo
Re-organize
Line 1: Line 1:
A '''gencom''' is a list of generators for a [[temperament]] followed by commas for the temperament, in a specific order. The generators are [[transversal generators]], meaning rational intervals belonging to the JI group the temperament tempers, which it tempers to generators for the temperament. The gencom is denoted [generator list; comma list], with a semicolon between the generators and the commas. For instance, [16/15 25/24; 81/80] is a gencom for [[5-limit]] meantone. On the other hand, the exact same intervals with a different placement of the semicolon is a gencom for 5-limit JI: [16/15 25/24 81/80;], and another, [16/15; 25/24 81/80] gives 5-limit [[7edo|7et]].
A '''gencom''' is a list of [[generator]]s for a [[regular temperament|temperament]] followed by [[comma]]s for the temperament, in a specific order. The generators are [[transversal generators]], meaning rational intervals belonging to the JI group the temperament tempers, which it tempers to generators for the temperament. The gencom is denoted [generator list; comma list], with a semicolon between the generators and the commas. For instance, [16/15 25/24; 81/80] is a gencom for [[5-limit]] meantone. On the other hand, the exact same intervals with a different placement of the semicolon is a gencom for 5-limit JI: [16/15 25/24 81/80;], and another, [16/15; 25/24 81/80] gives 5-limit [[7edo|7et]].


A gencom uniquely characterizes a temperament in that it specifies the unique temperament on the given group tempering out the given commas. In other words, converting a gencom to a [[normal forms #Normal forms for commas|normal interval list]] gives a canonical form for the subgroup, which is an {{w|invariant (mathematics)|invariant}} of the temperament; doing the same to just the commas produces another invariant, and together these determine the temperament.
However, the normal list defined by the generators alone is not an invariant of the temperament, since the generators give only a transversal for the tempered intervals of the temperament, not the full set of intervals being tempered. Hence, for instance, [2 40/27; 81/80] and [2 3/2; 81/80] both define 5-limit meantone, but the normal list for [2 40/27] is 2.27/5 and for [2 3/2] is 2.3.
== Gencom mapping ==
The reason for putting the generators together with the commas is that notating the gencom as a list of [[monzo]]s allows it to be treated as a [[subgroup basis matrix]]: the group of intervals generated by the gencom is the same no matter how we place the semicolon, and so is the matrix. When this group is a [[harmonic limit|full ''p''-limit group]], as in the example above, the matrix is a {{w|unimodular matrix}}. Inverting and transposing it gives a matrix whose rows are [[val]]s; if ''r'' is the [[rank]] of the temperament, then the first ''r'' rows are the [[mapping|mapping matrix]] corresponding to the generator transversal. More interesting is the case where the gencom generates a [[Just intonation subgroups|JI subgroup]] of some ''p''-limit. In all cases the transpose of the [[pseudoinverse]] of the matrix of monzos gives a matrix of vals whose first ''r'' rows we call the '''gencom mapping''', and which in its entirety we call the '''extended gencom mapping'''. The extended gencom mapping is only a unimodular matrix, and the inversion ordinary matrix inversion, in the case of the full ''p''-limit. However in all cases the transpose pseudoinverse of the gencom matrix is the extended gencom mapping, and the transpose pseudoinverse of the extended mapping is the gencom matrix.
The reason for putting the generators together with the commas is that notating the gencom as a list of [[monzo]]s allows it to be treated as a [[subgroup basis matrix]]: the group of intervals generated by the gencom is the same no matter how we place the semicolon, and so is the matrix. When this group is a [[harmonic limit|full ''p''-limit group]], as in the example above, the matrix is a {{w|unimodular matrix}}. Inverting and transposing it gives a matrix whose rows are [[val]]s; if ''r'' is the [[rank]] of the temperament, then the first ''r'' rows are the [[mapping|mapping matrix]] corresponding to the generator transversal. More interesting is the case where the gencom generates a [[Just intonation subgroups|JI subgroup]] of some ''p''-limit. In all cases the transpose of the [[pseudoinverse]] of the matrix of monzos gives a matrix of vals whose first ''r'' rows we call the '''gencom mapping''', and which in its entirety we call the '''extended gencom mapping'''. The extended gencom mapping is only a unimodular matrix, and the inversion ordinary matrix inversion, in the case of the full ''p''-limit. However in all cases the transpose pseudoinverse of the gencom matrix is the extended gencom mapping, and the transpose pseudoinverse of the extended mapping is the gencom matrix.


The rows of the extended gencom mapping are in general fractional vals, meaning the coefficients are allowed to be rational numbers. When applied to elements of the subgroup generated by the gencom, these fractional vals always return an integer value, which gives the number of times the corresponding generator or comma appears in the expression of the interval in terms of the gencom; the gencom mapping applied to a subgroup basis matrix is a matrix of generator steps in terms of [[smonzos and svals|subgroup vals (svals)]], which is exactly the sval mapping. However, the converse is not the case: if the gencom mapping returns integer values, it does not mean the interval must belong to the gencom subgroup.
The rows of the extended gencom mapping are in general fractional vals, meaning the coefficients are allowed to be rational numbers. When applied to elements of the subgroup generated by the gencom, these fractional vals always return an integer value, which gives the number of times the corresponding generator or comma appears in the expression of the interval in terms of the gencom; the gencom mapping applied to a subgroup basis matrix is a matrix of generator steps in terms of [[smonzos and svals|subgroup vals (svals)]], which is exactly the sval mapping. However, the converse is not the case: if the gencom mapping returns integer values, it does not mean the interval must belong to the gencom subgroup.


== Invariance ==
The extended gencom mapping can also be used to determine if an interval ''q'' is in the group of the temperament. Suppose [''c''<sub>1</sub> ''c''<sub>2</sub> … ''c''<sub>n</sub>] is a gencom and [''v''<sub>1</sub> ''v''<sub>2</sub> … ''v''<sub>''n''</sub>] is the corresponding extended mapping. Then each of ''v''<sub>1</sub> (''q''), ''v''<sub>2</sub> (''q'') … ''v''<sub>''n''</sub> (''q'') must be an integer, and moreover we must have ''q'' = ''c''<sub>1</sub>^''v''<sub>1</sub> (''q'') · ''c''<sub>2</sub>^''v''<sub>2</sub> (''q'') · … · ''c''<sub>''n''</sub>^''v''<sub>''n''</sub> (''q''). This provides sufficient conditions as well as necessary ones.
Converting a gencom to a [[Normal lists #Normal interval list|normal interval list]] gives a canonical form for the subgroup, which is an {{w|Invariant (mathematics)|invariant}} of the temperament. Doing the same to just the commas produces another invariant, and together these determine the temperament: it is the unique temperament on the given group tempering out the given commas. The normal list defined by the generators alone is not an invariant of the temperament, since the generators give only a transversal for the tempered intervals of the temperament, not the full set of intervals being tempered. Hence, for instance, [2 40/27; 81/80] and [2 3/2; 81/80] both define 5-limit meantone, but the normal list for [2 40/27] is 2.27/5 and for [2 3/2] is 2.3. However, the extended gencom mapping can be used to determine if an interval ''q'' is in the group of the temperament. Suppose [''c''<sub>1</sub> ''c''<sub>2</sub> … ''c''<sub>n</sub>] is a gencom and [''v''<sub>1</sub> ''v''<sub>2</sub> … ''v''<sub>''n''</sub>] is the corresponding extended mapping. Then each of ''v''<sub>1</sub> (''q''), ''v''<sub>2</sub> (''q'') … ''v''<sub>''n''</sub> (''q'') must be an integer, and moreover we must have ''q'' = ''c''<sub>1</sub>^''v''<sub>1</sub> (''q'') · ''c''<sub>2</sub>^''v''<sub>2</sub> (''q'') · … · ''c''<sub>''n''</sub>^''v''<sub>''n''</sub> (''q''). This provides sufficient conditions as well as necessary ones.


== Example ==
== Example ==