Subgroup monzos and vals: Difference between revisions

No edit summary
m - breadcrumbs (this isn't a subpage).
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Breadcrumb|Monzo|}}{{Breadcrumb|Val|}}
A '''subgroup monzo''' is a [[monzo]] whose elements refer to powers of the basis elements of a [[JI subgroup]] (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 [[prime interval|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 {{monzo| 0 0 -1 0 0 1 }} (13/5) may be abbreviated to the subgroup monzo 5.13 {{monzo| -1 1 }}. However, subgroup monzos can refer to intervals in subgroups whose basis elements are not primes, for example 2.3.13/5 {{monzo| 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 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 [[mapping]]s 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.


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 example, the subgroup val 2.3.7 {{val| 5 8 14 }} tells you that prime 2 is mapped to 5 steps, prime 3 is mapped to 8 steps, and prime 7 is mapped to 14 steps, without specifying a mapping for 5.
 
For example, the subgroup val 2.3.7 ⟨5 8 14] tells you that prime 2 is mapped to 5 steps, prime 3 is mapped to 8 steps, and prime 7 is mapped to 14 steps, without specifying a mapping for 5.


For short, a subgroup monzo may be referred to as an '''smonzo''', and a subgroup val may be referred to as an '''sval'''.
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⟩.
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


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⟩.
$$\vec m = S\vec m_G$$


=== Without rationals ===
Conversely, if '''m''' is a monzo for an interval in the subgroup, then we can take the [[pseudoinverse]] of ''S'', ''S''<sup>+</sup>, and the corresponding smonzo is given by
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⟩:
$$\vec m_G = S^+ \vec m$$


2 = [1 0 0 0 0 0⟩
For example, consider the subgroup generated by the [[The Archipelago|barbados triad]], 1–13/10–3/2–2. The normal interval list for [13/10, 3/2, 2] is [2, 3, 13/5], and we may use these just like the primes [2, 3, 5] of 5-limit just intonation. We may convert intervals in the subgroup into smonzos by the following procedure: form the matrix ''S'' with columns consisting of the monzos for 2, 3, and 13/10. Now the monzo for 676/675 is {{monzo| 2 -3 2 0 0 2 }}, and left-multiplying this by ''S''<sup>+</sup> gives the smonzo {{monzo| 2 -3 2 }}. We may check this is the correct smonzo from 2<sup>2</sup> 3<sup>-3</sup> (13/5)<sup>2</sup>, which is 676/675 as desired.


3 = [0 1 0 0 0 0⟩
Here is a tutorial that goes through the steps if you need to calculate them by hand.


13/5 =  [0 0 -1 0 0 1⟩
{{Databox|Tutorial|
Say we want to convert the subgroup monzo 2.3.13/5 {{monzo| 1 -1 1 }} to a standard monzo, look at the monzo for each basis element of the subgroup monzo:


Now, we take each of these monzos and multiply each of the entries by the corresponding entry in the subgroup monzo.
2 {{=}} {{monzo| 1 0 0 0 0 0 }}


[1 0 0 0 0 0⟩ * 1 = [1 0 0 0 0 0⟩
3 {{=}} {{monzo| 0 1 0 0 0 0 }}


[0 1 0 0 0 0⟩ * -1 = [0 -1 0 0 0 0⟩
13/5 {{=}} {{monzo| 0 0 -1 0 0 1 }}


[0 0 -1 0 0 1⟩ * 1 = [0 0 -1 0 0 1⟩
Now, we take each of these monzos and multiply each of the entries by the corresponding entry in the subgroup monzo.


Now, we add all the entries together vertically, to get:
{{monzo| 1 0 0 0 0 0 }} × 1 {{=}} {{monzo| 1 0 0 0 0 0 }}


26/15 = [1 -1 -1 0 0 1⟩.
{{monzo| 0 1 0 0 0 0 }} × (-1) {{=}} {{monzo| 0 -1 0 0 0 0 }}


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⟩.
{{monzo| 0 0 -1 0 0 1 }} × 1 {{=}} {{monzo| 0 0 -1 0 0 1 }}


[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⟩
Now, we add all the entries together vertically, to get:


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⟩.
26/15 {{=}} {{monzo| 1 -1 -1 0 0 1 }}.


=== Linear algebra ===
To go back from {{monzo| 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 {{monzo| 0 0 0 0 0 0 }}.
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


$$\vec m = S\vec m_G$$
{{monzo| 1 -1 -1 0 0 1 }} - {{monzo| 0 0 -1 0 0 1 }} + {{monzo| 0 1 0 0 0 0 }} - {{monzo| 1 0 0 0 0 0 }} {{=}} {{monzo| 0 0 0 0 0 0 }}


Conversely, if '''m''' is a monzo for an interval in the subgroup, then we can take the [[pseudoinverse]] of ''S'', ''S''<sup>+</sup>, and the corresponding smonzo is given by
If we keep track of how many times we subtract each basis monzo (negative for adding it), it is 1 for 2, -1 for 3, and 1 for 13/5. Thus, we re-derive our subgroup monzo {{monzo| 1 -1 1 }}.
}}


$$\vec m_G = S^+ \vec m$$
=== In elementary math ===
An elementary 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 {{monzo| 1 -1 1 }} to a standard monzo, we first look at the interval itself, which is 26/15. You can see that there is {{nowrap| 2 × 13 }} on the top, and then {{nowrap| 3 × 5 }} on the bottom, and so the correct monzo is {{monzo| 1 -1 -1 0 0 1 }}.


For example, consider the subgroup generated by the [[The Archipelago|barbados triad]], 1–13/10–3/2–2. The normal interval list for [13/10, 3/2, 2] is [2, 3, 13/5], and we may use these just like the primes [2, 3, 5] of 5-limit just intonation. We may convert intervals in the subgroup into smonzos by the following procedure: form the matrix ''S'' with columns consisting of the monzos for 2, 3, and 13/10. Now the monzo for 676/675 is {{monzo| 2 -3 2 0 0 2 }}, and left-multiplying this by ''S''<sup>+</sup> gives the smonzo {{monzo| 2 -3 2 }}. We may check this is the correct smonzo from 2<sup>2</sup> 3<sup>-3</sup> (13/5)<sup>2</sup>, which is 676/675 as desired.  
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 {{nowrap| 13/5 × 2 }} on top, and 3 on the bottom, which can be used to write the subgroup monzo {{monzo| 1 -1 1 }}.


[[Category:Subgroup]]
[[Category:Subgroup]]
[[Category:Val]]
[[Category:Val]]
[[Category:Monzo]]
[[Category:Monzo]]