Subgroup basis matrix: Difference between revisions

Inthar (talk | contribs)
rm superfluous formatting
Mike Battaglia (talk | contribs)
edited over one another
Line 1: Line 1:
= Basics =
= Introduction =
A [[Temperament_Mapping_Matrices_(M-maps)|temperament mapping matrix]], or M-map, is a Z-module homomorphism (aka abelian group homomorphism) '''T''': J → K from the free Z-module (abelian group) J of JI ratios to a new free Z-module K, where K then comes to represent tempered intervals, that is to say, intervals of an [[Abstract_regular_temperament|abstract regular temperament]]. We can also consider Z-module homomorphisms '''S:''' J* → L*, where J* is the Z-module of linear functionals (elements of Hom(J, Z)) on J, and where we map directly from J* to another Z-module of linear functionals L*; this Z-module is unrelated to K above. A bit of analysis will reveal that these homomorphisms restrict vals to [[Smonzos_and_Svals|svals]] on a certain subgroup, and that the Z-module L which the elements of L* act on are [[Smonzos_and_Svals|smonzos]]. Hence, since these new homomorphisms can also be represented by integer matrices, we will call such matrices '''subgroup mapping matrices''', or "val-maps" or '''V-maps''' when context demands they be distinguished from their temperamental counterparts, the [[Temperament_Mapping_Matrices_(M-maps)|M-maps]].
[[Temperament_Mapping_Matrices|Temperament mapping matrices]] are matrices in that represent regular temperaments; they are linear maps that send monzos to "tempered monzos" or "tmonzos." The integer row span of any mapping matrix is the set of all [[Vals|vals]] that support the temperament, which form a sublattice within the lattice of vals.


If we use the convention that row matrices represent vals and column matrices represent monzos, then a matrix V is said to be a mapping matrix for a subgroup G of a JI module J if and only if the column module of V spans G and if V is of full column rank. Note that, unlike with M-maps, we drop the restriction that G must be saturated, so that we specifically allow for subgroups with prime powers and the like.
There is a "dual" set of '''subgroup basis matrices''', (or "subgroup matrices" for short when the context is clear), in which we look at matrices in which the columns are monzos. These matrices have relevance in representing subgroups, as their integer column spans span some subgroup of JI. Each column represents an entry in the basis for a subgroup, e.g. [|1 0 0 0>, |0 1 0 0>, |0 0 1 0>] represents the 2.3.5 subgroup of 2.3.5.7. These matrices take "subgroup monzos" (or "smonzos") and map them to regular monzos on parent JI group.


The column module of any subgroup mapping matrix is the submodule of J corresponding to the subgroup G. The row module of any subgroup mapping matrix V is the module of [[Smonzos_and_Svals|svals]] which take coefficients representing, in order, the mappings for the intervals specified by the columns of V. Note that, much like with M-maps, there is not a unique mapping matrix for any subgroup: any matrix V of full-column rank which has columns that form a basis for G will also send vals to svals on that subgroup, but the coefficients of the svals will change to reflect the basis of V.
And, dual to temperament mapping matrices, these subgroup matrices can also be left-multiplied by vals and thus thought of as linear maps or group homomorphisms on vals. They send vals to subgroup vals on the basis represented by the matrix, sometimes called '''restricting''' (or, more rarely, "co-tempering") the vals. These are dual to how temperament mapping matrices send tempered vals, or "[[tvals]]", back to regular vals.


Of note is that, much like temperament homomorphisms, these new subgroup homomorphisms also have a kernel, but this kernel is now a subspace of vals rather than monzos. For any V-map V and associated subgroup G defined by the columns of V, the kernel of V consists of those vals tempering out G. These vals have the property that, for any val k in the kernel and any other val v, (k+v)∙V = k∙V + v∙V = 0 + v∙V = v∙V. In other words, any two vals differing by an element in the left null module will restrict to the same sval. Rather than saying that these null vals are "tempered out," we instead say that they are '''restricted away''', as their subgroup restriction under V is the zero sval.
(Note the duality here - subgroup vals are a *quotient group* of regular vals, whereas subgroup monzos are a *subgroup* of regular monzos.)


As a final note, we can easily see if two V-maps represent the same subgroup by checking to see if they form the same [[Normal_lists|normal interval list]], or if they have the same Hermite normal form.
Subgroup basis matrices can be used as a generic representation for a basis of any subgroups of JI. Since the kernel of any temperament is a subgroup of JI, they can thus be used to represent kernels. They can also be used to compute the "subgroup restriction" of a val or mapping matrix to a smaller subgroup.


=Dual Transformation=
= Mathematical Definition =
Much like with temperament mapping matrices, subgroup mapping matrices also have an associated dual transformation. Since the V-map represents a linear transformation '''S:''' J* L*, the associated dual transformation is '''S*:''' L → J. Since L is the module that the module L* of svals acts on, we can identify L with smonzos, and since J is the module of JI monzos, '''S'''* maps from smonzos back to monzos. As with the dual transformation on a mapping matrix sending tvals → vals, this mapping is generally injective but not surjective. No two smonzos will map to the same monzo, and the only monzos in the image of this transformation are those lying in the submodule of J denoted by G.
As a preliminary, a [[Temperament_Mapping_Matrices|temperament mapping matrix]] represents some particular basis of a temperament. In mathematical terms, it represents a group homomorphism '''T''': J → K from the free abelian group J of JI ratios to a group of "tempered intervals," which is isomorphic as a group to <math>\Bbb Z^n</math>. Using the usual convention, we have that column vectors are monzos and row vectors are vals, so that the rows of these matrices are vals, and typically we will have more rows than columns. The integer row span of these matrices represent all the vals which "support" the temperament; typically we require the matrix to not be [[contorted]] (meaning the subgroup of supporting vals is [[saturated]]) and of full row rank (e.g. it is '''surjective''').


The main transformation of any V-map V can be applied by matrix multiplication with the V-map on the right and a matrix with vals as rows on the left. Conversely, the dual transformation of V can be applied by matrix multiplication with the V-map on the left and a matrix with smonzos as columns on the right.
We can similarly look at the matrices formed by monzos, in which the column vectors are monzos, which we call a '''subgroup basis matrix.''' In mathematical terms, these represent group homomorphisms '''S''': G → J, where G is some subgroup of J, being injected back into the parent JI group J. We can view this matrix as mapping the subgroup monzos into back into the parent basis, and thus translating the coordinate system from the subgroup basis to the parent basis. The integer column span of these matrices represents all the monzos within the subgroup.
 
Typically, for a matrix S, with column vectors as monzos, to represent a true subgroup basis matrix, it must also be of full column rank, much like a temperament matrix must be of full row rank. Another way to look at this requirement is that it is '''injective''' into the parent group, dual to how we want mapping matrices to be '''surjective'''. However, we typically drop the restriction that this column span be [[saturated]], so that we can represent, for instance, the 2.9.5 subgroup, unlike with temperament mapping matrices, where unsaturated matrices have [[contorsion]] and are viewed as pathological.
 
Note that, much like with temperament mapping matrices, there is not a unique basis matrix corresponding to any subgroup: for instance, the two subgroup bases "3.2.5" and "2.3.5" represent the same subgroup, but will be represented by different matrices. Similarly, these two matrices will send vals to svals on the "2.3.5" and "3.2.5" bases respectively.
 
We can easily see if two subgroup basis matrices represent the same subgroup by reducing them to a normal form, such as those in the [[Normal_lists|normal interval list]] page. The normal forms for mapping matrices can easily be transposed and used for these matrices, such as the Hermite normal form. (Note that it typically makes more sense, when converting a normal form for use on monzos, to apply the form on a "vertically flipped and then transposed" version of the matrix, and then un-flipping and un-transposing.)
 
The integer column span of any subgroup basis matrix is said to '''generate''' the subgroup G. The integer row span of any subgroup basis matrix generates the "dual subgroup" of </span>[[Smonzos_and_Svals|svals]] in which the coefficients represent, in order, the mappings for the intervals specified by the columns of S.
 
= Dual Transformation =
 
We can also multiply a subgroup basis matrix with another matrix on the left, one in which the rows are vals. This gives the "dual transformation" of that subgroup basis. Since multiplication from the right represents a linear transformation '''S:''' G → J, mapping from subgroup monzos to monzos, the associated dual transformation is '''S*:''' J* → G*. A bit of analysis will reveal that these homomorphisms are maps which restrict vals to [[Smonzos_and_Svals|svals]] on a certain subgroup, and that the subgroup L which the elements of G* act on are [[Smonzos_and_Svals|smonzos]]. Put another way, svals are thus quotients of vals, similarly to how tmonzos are quotients of monzos; we call this '''restricting''' (or sometimes "co-tempering") the vals.
 
Any subgroup basis matrix also thus has "left kernel," which is typically called the "left nullspace" in linear algebra (note the term "cokernel" is slightly different, so we don't use it here). The left kernel is a subgroup of vals that temper out everything in the subgroup generated by the subgroup basis matrix. So for instance, if matrix S generates a subgroup representing the kernel for some temperament, the left nullspace represents all the vals tempering out that kernel (and thus which support the temperament).
 
S can also represent an arbitrary subgroup of JI, such as ones with monzos we'd like to play (rather than just representing the kernel for some temperament). In this situation, it is useful to view S as a map from vals to svals on S's subgroup basis. With this interpretation, S still has a left kernel of vals, which is the set of vals that are '''restricted away''' (or "co-tempered out"), as their subgroup restriction under S is the zero sval. The vals in the left kernel have the property that, for any v and any other val k in the left kernel, we have (v+k)∙S = v∙S + k∙S = v∙S + 0= v∙S. ''In other words, any two vals differing by an element in the left kernel will restrict to the same sval.''


=Example=
=Example=
Say that our JI module J is in the 7-limit, and we want to look at temperaments on the 2.9/7.5/3 subgroup. We can create the V-map by forming a matrix in which the columns are the monzo representation of these intervals:
Say that our JI parent group J is in the 7-limit, and we want to look at temperaments on the 2.9/7.5/3 subgroup. We can create the subgroup mapping matrix by forming a matrix in which the columns are the monzo representation of these intervals:


<math>
<math>
Line 27: Line 43:
</math>
</math>


We can also write this matrix notationally as follows:
This matrix will be called '''S''' in the examples below.
 
==Main Transformation: Mapping from Subgroup Monzos to Parent Group Monzos'==
 
'''S''' can be viewed as a mapping from smonzos to monzos. As an example, we'll consider the matrix of smonzos [|0 1 0&gt;, |0 -2 1&gt;|] on the 2.9/7.5/3 subgroup, which represent 9/7 and 245/243.
 
If this matrix is X, then the dual transformation can be found by multiplying S∙X, which yields


<math>
<math>
\left[ \begin{array}{rrrrrl}
\left[ \begin{array}{rrr}
| & 1 & 0 & 0 & 0 & \rangle\\
0 & 0\\
| & 0 & 2 & 0 & -1 & \rangle\\
2 & -5\\
| & 0 & -1 & 1 & 0 & \rangle
0 & 1\\
-1 & 2
\end{array} \right]
\end{array} \right]
</math>
</math>


where it's understood that the kets are representing that the rows in this matrix are really column vectors, just written as rows due to an abuse of notation. A shorthand notation of this matrix is [|1 0 0 0&gt;, |0 2 0 -1&gt;, |0 -1 1 0&gt;]. This matrix will be called '''V'''.
These monzos are the 7-limit representation of 9/7 and 245/243, respectively, in 2.3.5.7 coordinates.


'''Subgroup Restriction'''
==Dual Transformation: Subgroup Restriction==


To restrict a val to the subgroup defined by the V-map, we'll left-multiply '''V''' by a val '''W'''. In this case, our val '''W''' will be the 7-limit patent val for [[12edo|12-EDO]]:
To restrict a val to the subgroup defined by the subgroup basis matrix, we'll left-multiply '''S''' by a val '''V'''. In this case, our val '''V''' will be the 7-limit patent val for [[12edo|12-EDO]]:


<math>
<math>
\left[ \begin{array}{rrrrrl}
\left[ \begin{array}{rrrrrl}
| & 12 & 19 & 28 & 34 & \rangle
12 & 19 & 28 & 34
\end{array} \right]
\end{array} \right]
</math>
</math>


Multiplying '''W'''∙'''V''' yields the result
Multiplying '''V'''∙'''S''' yields the result


<math>
<math>
\left[ \begin{array}{rrrrl}
\left[ \begin{array}{rrrrl}
| & 12 & 4 & 9 & \rangle
12 & 4 & 9
\end{array} \right]
\end{array} \right]
</math>
</math>


which tells us that the restriction of the 12-EDO patent val to the 2.9/7.5/3 subgroup has a mapping of 12 steps for 2/1, a mapping of 4 steps for 9/7, and a mapping of 9 steps for 5/3.
which tells us that the restriction of the 12-EDO patent val to the 2.9/7.5/3 subgroup is the sval <12 4 9|, with a mapping of 12 steps for 2/1, a mapping of 4 steps for 9/7, and a mapping of 9 steps for 5/3.


We can also send temperament mapping matrices into the V-map. For instance, here's 7-limit [[Starling_temperaments#Sensi temperament|sensi]]:
We can also send temperament mapping matrices into the subgroup matrix. For instance, here's 7-limit [[Starling_temperaments#Sensi temperament|sensi]]:


<math>
<math>
\left[ \begin{array}{rrrrrl}
\left[ \begin{array}{rrrrrl}
\langle & 1 & -1 & -1 & -2 & |\\
1 & -1 & -1 & -2\\
\langle & 0 & 7 & 9 & 13 & |\\
0 & 7 & 9 & 13\\
\end{array} \right]
\end{array} \right]
</math>
</math>


If we call this matrix '''M''', then the matrix multiplication '''M∙V''' gives us the following result:
If we call this matrix '''M''', then the matrix multiplication '''M∙S''' gives us the following result:


<math>
<math>
\left[ \begin{array}{rrrrrl}
\left[ \begin{array}{rrrrrl}
\langle & 1 & 0 & 0 & |\\
1 & 0 & 0 \\
\langle & 0 & 1 & 2 & |\\
0 & 1 & 2 \\
\end{array} \right]
\end{array} \right]
</math>
</math>


This tells us that the subgroup restriction of sensi to the 2.9/7.5/3 subgroup is a new temperament mapping on the subgroup which sends 2/1 to one generator, 9/7 to the other generator, and 5/3 to two 9/7's. Additionally, since this is the multiplication of an M-map and a V-map, the resulting matrix also has the interpretation of having a set of columns representing the tmonzos that the 7-limit sensi M-map sends 2/1, 9/7, and 5/3 to, respectively.
This new matrix tells us that the subgroup restriction of sensi to the 2.9/7.5/3 subgroup is a new temperament mapping on the subgroup which sends 2/1 to one generator, 9/7 to the other generator, and 5/3 to two 9/7's. That is, it is just the subgroup restriction of each row independently.


We can also look at the kernel of our V-map, which yields the null module spanned by &lt;0 1 1 2|. Any vals which differ by any multiple of this null val will restrict down to the same sval. For instance, &lt;12 19 28 34| restricts to &lt;12 4 9| on the 2.9/7.5/3 subgroup, and &lt;12 19 28 34| + &lt;0 1 1 2| = &lt;12 20 29 36| also restricts down exactly to &lt;12 4 9|.
We can also look at the left kernel of our subgroup matrix, which yields the null module spanned by &lt;0 1 1 2|. Any vals which differ by any multiple of this null val will restrict down to the same sval. For instance, &lt;12 19 28 34| restricts to &lt;12 4 9| on the 2.9/7.5/3 subgroup, and &lt;12 19 28 34| + &lt;0 1 1 2| = &lt;12 20 29 36| also restricts down exactly to &lt;12 4 9|.
 
'''The Dual Transformation'''
 
'''V''' implies a dual transformation mapping smonzos to monzos. As an example, we'll consider the matrix of smonzos [|0 1 0&gt;, |0 -2 1&gt;|]. If this matrix is X, then the dual transformation can be found by multiplying V∙X, which yields
 
<math>
\left[ \begin{array}{rrrrrrl}
| 0 & 2 & 0 & -1 & \rangle\\
| 0 & -5 & 1 & 2 & \rangle
\end{array} \right]
</math>


These monzos are the 7-limit representation of 9/7 and 245/243, respectively. Again, the "rows" here are in kets to specify that they're still supposed to be monzos and hence columns.


[[Category:Theory]]
[[Category:Theory]]