Subgroup monzos and vals: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
Given a [[just intonation subgroup]], we can find a canonical form for its [[generator]]s by means of the [[Normal lists #Normal interval list|normal interval list]] which may be computed from any finite set of generators. In the case of the full ''p''-limit group for any prime ''p'', this consists of the primes from 2 to ''p'' in ascending order. This is precisely the ordered list used to define [[Vals and tuning space|vals]] and [[Monzos and interval space|monzos]], and we may generalize the notation simply by using any normal interval list in place of the ascending primes to ''p''. This generalization we may call the '''subgroup monzos''' and '''subgroup vals''', or '''smonzos''' and '''svals''' for short.
A '''subgroup monzo''' is a monzo whose elements refer to powers of arbitrary "basis elements" in JI (specified rationals such as 2, 3, 35, and 13/11 which are combined to form the set of intervals in a [[subgroup]]), rather than strictly to ordered primes. For cases where the basis elements are all prime numbers, a subgroup monzo can be seen as "abbreviating" entries from a standard monzo: for example, the monzo [0 0 -1 0 0 1⟩ (13/5) may be abbreviated to the subgroup monzo 5.13 [-1 1⟩. However, subgroup monzos can refer to intervals in subgroups whose basis elements are not primes, for example 2.3.13/5 [1 -1 1⟩ for 26/15. In that case, conversion to and from a subgroup monzo is a little more complicated, and is covered in the next section.
 
A '''subgroup val''' is like a standard val, but the entries are the mappings of subgroup basis elements rather than strictly of primes (and can be derived from a standard val by applying the val to the basis intervals). Since converting to a subgroup val loses information, there is no clear way to convert a subgroup val back to a standard val.
 
For short, a subgroup monzo may be referred to as an '''smonzo''', and a subgroup val may be referred to as an '''sval'''.


== Conversion ==
== Conversion ==
The simplest way to convert between standard monzos and subgroup monzos is to evaluate the monzo as a rational number, then start factoring out either primes or subgroup basis elements. To convert 2.3.13/5 [1 -1 1⟩ to a standard monzo, we first look at the interval itself, which is 26/15. You can see that there's 2*13 on the top, and then 3*5 on the bottom, and so the correct monzo is [1 -1 -1 0 0 1⟩.
To convert back, knowing the subgroup 2.3.13/5, we evaluate this monzo as a fraction (26/15). Recognizing the factor of 13/5 is a little tricky, but you can rearrange the expression as (26/5)/3 to make it more visible. Once you factor it out you have 13/5 * 2 on top, and 3 on the bottom, which can be used to write the subgroup monzo [1 -1 1⟩.
=== Without rationals ===
The following section goes over ways to convert between the two types of monzos without looking at the monzo's value as a rational.
In order to convert a subgroup monzo to a standard monzo (without converting it to a rational number), look at the monzo for each basis element of the subgroup monzo. For example, 2.3.13/5 [1 -1 1⟩:
In order to convert a subgroup monzo to a standard monzo (without converting it to a rational number), look at the monzo for each basis element of the subgroup monzo. For example, 2.3.13/5 [1 -1 1⟩:


Line 22: Line 33:
26/15 = [1 -1 -1 0 0 1⟩.
26/15 = [1 -1 -1 0 0 1⟩.


To go back from [1 -1 -1 0 0 1⟩ to our subgroup monzo, the most reasonable option is to repeatedly subtract and add the monzos for our subgroup basis elements until we reach the unison [0 0 0 0 0 0⟩.
[1 -1 -1 0 0 1⟩ - [0 0 -1 0 0 1⟩ + [0 1 0 0 0 0⟩ - [1 0 0 0 0 0⟩ = [0 0 0 0 0 0⟩
If we keep track of how many times we subtract each basis monzo (negative for adding it), it's 1 for 2, -1 for 3, and 1 for 13/5. Thus, we re-derive our subgroup monzo [1 -1 1⟩.
=== Linear algebra ===
Mathematically speaking, if '''m'''<sub>''G''</sub> is an smonzo of the subgroup ''G'', and if ''S'' is a [[subgroup basis matrix]] whose columns form a basis for the subgroup ''G'', then the corresponding monzo '''m''' is given by
Mathematically speaking, if '''m'''<sub>''G''</sub> is an smonzo of the subgroup ''G'', and if ''S'' is a [[subgroup basis matrix]] whose columns form a basis for the subgroup ''G'', then the corresponding monzo '''m''' is given by