Temperament mapping matrix: Difference between revisions
→Basics: clarify terminology |
more clarification |
||
Line 1: | Line 1: | ||
=Basics= | =Basics= | ||
The multiplicative group generated by any finite set of rational numbers is an r-rank free abelian group. Thus, an [[Abstract_regular_temperament|abstract regular temperament]], can be represented by a group homomorphism '''T''': J → K from the group J of JI rationals to a group K of tempered | The multiplicative group generated by any finite set of rational numbers is an r-rank free abelian group. Thus, an [[Abstract_regular_temperament|abstract regular temperament]], can be represented by a group homomorphism '''T''': J → K from the group J of JI rationals to a quotient group K of tempered intervals. This homomorphism can also be represented by a integer matrix, called a '''temperament mapping matrix'''; when context is clear enough it's also sometimes just called a '''mapping matrix''' for the temperament in question. (Note that many group homomorphisms can correspond to the same temperament, simply mapping to a different choice of tempered coordinates.) | ||
These are dual, in a certain sense, to [[Subgroup Basis Matrices|subgroup basis matrices]], which can be thought of as "co-tempering" vals in the same way that temperament mapping matrices "temper" monzos. | These are dual, in a certain sense, to [[Subgroup Basis Matrices|subgroup basis matrices]], which can be thought of as "co-tempering" vals in the same way that temperament mapping matrices "temper" monzos. | ||
Assuming we use the convention that row matrices represent vals and column matrices represent monzos, then a matrix M is said to be a mapping matrix for a temperament T if and only if the right nullspace of M consists of the kernel of T, M is of full row rank, and the rows of M generate a subgroup of the group vals which is [[Saturation|saturated]]. There is generally not a unique matrix M satisfying this definition for arbitrary temperament T, as for any M which is a valid mapping for T, any matrix U∙M where U is unimodular will also be a valid mapping for T. The different mapping matrices obtainable in this way still temper out the same commas, but differ in the choice of basis for the tempered | Assuming we use the convention that row matrices represent vals and column matrices represent monzos, then a matrix M is said to be a mapping matrix for a temperament T if and only if the right nullspace of M consists of the kernel of T, M is of full row rank, and the rows of M generate a subgroup of the dual group of vals which is [[Saturation|saturated]]. There is generally not a unique matrix M satisfying this definition for arbitrary temperament T, as for any M which is a valid mapping for T, any matrix U∙M where U is unimodular will also be a valid mapping for T. The different mapping matrices obtainable in this way still temper out the same commas, but differ in the choice of basis for the quotient group of tempered intervals. | ||
The integer column span of any mapping matrix is the group of T-tempered intervals, also known as the group of '''tempered monzos''' [[Tmonzos_and_Tvals|tmonzos]] for T. The integer row span of any mapping matrix for a temperament T is the subgroup of vals that all support T. Note also that this means that if T is of rank r, then any rank-r matrix in which the rows span the subgroup of vals supporting T will be a valid mapping for T. | The integer column span of any mapping matrix is the quotient group of T-tempered intervals, also known as the quotient group of '''tempered monzos''' [[Tmonzos_and_Tvals|tmonzos]] for T. The integer row span of any mapping matrix for a temperament T is the subgroup of vals that all support T. Note also that this means that if T is of rank r, then any rank-r matrix in which the rows span the subgroup of vals supporting T will be a valid mapping for T. | ||
Note also that since all mapping matrices for T will have the same integer row span, we can easily check to see if two matrices represent the same temperament by checking to see if they generate the same [[Normal_lists#x-Normal val lists|normal val list]], or more generally if they have the same Hermite normal form. | Note also that since all mapping matrices for T will have the same integer row span, we can easily check to see if two matrices represent the same temperament by checking to see if they generate the same [[Normal_lists#x-Normal val lists|normal val list]], or more generally if they have the same Hermite normal form. | ||
=Dual Transformation= | =Dual Transformation= | ||
Any mapping matrix can be said to represent a linear map '''M:''' J → K, where J is a | Any mapping matrix can be said to represent a linear map '''M:''' J → K, where J is a group of JI intervals and K is a quotient group of tempered intervals. There is thus an associated dual transformation '''M*:''' K* → J*, where J* and K* are the dual groups to J and K, respectively. J* is the dual group of vals on J, and K* is the group of '''tempered vals''' or [[Tmonzos_and_Tvals|tvals]] on K. As tempered vals can naturally be viewed as a subgroup of all vals, so '''M'''* represents a linear transformation mapping from tvals to vals. This mapping will generally be injective but not surjective; its image is the subgroup of vals supporting the associated temperament, and no two tvals map to the same val. | ||
These two transformations correspond to different types of matrix multiplication: the ordinary transformation '''M''' corresponds to multiplication with the mapping on the left and a matrix whose columns are monzos on the right, and the dual transformation '''M'''* corresponds to multiplication with the mapping on the right and a matrix whose rows are tvals on the left. | These two transformations correspond to different types of matrix multiplication: the ordinary transformation '''M''' corresponds to multiplication with the mapping on the left and a matrix whose columns are monzos on the right, and the dual transformation '''M'''* corresponds to multiplication with the mapping on the right and a matrix whose rows are tvals on the left. | ||
=Example= | =Example= | ||
11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for [[15-EDO|15-EDO]] and [[22-EDO|22-EDO]]. Since these two vals form a saturated | 11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for [[15-EDO|15-EDO]] and [[22-EDO|22-EDO]]. Since these two vals form a saturated subgroup of the dual group of 11-limit vals, then the matrix formed by setting the rows to these vals is a valid mapping matrix for porcupine: | ||
<math>\left[ \begin{array}{rrrrrrl} | <math>\left[ \begin{array}{rrrrrrl} | ||
Line 55: | Line 55: | ||
The result of '''P'''∙'''M''' is the matrix [|1 0>, |1 -3>], telling us that 2/1 maps to the tmonzo |1 0>, and that 3/2 maps to the tmonzo |1 -3>. This tells us that 2/1 maps to one of the generators for porcupine and that 3/2 is made up of one 2/1 minus three of the other generator. It so happens that the other generator is 10/9, which maps to |0 1>. | The result of '''P'''∙'''M''' is the matrix [|1 0>, |1 -3>], telling us that 2/1 maps to the tmonzo |1 0>, and that 3/2 maps to the tmonzo |1 -3>. This tells us that 2/1 maps to one of the generators for porcupine and that 3/2 is made up of one 2/1 minus three of the other generator. It so happens that the other generator is 10/9, which maps to |0 1>. | ||
We can use this technique to indeed confirm that 55/54, 64/63, and 100/99 form a basis for the | We can use this technique to indeed confirm that 55/54, 64/63, and 100/99 form a basis for the kernel of '''P''' by putting these intervals in monzo form as columns of a matrix '''N''', which works out to be [|-1 -3 1 0 1>, |6 -2 0 -1 0>, |2 -2 2 0 -1>]. If we then evaluate the product '''P∙N''' we get the matrix [|0 0>, |0 0>, |0 0>], meaning that all of these intervals map to the unison tmonzo. This confirms that the kernel of porcupine does indeed lie in the kernel of '''P'''. | ||
'''The Dual Transformation''' | '''The Dual Transformation''' |