Subgroup basis matrix
![]() |
This is an expert page. It is written to allow experienced readers to learn more about the advanced elements of the topic. |
A subgroup basis matrix is a matrix consisting of columns of monzos which is a generic representation for a basis of a just intonation subgroup, as its integer column spans span the subgroup. Each column represents an entry in the basis, 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.
Subgroup basis matrices are dual to temperament mapping matrices. Temperament mapping matrices are matrices that represent regular temperaments; they are linear maps that send monzos to tempered monzos. The integer row span of any mapping matrix is the set of all vals that support the temperament, which form a sublattice within the lattice of vals. Subgroup basis matrices are also linear maps, but they take subgroup monzos and map them to regular monzos on the parent JI group. And, dual to temperament mapping matrices, subgroup basis 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 back to regular vals. Note the duality here – subgroup vals are a quotient group of regular vals, whereas subgroup monzos are a subgroup of regular monzos.
Since the kernel of any temperament is a subgroup of JI, subgroup basis matrices 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.
Mathematical definition
As a preliminary, a 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]\displaystyle{ \mathbb 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 (i.e. it is surjective).
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 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 subgroup vals 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 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 subgroup vals 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 subgroup vals on a certain subgroup, and that the subgroup L which the elements of G* act on are subgroup monzos. Put another way, subgroup vals are thus quotients of vals, similarly to how tempered monzos are quotients of monzos; we call this restricting (or sometimes co-tempering) the vals.
Any subgroup basis matrix also thus has a left kernel, which is typically called the left nullspace in linear algebra (note the term cokernel is slightly different, so we do not 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 would 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 subgroup vals 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 subgroup val. The vals in the left kernel have the property that, for any V and any other val V0 in the left kernel, we have (V + V0)S = VS + V0S = VS + 0 = VS. In other words, any two vals differing by an element in the left kernel will restrict to the same subgroup val.
Example
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 S by forming a matrix in which the columns are the monzo representation of these intervals:
- [math]\displaystyle{ \displaystyle S = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & -1 \\ 0 & 0 & 1 \\ 0 & -1 & 0 \\ \end{bmatrix} }[/math]
Main transformation: mapping from subgroup monzos to parent group monzos
S can be viewed as a mapping from subgroup monzos to monzos. As an example, we will consider the matrix of subgroup monzos MG = [[0 1 0⟩, [0 -2 1⟩], which represent 9/7 and 245/243 on the 2.9/7.5/3 subgroup G.
The dual transformation can be found by the multiplication M = SMG, which yields
- [math]\displaystyle{ \displaystyle M = \begin{bmatrix} 0 & 0 \\ 2 & -5 \\ 0 & 1 \\ -1 & 2 \\ \end{bmatrix} }[/math]
The columns form the 7-limit representation of 9/7 and 245/243, respectively, in 2.3.5.7 coordinates.
Dual transformation: subgroup restriction
To restrict a val to the subgroup defined by the subgroup basis matrix, we will left-multiply S by a val V. In this case, our val V will be the 7-limit patent val for 12edo:
- [math]\displaystyle{ \displaystyle V = \begin{bmatrix} 12 & 19 & 28 & 34 \end{bmatrix} }[/math]
The multiplication VG = VS yields the result
- [math]\displaystyle{ \displaystyle V_G = \begin{bmatrix} 12 & 4 & 9 \end{bmatrix} }[/math]
which tells us that the restriction of the 12edo patent val to the 2.9/7.5/3 subgroup is the subgroup val VG = ⟨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 subgroup matrix. For instance, here is the matrix V for 7-limit sensi:
- [math]\displaystyle{ \displaystyle V = \begin{bmatrix} 1 & -1 & -1 & -2 \\ 0 & 7 & 9 & 13 \\ \end{bmatrix} }[/math]
The matrix multiplication VG = VS gives us the following result:
- [math]\displaystyle{ \displaystyle V_G = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 2 \\ \end{bmatrix} }[/math]
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 left kernel of our subgroup matrix, which yields the null module spanned by ⟨0 1 1 2]. Any vals which differ by any multiple of this null val will restrict down to the same subgroup val. For instance, ⟨12 19 28 34] restricts to ⟨12 4 9] on the 2.9/7.5/3 subgroup, and ⟨12 19 28 34] + ⟨0 1 1 2] = ⟨12 20 29 36] also restricts down exactly to ⟨12 4 9].