tag:blogger.com,1999:blog-70030669089570860412024-03-13T21:56:27.408+00:00Clamor Vincit OmniaA place to discuss the various ways of organising noises.
Some mathematics is assumed.LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-7003066908957086041.post-30642502061150456482023-07-07T08:09:00.000+01:002023-07-07T08:09:38.911+01:00Re-Composing: Interview with D V Feldman by Peter Nelson-King<a href="https://re-composing.blogspot.com/2023/07/an-interview-with-david-victor-feldman.html?spref=bl">Re-Composing: An Interview with David Victor Feldman on the Hump...</a>: There is an inherent loneliness in seeking unknown art, and likewise in the work of collecting and preserving it. Much of my time doing it i...LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-23928414308977305522020-10-02T00:06:00.007+01:002021-01-10T17:11:30.288+00:00Quivering Recreations<h2>Recap</h2>
<p><a href="2020/09/wedding-weeding.html" target="_new" title="Wedding Weeding">Last time</a>, we used a set of arrows and vertices to represent a sequence of notes:</p>
<p>
<table cellpadding="0" cellspacing="0">
<tbody>
<style>td { padding-left: 0; padding-right: 0; text-align: left; }
tr { width: 720; }</style>
<tr><td colspan="2">such as the 'Cantus 1' line found in the first section of C T Padbrué's Synphonia in nuptias (for the marriage betwixt Steyn & van Napels)</td></tr>
<tr><td colspan="2"><audio controls src="http://sonic.storistry.com/padbru/pavane.ogg">Your browser does not support the <code>audio</code> element.</audio><br/>
If the player doesn't work, there's some
<a href="http://sonic.storistry.com/padbru/pavane.ogg" target="play" title="Start of Padbrué's Pavane">ogg vorbis over here</a>.</td>
</tr>
<tr><td colspan="2"><img width="700" src="http://image.storistry.com/padbru/Pavane.png" alt="Fragment Padbrué Synphonia"/></td></tr>
<tr><td>as a graph:</td><td>reducible (eliminating uni-cycles and bi-cycles) to:</td></tr>
<tr><td><img width="410" src="http://image.storistry.com/padbru/cantus1.png" alt="Representation as graph of pitch transitions"/></td>
<td><img width="290" src="http://image.storistry.com/padbru/cantus1red.png" alt="Distillation of pitch transitions"/></td></tr>
<tr><td colspan="2">whereupon we recovered the following three 'distillations' of the three lines</td></tr>
<tr><td colspan="2"><img width="700" src="http://image.storistry.com/padbru/3canti.png" alt="Three Distillations"/></td></tr>
<tr><td colspan="2"><audio controls src="http://sonic.storistry.com/padbru/redpad.mp3">Your browser does not support the <code>audio</code> element.</audio><br/>
We concocted a couple of examples using the reduced lines (as before, if the player doesn't work, there's some
<a href="http://sonic.storistry.com/padbru/redpad.mp3" target="play" title="Reductions of Padbrué's Pavane">mp3 over here</a>).</td>
</tr>
</tbody>
</table>
</p>
<p>These directed graphs are known as <a href="https://en.wikipedia.org/wiki/Quiver_(mathematics)">quivers</a>, consisting as they do of bunches of arrows, often many together (all facing the same direction) between vertex pairs since we've eliminated arrows which cancel each other out (i.e. all bi-cycles).</p>
<p>We wondered how many paths (if any) - consuming <em>all</em> arrows, exactly once - could be used to traverse each of these three graphs. It turns out (via nothing more sophisticated than brute force exhaustive searching) that for these three distillations there are (3, 130, 55) such paths. We show the three for cantus 1 and three typical ones for the other lines:</p>
<table cellpadding="0" cellspacing="0">
<thead>
<tr><th>Cantus 1<br/>(8 arrows)</th><th>Cantus 2<br/>(13 arrows)</th><th>Bassus<br/>(11 arrows)</th></tr>
</thead>
<tbody>
<style>td { padding-left: 3em; padding-right: 3em; }</style>
<tr>
<td>C F E D C B♭ A D F<br/>C B♭ A D C F E D F<br/>C B♭ A D F E D C F</td>
<td>C D E C D A F E A B♭ C A B♭ C<br/>D E C D A F E A B♭ C A B♭ C D<br/>A F E A B♭ C A B♭ C D E C D A</td>
<td>G D C F D A B♭ C G A B♭ G<br/>B♭ G D C G A B♭ C F D A B♭<br/>D A B♭ C F D C G A B♭ G D</td>
</tr>
</tbody>
</table>
</p>
<h2>Mutation Primer</h2>
<p>The following describes an operation which - as someone said back in the 1990s when it was first being investigated - is elementary but complex.</p>
<p>We consider the idea of a
<a href="https://webusers.imj-prg.fr/~bernhard.keller/quivermutation/" target="_blank">quiver mutation</a> as applied to these reduced melodic lines. It's necessary to perform these reductions before we mutate since the rules of mutation require it. The mutation is performed - reversibly - on a vertex of the quiver. In our case the vertex represents a musical pitch, but we don't change that pitch. Instead we alter its connections to its preceding and succeeding pitches by swapping their places and completing a circuit. Basically, the rules are - at the selected vertex:
</p>
<ol>
<li>Reverse all arrows entering and leaving the mutating vertex, <strong>M</strong>.</li>
<li>For every pair of vertices (<strong>P</strong>, <strong>S</strong>) <em>now</em> entering and exiting <strong>M</strong> (a 2-path from <strong>P</strong>(redecessor) to <strong>S</strong>(uccessor) via <strong>M</strong>), 'complete the circuit' <strong>PMS</strong> by adding a <em>new</em> arrow from <strong>S</strong> to <strong>P</strong>.</li>
<li>Maintain the 'no bi-cycle' constraint on the quiver by removing any newly introduced (by circuit completion) oppositely-directed arrow pairs.</li>
</ol>
<p>We'll try to maintain a certain consistency of terminology here in distinguishing
<ul>
<li>an <em>arrow</em> - a single directed edge (with one 'arrowhead') from one vertex to another, different one (no uni-cycles)</li>
<li>a <em>path</em> - a trip from one vertex to another via arrows</li>
</ul>
Thus all arrows are paths (perforce of length 1) but not all paths are arrows. A path may start and finish at the same vertex - this is a cycle, or <em>circuit</em>. Thus all circuits are paths but not all paths are circuits. Note that quiver rules eliminate (and mutation rules maintain) all circuits which are also paths of length 2 (no bi-cycles).</p>
<p>Note that in this specific discussion we're referring to a path of length 2 passing through a <em>mutating vertex</em> as a <em>2-path</em>. The two (non-mutating) vertices must be different otherwise we'd have a bi-cycle between it and the mutating vertex.</p>
<p>We illustrate a sequence of mutations - successively on vertices 1, 2, 3, 2 - in the following figure:</p>
<p><img width="700" src="http://image.storistry.com/padbru/muchain1232.png" alt="Mutation chain on vertices 1, 2, 3, 2"/></p>
<p>The first mutation (μ₁) is on vertex labeled ① and reverses arrows ③→① and ①→②. As a consequence there's a 2-path from ②, via ①, to ③ and we 'complete the tri-cycle' by introducing a new arrow ③→②, thus producing the second quiver in the sequence. Since there were no opposing arrows from ② to ③, it remains.</p>
<p>The second mutation (μ₂) at vertex ② reverses arrows ③→② and ②→①. Consequently there's a 2-path from ① to ③ so we complete ②'s tri-cycle by adding a new arrow from ③ to ①. This time there's already an opposing arrow, ①→③. This would introduce a (forbidden) bi-cycle, so we annihilate the pair.</p>
<p>Note that at this stage (deftly avoiding the word 'point') a reapplication of μ₂ would exactly reverse what we have just done. <em>All</em> quiver mutations performed twice in succession at the same vertex are 'do nothings'.</p>
<p>The remaining mutations on vertices ③ and ② proceed as shown. The final mutation on ② turns that vertex from being a sink (no arrows leave it) into being a source (no arrows enter it).</p>
<p>Note that, in general, mutations on distinct nodes ⓜ and ⓝ do not commute, i.e. a quiver resulting from mutation by μₘ then μₙ is unlikely to be the same as the one resulting from μₙ then μₘ.</p>
<p>For this particular set of three vertices, 14 distinct configurations are possible with various applications of the three mutations:</p>
<p><img src="http://image.storistry.com/padbru/14states.png" alt="14 quiver configurations on three vertices"/></p>
<p>In the above, we've labeled the configurations with a τ to suggest a triangle, πₙ to suggest a path through vertex n, and σₙ to suggest a source at vertex n. The inverses, e.g. τ⁻¹ and σₙ⁻¹ (a sink instead of a source) are essentially the same but with all arrows reversed. The following graph (edges bi-directional) shows all 21 ways of mutating between the 14 configurations.</p>
<p><img src="http://image.storistry.com/padbru/quivertrans.png" alt="all single-arrow mutations on three vertices"/></p>
<p>The operations μ₁, μ₂ and μ₃ permute τ, π₁, π₂, π₃, σ₁, σ₂, σ₃, τ⁻¹, π₁⁻¹, π₂⁻¹, π₃⁻¹, σ₁⁻¹, σ₂⁻¹, σ₃⁻¹ without affecting the 'shape' of that graph (the vertex labels just - in this case - swap places seven pairs at a time). Thus we have a group which acts upon, and thereby represents the symmetries of, the structure held by these vertices. For example the first generator, μ₁, effects the seven simultaneous transpositions: (π₁,τ)(π₂,σ₂⁻¹)(π₃,σ₃)(σ₁,σ₁⁻¹)(σ₂,π₂⁻¹)(σ₃⁻¹,π₃⁻¹)(τ⁻¹,π₁⁻¹). And mutations μ₂ and μ₃ act - <em>mutatis mutandis</em> - similarly. The group generated is (C₂×C₂×C₂×C₂×C₂×C₂)⋉S₇, the semidirect product of the group (of order 64) formed from the direct product of 6 cyclic groups of order 2 with the group (of order 5040) of permutations of 7 symbols. This quiver group is of order 322560 = 7!(₈C₇)² = 7! × 64 = 2¹⁰×3²×5×7. The order of this group is 'coincidentally' the same as the number of ways 7 rooks may be placed on a standard 8×8 chessboard such that none may attack another.</p>
<h2>Musical Mutations</h2>
<p>Needless to say, mutations on quivers with more than three vertices can get considerably more complicated. In general, there will be no limit to the number of configurations. If we consider the six possible mutations possible on the vertices of the above Cantus 1 distillation we can see, for example, that there are four 2-paths through the D vertex, i.e. ADC, ADF, EDC, EDF. All four of these 2-paths will be inverted by a mutation at D and will thereby engender four new arrows AC, AF, EC and EF; the last of these cancelling the existing arrow FE. Thus a quiver with - originally - 8 arrows becomes a quiver with 11. Mutations will always preserve the vertex set but, in general, the number of arrows will typically increase at each application as arrow generation will typically exceed any consequent cancellations.</p>
<p>Although it's <em>possible</em> to have finite quiver groups on six vertices, our trio of Padbrué 'compressings' - all, as it happens, with six vertices - are of infinite order. The six possible 'first mutations', for each quiver, are shown in the following diagram:</p>
<p><img src="http://image.storistry.com/padbru/padmuts.png" alt="Three Reductions of Padbrué's Pavane, with their Six Mutations"/></p>
<p>The first column (with the uncoloured background) carries the reduction into quivers of each of the three lines in the Pavanne. The remaining six colums show, for each melody, the quivers resulting from mutations on each of the original quiver's six pitches in the order C, D, E, F, A and B♭ for canti 1 and 2 and in the order C, D, F, G, A and B♭ for the bass line. The green backgrounds denote quivers which may be <em>fully traversed</em>, in that it's possible to walk a path from some start vertex to some end vertex consuming each arrow exactly once. The pink backgrounds indicate quivers where this is impossible. This answers - in the negative - the question of its always being possible 'to find at least one path using all arrows in the graph' asked in the previous post.</p>
<p>Clearly a fully traversed path of <em>n</em> arrows will have <em>n + 1</em> pitches in it from start to finish. Note that such paths are <em>not</em> cycles (Hamiltonian or otherwise) since no 'loop' is completed by terminating at the start node (one may certainly end at the same <em>pitch</em> one began on, but as each pitch may (in general) be visited many times in a traversal, such visits count as separate 'versions').</p>
<p>The following table shows the number of arrows in each of these (first) mutations and also - where possible - the number of full path traversals.</p>
<table cellpadding="0" cellspacing="0">
<tbody>
<style>td { padding-left: 1em; padding-right: 1em; text-align: right; } th { text-align: right; border-top: 1px solid black; border-bottom: 1px solid black; }</style>
<tr><th colspan="2">Cantus I</th><th>μ(C)</th><th>μ(D)</th><th>μ(E)</th><th>μ(F)</th><th>μ(A)</th><th>μ(B♭)</th></tr>
<tr><th>arrows:</th><td>8</td><td>10</td><td>10</td><td>7</td><td>8</td><td>9</td><td>9</td></tr>
<tr><th># traversals:</th><td>3</td><td>6</td><td>14</td><td>-</td><td>3</td><td>-</td><td>5</td></tr>
<tr><th colspan="2">Cantus II</th><th>μ(C)</th><th>μ(D)</th><th>μ(E)</th><th>μ(F)</th><th>μ(A)</th><th>μ(B♭)</th></tr>
<tr><th>arrows:</th><td>13</td><td>16</td><td>15</td><td>13</td><td>12</td><td>16</td><td>15</td></tr>
<tr><th># traversals:</th><td>130</td><td>-</td><td>315</td><td>130</td><td>10</td><td>-</td><td>315</td></tr>
<tr><th colspan="2">Bassus</th><th>μ(C)</th><th>μ(D)</th><th>μ(F)</th><th>μ(G)</th><th>μ(A)</th><th>μ(B♭)</th></tr>
<tr><th>arrows:</th><td>11</td><td>11</td><td>11</td><td>10</td><td>11</td><td>13</td><td>13</td></tr>
<tr><th># traversals:</th><td>55</td><td>44</td><td>44</td><td>5</td><td>121</td><td>234</td><td>234</td></tr>
</tbody>
</table>
<p>We've already shown above (and in the previous post) some melodies arising from full traversals of the unmutated quivers. We see that it's always possible to find a full traversal after one mutation at D for all lines (e.g. CDACB♭AFDECF for cantus 1, B♭CEDCADCAFEAB♭CAB♭ for cantus 2, and GADFAB♭GAB♭CDG for the bass line. Mutations at F for both canti provide melodies FCEFDCB♭AD and ECDEFAB♭CDAB♭CA. There's no such animal available for the bass - not because there are no possible traversals but because there's no F to mutate on. Instead we can mutate on G and find full traversals, one of which is FDGB♭CAB♭DAGCF. All three lines can provide full traversals after a mutation on B♭, e.g. ADCAB♭CFEDF, DECDACB♭ACB♭AFEACD and B♭ACFDCGDACB♭AGB♭.</p>
<h2>Abstraction to Application</h2>
<p>We present a short study using the mutations mentioned. As always, if the player doesn't work, there's some
<a href="http://sonic.storistry.com/padbru/mutating.ogg" target="play" title="Mutations on a Padbrué Pavane">ogg vorbis over here</a>.</p>
<audio controls src="http://sonic.storistry.com/padbru/mutating.ogg">Your browser does not support the <code>audio</code> element.</audio>
<p><a href="http://score.storistry.com/Mutating.pdf" title="PDF Score available"><img src="http://image.storistry.com/padbru/padmutant.png" alt="Mutations on a Padbrué Pavane"/></a></p>
<p>Naturally one need not stop at one mutation, nor need one mutate on the same pitch, simultaneously, for each line. As long as one does not mutate a quiver on the same pitch twice (which simply takes you back to where you were) the mutations are - in general - endless (but not for the simple 14 state explanatory model presented earlier). In this particular example, we're always going to be in F major (or D minor, or E Locrian, G Dorian etc), but clearly 'seed' material from more chromatic pieces will tend to stay chromatic.</p>
<p>Note that there's no guarantee that, after each mutation, a full 'all-arrow-consuming' traversal is possible across a quiver one ends up with. But if they <em>do</em> exist then the more often one mutates, the more such possible traversals will exist and the longer will they become. In any case, there's no law forcing you to use only mutations which result in fully traversible quivers.</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-2922868055053574042020-09-13T12:29:00.006+01:002020-09-13T16:27:51.934+01:00Wedding Weeding<p>On a bright cold day in February of MDCXLII (though we doubt the clocks were striking XIII), <em>Matthias Steyn</em> and <em>Marie van Napels</em> got married in Haarlem.</p>
<p>Here's the first section of Cornelis Thymanszoon Padbrué's <em>Synphonia in nuptias</em> written for the occasion.</p>
<p><img alt='Padbrué's Pavane' src='http://image.storistry.com/padbru/Pavane.png' width='700'/></p>
<p>Each of the three lines is a sequence of single notes and can be written as a <em>path</em> without regard to their length or octave.
The first line is C, D, E, F, E, D, C♯, D, E, F, G, F, E, etc and it can be represented as a directed graph:</p>
<p><img alt='Pavane Cantus 1' src='http://image.storistry.com/padbru/cantus1.png'/></p>
<p>where the arrows represent the transitions between consecutive notes in the melodic line, and the numbers on the arrows indicate how many times such a transition happens within it.</p>
<p>We're now ready to play a game with this graph.</p>
<h2>La Règle du jeu</h2>
<ul>
<li>Remove all <em>unicycles</em> and <em>bicycles</em></li>
<li>Remove any resulting isolated notes</li>
</ul>
<p>All of which sounds distressingly bike-unfriendly, notwithstanding an evident tricycle tolerance, but these are technical terms.</p>
<p>A <em>unicycle</em> is an arrow leaving a note and going right back to it without any intervening notes. This particular line has none,
so there's nothing to do here. But Cantus II has a unicycle at bar 13 where a C is 'restarted' in bar 14. The Bass line is, like the first, devoid of unicycles.</p>
<p>A <em>bicycle</em> is an arrow from one note to another where there's also an arrow from that second note back to the first.
There's an obvious one on the left of the above figure between G and A and also on the right between D and C♯.</p>
<p>Where there are multiple arrows in both directions between a pair of notes, we simply cancel opposite pairs and any that remain - perforce in only one direction - are retained.
Thus the single arrow from A to B♭ will cancel one of the two from B♭ to A, leaving only one arrow from B♭ to A. Thus we end up with:</p>
<p><img alt='Reduced Pavane Cantus 1' src='http://image.storistry.com/padbru/cantus1red.png'/></p>
<p>Notice that we've completely lost two notes, C♯ and G. This is because both these notes were attached to each of their immediate neighbours by completely cancelling bicycles.</p>
<p>Note also that we've lost the numbers on the arrows. This is because bicycle cancellations - mostly - leave only one arrow which we shan't bother labelling with a 1.
If <em>two</em> (or more) arrows remain, perforce in the same direction from one note to another, we shall draw them in explicitly - similarly unlabelled.</p>
<p>In fact this occurs in both of the other lines which we shall now process. First, Cantus II:</p>
<p><img alt='Reduction of Cantus 2' src='http://image.storistry.com/padbru/cantus2.png'/></p>
<p>where, for example, the unicycle at C has been removed and one of the three transitions from B♭ to C has been cancelled by the lone transition from C to B♭,
leaving the two arrows shown. Notice again that G has been banished since it was connected exclusively by cancelling bicycles.</p>
<p>Finally, we'll go straight to the de-cycled version of the bass line:</p>
<p><img alt='Reduced Base' src='http://image.storistry.com/padbru/cantus3red.png'/></p>
<h2>New Paths for Old</h2>
<p>Obviously it's possible to find a path through each of the original graphs since that's how they were constructed in the first place.</p>
<p>The question is,</p>
<li>Is it possible to find a path through each reduced graph, each arrow being used exactly once?</li>
<p>You're allowed to start wherever you like. Let's reproduce the three graphs together here:</p>
<p><img alt='Three reduced lines' src='http://image.storistry.com/padbru/3canti.png' width='700'/></p>
<p>Inspection shows a path C, B♭, A, D, C, F, E, D, F across the first line. It's 9 notes long and consumes all 8 arrows.</p>
<p>Musical considerations (the original is in either F major or D minor [OK so it might be B♭ Lydian, <em>etc</em>, too]) indicate that since we're beginning the first line with a C
that we might consider the piece as being in F major and that we start with an A in line 2 and F in line 3 (or vice versa).</p>
<p>For line 2 we can find a path (of all 13 arrows) A, F, E, C, A, B♭, C, D, E, A, B♭, C, D, A.</p>
<p>And for line 3 we can find F, D, C, G, A, B♭, G, D, A, B♭, C, F, a path with 12 notes consuming all 11 arrows.</p>
<p>This is convenient - it also ends in F major, albeit <em>sans</em> its 5th. It's beginning to look like we can get a half-decent 8 bar sequence out of this. For example:</p>
<p><img alt='A Padbrué Reduction' src='http://image.storistry.com/padbru/padred.png' width='700'/></p>
<p>And here's another one:</p>
<p><img alt='Another Padbrué Reduction' src='http://image.storistry.com/padbru/padredalt.png' width='700'/></p>
<p>If your browser supports it, these <a href="http://sonic.storistry.com/redpad.mp3" title="link to mp3" target="_play">two chunks of pressed Padbrué</a> may be heard (twice each) with the player below.</p>
<audio controls volume="0.1">
<source src="http://sonic.storistry.com/redpad.mp3">
<font color="#ff0000"><strong>unsupported audio element</strong></font>
</audio>
<p>These are two (re-)compositions from the same three paths, and it's clear that - musically - there's no real limit to expressions of such 'distillations'
although they'll probably all sound a bit 'samey'.</p>
<p>But is there a limit to the number of paths through any of these note-gardens? Are these the <em>only</em> paths? Can you find any others?</p>
<p>One is tempted to believe that - given their construction from a guaranteed initial path - there will always be at least <em>one</em> path in the reduction. But the pruning is pretty brutal - we can, after all, lose notes - so have we just been lucky with these three examples?</p>
<h2>Acknowledgements</h2>
By the Way, thanks to
<ul>
<li><a href='https://musescore.org'>musescore</a> for music composition, pics and midis</li>
<li><a href='https://mandoc.dev/mftext.1'>mftext</a> for converting midi to text</li>
<li><a href='https://en.wikipedia.org/wiki/AWK'>awk</a> for turning text into graphviz dot files</li>
<li><a href='https://graphviz.gitlab.io/resources/'>graphviz</a> for the graph-drawing</li>
</ul>
<p>All free!</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-55758990197417428612020-04-22T19:13:00.000+01:002020-04-22T22:35:12.764+01:00Amateur League<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
inlineMath: [[ '$','$']],
displayMath: [['$$','$$']],
processEscapes: true
},
"HTML-CSS": { availableFonts: ["TeX"] }
});
</script>
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js">
</script>
<style>
figure {
padding: 0.9em;
background: #fff;
margin: 0 auto 1em;
}
.bartic {
counter-reset: figures;
}
figure figcaption {
counter-increment: figures;
}
figure figcaption:before {
content: 'Fig. ' counter(figures) ' - ';
}
figure figcaption {
box-shadow:0px 0px 15px #222;
border-radius: 5px;
font-weight: 700;
padding: .5em;
text-align: center;
color: #fff;
background: #884;
width: 70%;
}
td.met {
width: 15mm;
padding-right: 2em;
text-align: right;
}
</style>
<h3>The results are in</h3>
<p>As promised in the <a href="/2020/04/amateur-hour.html" target="ppost">last post</a>, we have now calculated the lengths of aluminium tubing (of a certain grade) required to produce a set of tubular chimes - and
even <em>that</em> is much too grandiose a term for the rather toy-like set of <a href="https://www.1stchoicemetals.co.uk/product/6mm-x-1mm-aluminium-round-tube/" title="not a sponsor!" target="vend">factory-cut hollow rods</a> purchased, at the very reasonable price of about thirty quid (including delivery), for the experiment.</p>
<p>The material arrived the next day, and I measured the lengths principally because I needed accurate data for my calculations below - and only secondarily to check that they were as ordered (which they
pretty much were, and certainly within the vendor's advertised tolerance). I also weighed them, principally to check that the density matched the theoretical density used in the frequency calculations - which
of course it did, to within about a half of a percent. As I have no machinery to check its Young's modulus of elasticity, I continue to rely on its wikipedially reported value.</p>
<p>Measuring their frequencies was the most difficult task, and involved suspending the tubes with a hot-glued thread connecting the top of each tube to a shelf, and recording them - with my trusty
<a href="https://www.zoom-na.com/products/field-video-recording/field-recording/zoom-h2n-handy-recorder" title="not a sponsor!" target="vend">H2N Zoom</a> recorder -
being lightly struck by a similar aluminium tube. Here's a composite of the noises made by this 'instrument'.</p>
<figure>
<figcaption>Thirteen Tings<span label="fig:ting13"></span></figcaption>
</figure>
<audio controls volume="0.1">
<source src="http://sonic.storistry.com/ChimeScale.flac">
<font color="#ff0000"><strong>unsupported audio element</strong></font>
</audio>
<p>Do not be fooled by the levels. Although the samples in this recording are untreated (apart from being chopped up into segments), those small cylinders cannot shift very much air and the sounds are quite quiet. It's
the H2N being held (by hand) up close.</p>
<p>The samples were brought into <a href="https://www.reaper.fm/" title="Digital Audio Workstation Software for Musicians" target="vend">Cockos Reaper</a> whereupon the use of its built-in band-pass filter, ReaEQ,
(to cut out the highly audible harmonics) and frequency counter (ReaTune) plugins proved adequate to the task. Here are all the measurements, plus a picture of the set of tubes.</p>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th>length</th><th>weight</th><th>frequency</th><th>$\kappa$</th><th>13 Pipelings</th></tr>
<tr><th>($mm$)</th><th>($gm$)</th><th>(Hz)</th><th>($m^2\,s^{-1}$)</th><th>(png)</th></tr>
</thead>
<tbody>
<tr><td class='met'>251</td><td class='met'>10.63</td><td class='met'>514</td><td class='met'>32.4</td>
<td rowspan='13'><img src="http://image.storistry.com/adhoc/chimes.png" alt="Thirteen Chimes" width="360"></td></tr>
<tr><td class='met'>242</td><td class='met'>10.23</td><td class='met'>551</td><td class='met'>32.3</td></tr>
<tr><td class='met'>236</td><td class='met'>9.96</td><td class='met'>579</td><td class='met'>32.2</td></tr>
<tr><td class='met'>229</td><td class='met'>9.75</td><td class='met'>620</td><td class='met'>32.5</td></tr>
<tr><td class='met'>222</td><td class='met'>9.43</td><td class='met'>651</td><td class='met'>32.1</td></tr>
<tr><td class='met'>215</td><td class='met'>9.15</td><td class='met'>698</td><td class='met'>32.3</td></tr>
<tr><td class='met'>210</td><td class='met'>8.81</td><td class='met'>734</td><td class='met'>32.4</td></tr>
<tr><td class='met'>203</td><td class='met'>8.6</td><td class='met'>786</td><td class='met'>32.4</td></tr>
<tr><td class='met'>198</td><td class='met'>8.32</td><td class='met'>821</td><td class='met'>32.2</td></tr>
<tr><td class='met'>193</td><td class='met'>8.14</td><td class='met'>866</td><td class='met'>32.3</td></tr>
<tr><td class='met'>187</td><td class='met'>7.87</td><td class='met'>920</td><td class='met'>32.2</td></tr>
<tr><td class='met'>182</td><td class='met'>7.69</td><td class='met'>970</td><td class='met'>32.1</td></tr>
<tr><td class='met'>177</td><td class='met'>7.51</td><td class='met'>1018</td><td class='met'>31.9</td></tr>
</tbody>
</table>
<p>As expected, the frequencies were not even close to the design targets (respectively 165, 175, 185, 196, 208, 220, 233, 247, 262, 277, 294, 311, 330) and were - on average - 3.14 times higher
(to the three significant figures employed throughout this exercise). The final column in the above table is $\kappa$, the diffusivity mentioned in the previous post, and is calculated as $L^2 \times f$
for each row ($L$ being the metre value). The average value for $\kappa$ is 32.2, the same multiple (3.14, weirdly close to $\pi$) of the value of 10.2 expected.</p>
<p>But - and also as expected - the instrument does indeed play a very serviceable chromatic scale. It may not start on the 165 Hertz concert pitch E (as requested) but instead a rather higher
514 Hertz non-concert pitch flat C, not quite a quarter tone below the 'proper' one. That's quite a way out, but our measured value of $\kappa$ could now be used to calculate a new series of $L$
values from $L=\sqrt{\kappa/f}$ - provided of course we were to use exactly the same material. All lengths would, accordingly, be multiplied by a factor of 1.77 (the square root of 3.14).</p>
<p>For this particular kind of aluminium alloy the previous post shows that $\kappa = 1420 \sqrt{D_o^2 + D_i^2}$, where $D_o = 0.006 m$ (i.e. 6mm) and $D_i = 0.004 m$ (i.e. 4mm). It's
perfectly reasonable to incorporate the 'blame' for the (fudge) factor of 3.14 into the 'material constant' of 1420 and claim that in practice this constant should be 4450. This leaves us free
to use larger inner and outer diameters <em>as long as it's the same alloy</em> to allow us to shift more air and make louder instruments. For example, if we have our heart set on a more robust 165 Hertz
concert pitch E, we choose a larger diameter tubing (say half an inch with a 6.2mm bore). This would give us a new value for $\kappa$ - based on $D_o = 0.0127\,m$ and $D_i=0.0062\,m$ - of
$4450 \times 0.01413 = 63$. From this we'd calculate a length of 618 mm.</p>
<p>And so on</p>
<h3>Fudge</h3>
<p>So why was the calculation incorrect? Why would we need to use 4450 rather than 1420? As the 1420 was itself calculated - as $(22.4/8\pi) \sqrt{E/\rho}$ - from easily verifiable physical properties
of a particular alloy of aluminium, the only places where the discrepancy could occur are in the value of 22.4 and from the way that $I$ was defined (in terms of $D_o$ and $D_i$). Perhaps an
engineer can let me know where I went wrong?</p>
<p>Finally, here's a plot of frequency versus length of the tubes received in the mail. The least squares fit (from LibreCalc) is $f = 33.6 \times L^{-1.97}$, satisfyingly close to the model of
$L^2 f = \kappa$ (with my measured average of $\kappa=32.2$).</p>
<figure>
<img src="http://image.storistry.com/adhoc/ChimesPlot.png" alt="length frequency plot" width="480"/>
<figcaption>Thirteen frequencies of chromatic tubical pieces<span label="fig:chroma"></span></figcaption>
</figure>
LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-90098800299855740752020-04-20T18:03:00.002+01:002020-04-21T15:44:29.546+01:00Amateur Hour<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
inlineMath: [[ '$','$']],
displayMath: [['$$','$$']],
processEscapes: true
},
"HTML-CSS": { availableFonts: ["TeX"] }
});
</script>
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js">
</script>
<style>
figure {
padding: 0.9em;
background: #fff;
margin: 0 auto 1em;
}
.bartic {
counter-reset: figures;
}
figure figcaption {
counter-increment: figures;
}
figure figcaption:before {
content: 'Fig. ' counter(figures) ' - ';
}
figure figcaption {
box-shadow:0px 0px 15px #222;
border-radius: 5px;
font-weight: 700;
padding: .5em;
text-align: center;
color: #fff;
background: #884;
width: 70%;
}
td.tn {
width: 2cm;
padding-right: 1em;
text-align: right;
}
</style>
<p>Overtaken by a sudden urge to manufacture a cheap musical instrument, this blogger was minded to research the solutions to the wave equation in cylindrical coordinates, with a view to constructing a set of
tubular chimes ('bell' seeming a little grandiose a term for the small scale anticipated).</p>
<p>At the outset I would urge anyone in search of a real instrument to go to a professional (such as <a href="https://www.mattnolancustomcymbals.com/" title="Custom Musical Instruments">Matt Nolan</a>, but do
search around for others) because I have zero confidence that what I will receive will be anywhere near the frequencies I've specified, although I do expect them to be in tune(ish) relative to each other.
We'll get to the reasons why soon enough - it's certainly not due to the metal merchant but to me, the utter amateur.</p>
<h3>Pragmatics</h3>
<p>Engineers have already collapsed the mathematics into just the amount necessary for the problem at hand - typically the determination of the resonant frequency, $f$, of a pipe
made out of a material of known elasticity and density. Consequently we can start with a formula such as is provided by
<a href="https://www.petroskills.com/blog/entry/piping-vibration-calculate-natural-frequency" title="The PetroSkills Blog">Ron Frend</a></p>
\begin{equation}
f = \frac{1}{2\pi} \cdot 22.4 \cdot \sqrt{\frac{EI}{\mu L^4}}
\end{equation}
<p>where we know things like
<ul>
<li>$E$ is the Young's Modulus of Elasticity</li>
<li>$I$ is the 4th Polar Moment of Inertia</li>
<li>$\mu$ is the Mass per unit length</li>
</ul>
The formula requires that we use $\mu$ as mass per unit length. The kind of tubing we can get from suppliers is typically specified with an inner and outer diameter, and so the <em>area</em> of the
material in the pipe's cross-section is $\pi \cdot (D_o^2 - D_i^2) / 4$, giving us the required $\mu = \pi\rho \cdot (D_o^2 - D_i^2) / 4$, where $\rho$ is the material's density.</p>
<p>Our source provides a formula, $I=0.049 \times(D_o^4 - D_i^4)$. This is the first place where I encounter a problem since other authorities give $I=\pi(D_o^4 - D_i^4)/32$ which evaluates to twice the value of the one
provided here (and by others - he's by no means alone) since $0.049 = \pi / 64$.</p>
<p>It's why I have little confidence that I'm going to get the frequencies I imagine I'm asking for. Regardless, we may reformulate - taking this additional information
into account and switching the dependency of $f$ upon $L$ to that of $L$ upon $f$:</p>
\begin{equation}
\begin{split}
L^2 &= \frac{1}{2\pi} \cdot \frac{22.4}{f} \cdot \sqrt{\frac{\pi E \cdot (D_o^4 - D_i^4) \cdot 4}{\pi\rho \cdot (D_o^2 - D_i^2) \cdot 64}}\\
&= \frac{22.4}{8 \pi f} \cdot \sqrt{\frac{E}{\rho} (D_o^2 + D_i^2)}
\end{split}
\end{equation}
<p>For a typical <a href="https://en.wikipedia.org/wiki/6063_aluminium_alloy">grade 6063 Aluminium</a> sold by commercial metal merchants, we use $E = 6.83\times 10^9\,kg\,m^{-1}s^{-2}$ and $\rho = 2690\,kg\,m^{-3}$ and employ
the three significant digit formula:</p>
\begin{equation}
L^2 \approx \frac{1420}{f}\sqrt{D_o^2 + D_i^2}
\end{equation}
<p>Consequently, this adventurer has ordered the following cuts of 4mm inner diameter and 6mm outer diameter with an intent to construct a full chromatic scale</p>
<table cellpadding='0' cellspacing='0'>
<thead><tr><th colspan='2'>f (Hz)</th><th>L (mm)</th></tr></thead>
<tbody>
<tr><td class='tn'>165</td>
<td rowspan='13'>
<svg xmlns="http://www.w3.org/2000/svg" width='160' height='250'>
<defs>
<style>
.pipe { fill:url(#gragho); stroke:rgb(80,80,80); stroke-width:0.5; }
.tone { font-family: monospace; fill: black; font-size: 8pt; stroke-width: 0; }
</style>
<linearGradient id="gragho" x1="0" x2="1" y1="0" y2="0">
<stop offset="0%" style="stop-color: rgb(160,160,160); stop-opacity: 0.9"></stop>
<stop offset="70%" style="stop-color: rgb(255,255,255); stop-opacity: 0.9"></stop>
<stop offset="90%" style="stop-color: rgb(120,120,120); stop-opacity: 0.9"></stop>
</linearGradient>
</defs>
<rect class='pipe' x='0' width='6' height='249'/>
<rect class='pipe' x='12' width='6' height='241'/>
<rect class='pipe' x='24' width='6' height='235'/>
<rect class='pipe' x='36' width='6' height='228'/>
<rect class='pipe' x='48' width='6' height='221'/>
<rect class='pipe' x='60' width='6' height='215'/>
<rect class='pipe' x='72' width='6' height='209'/>
<rect class='pipe' x='84' width='6' height='203'/>
<rect class='pipe' x='96' width='6' height='197'/>
<rect class='pipe' x='108' width='6' height='192'/>
<rect class='pipe' x='120' width='6' height='186'/>
<rect class='pipe' x='132' width='6' height='181'/>
<rect class='pipe' x='144' width='6' height='176'/>
<g transform='translate(0 2)'>
<text class='tone' x='0' y='10'>E</text>
<text class='tone' x='12' y='10'>F</text>
<text class='tone' x='21' y='20'>F#</text>
<text class='tone' x='36' y='10'>G</text>
<text class='tone' x='45' y='20'>G#</text>
<text class='tone' x='60' y='10'>A</text>
<text class='tone' x='69' y='20'>B♭</text>
<text class='tone' x='84' y='10'>B</text>
<text class='tone' x='96' y='10'>C</text>
<text class='tone' x='105' y='20'>C#</text>
<text class='tone' x='120' y='10'>D</text>
<text class='tone' x='129' y='20'>E♭</text>
<text class='tone' x='144' y='10'>E</text>
</g>
</svg></td><td class='tn'>249</td></tr>
<tr><td class='tn'>175</td><td class='tn'>241</td></tr>
<tr><td class='tn'>185</td><td class='tn'>235</td></tr>
<tr><td class='tn'>196</td><td class='tn'>228</td></tr>
<tr><td class='tn'>208</td><td class='tn'>221</td></tr>
<tr><td class='tn'>220</td><td class='tn'>215</td></tr>
<tr><td class='tn'>233</td><td class='tn'>209</td></tr>
<tr><td class='tn'>247</td><td class='tn'>203</td></tr>
<tr><td class='tn'>262</td><td class='tn'>197</td></tr>
<tr><td class='tn'>277</td><td class='tn'>192</td></tr>
<tr><td class='tn'>294</td><td class='tn'>186</td></tr>
<tr><td class='tn'>311</td><td class='tn'>181</td></tr>
<tr><td class='tn'>330</td><td class='tn'>176</td></tr>
</tbody>
</table>
<p>As stated, we don't expect the frequencies to be correct - principally due to some conflicting information about the formulæ found online. The pipe vendor guarantees only a cut accuracy of ±2<em>mm</em>.
(The formula indicates a discrepancy of 2% in $f$ for every 1% discrepancy in $L$). However, even if the 'base' frequency is way off, we'd expect the entire system to be mostly in tune with itself since
the frequency ratios should still be chromatic if the length ratios are as directed.</p>
<p>When the material arrives, we shall measure the actual lengths and frequencies and see how far off we are. As an experiment (even if dire failure frequency-wise) it should still give us a constant value
$\kappa$ - a kind of diffusivity - for this particular material which we can use in a formula $L^2 f = \kappa$ to produce a more accurate set, possibly in an exotic scale of <a href="https://en.wikipedia.org/wiki/19_equal_temperament">19 TET</a>
with a complement of 20 tubes.</p>
<p>My ineptitude may be amusing. Watch this space.</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-83479836258491770452020-02-28T18:43:00.000+00:002020-03-03T21:30:13.904+00:00The Unreasonable Ubiquity of Dodecatonicity<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
inlineMath: [[ '$','$']],
displayMath: [['$$','$$']],
processEscapes: true
},
"HTML-CSS": { availableFonts: ["TeX"] }
});
</script>
<script type="text/javascript"
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js">
</script>
<style>
figure {
padding: 0.9em;
background: #fff;
margin: 0 auto 1em;
}
.bartic {
counter-reset: figures;
}
figure figcaption {
counter-increment: figures;
}
figure figcaption:before {
content: 'Fig. ' counter(figures) ' - ';
}
figure figcaption {
box-shadow:0px 0px 15px #222;
border-radius: 5px;
font-weight: 700;
padding: .5em;
text-align: center;
color: #fff;
background: #884;
width: 70%;
}
td.tn {
padding-right: 1em;
text-align: right;
}
</style>
<h3>Symmetries</h3>
<p>The symmetries of the dodecagon, the regular 12-sided polygon used in models of Pitch Class Set Theory, are well known. Viewed as a <a href="https://en.wikipedia.org/wiki/Dihedral_group" target="wiki">dihedral group</a> (of order 24), it has a class index</p>
$$P_{D_{12}}(\textbf{x}) = \frac{1}{24} \left( x_1^{12} + 7 x_2^6 + 2 x_3^4 + 2 x_4^3 + 2 x_6^2 + 4 x_{12} + 6 x_1^2 x_2^5 \right)$$
<p>which sheds some light upon the 2, 3, 4 and 6-fold symmetries of 12-sided figures. This can be used to enumerate all the essentially different (equivalent under rotations and reflections) shapes of all (mostly) irregular polygons of all orders - from 0 to 12 - inscribable within it. One simply replaces every $x_i$ with $(1 + t^i)$ in the above (<a href="https://en.wikipedia.org/wiki/P%C3%B3lya_enumeration_theorem" title="Analytic Combinatorics is your friend" target="wiki">Pólya Enumeration</a>) to recover the following degree 12 polynomial in t:</p>
$$E_{12}(t) = 1 + t + 6 t^2 + 12 t^3 + 29 t^4 + 38 t^5 + 50 t^6 + 38 t^7 + 29 t^8 + 12 t^9 + 6 t^{10} + t^{11} + t^{12}$$
<p>which counts the number of essentially different <em>k</em>-gonal shapes - as the coefficient of <em>t</em><sup>k</sup> - corresponding to all 224 <a href="https://en.wikipedia.org/wiki/List_of_pitch-class_sets" title="Allen Forte, David Lewin, Pitch Class Set Theory" target="wiki">Pitch Class Sets</a> of different sizes available to Twelve Tone Music.</p>
<p>If you count non-symmetric shapes <em>twice</em> (i.e. as distinct from their reflections) rather than just once, the Cyclic Group polynomial enumerator - $1 + t + 6 t^2 + 19 t^3 + 43 t^4 + 66 t^5 + 80 t^6 + 66 t^7 + 43 t^8 + 19 t^9 + 6 t^{10} + t^{11} + t^{12}$ - is the appropriate one to use. This aggregates 352 distinct shapes (evaluate the polynomial at <em>t</em> = 1). Because it counts mirror-pairs (musically inverted PC sets) as distinct, this enumeration reveals that there are (352 - 224) = 128 pairs of non-symmetric shapes and 352 - 2 × 128 = 96 symmetric ones.</p>
<p>So far, so standard (this blog also <a href="/p/all-scales.html" title="See All Scales Tab above">catalogues them all here</a>).</p>
<p>Most of these <em>t</em><sup>k</sup> coefficients are rather haphazard (like, say, 29 and 38) and have no particularly friendly relations with the polygon they inhabit - rather to be expected. However, we see that the number of 3-sided shapes is 12, a number very friendly indeed to the enclosing dodecagon. It means that there's a possibility that all the different 3-sided shapes - and here they all are - might be enticed to exactly fit, four at a time, into three separate dodecagons.</p>
<p>
<figure>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr><td><svg xmlns="http://www.w3.org/2000/svg" width="72" height="72">
<style>
.back { stroke: #FFFFAA; fill: #FFFFFF; }
.ring { stroke: #555500; fill: #CCCC77; }
.symm { stroke: #223388; stroke-width: 1.5; fill: #99AAFF; }
.asym { stroke: #884422; stroke-width: 1.5; fill: #FFBB99; }
</style>
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<polygon class="symm" points="36,4 64,52 8,52"/>
</svg></td>
<td align="center" valign="middle"><strong>Symmetric 3-sets<br/>(equilateral and isosceles triangles)</strong></td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="288" height="72">
<g>
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<polygon class="symm" points="36,4 52,8 64,20"/>
</g>
<g transform="translate(72 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<polygon class="symm" points="36,4 64,20 64,52"/>
</g>
<g transform="translate(144 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<polygon class="symm" points="36,4 64,20 20,64"/>
</g>
<g transform="translate(216 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<polygon class="symm" points="36,4 68,36 36,68"/>
</g>
</svg></td>
</tr>
<tr>
<td colspan="2" align="center" valign="middle"><strong>Asymmetric 3-sets<br/>(scalene triangles)</strong></td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="288" height="144">
<g transform="translate(0 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--129--><polygon class="asym" points="36,4 52,8 68,36"/>
</g>
<g transform="translate(72 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--138--><polygon class="asym" points="36,4 52,8 64,52"/>
</g>
<g transform="translate(144 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--147--><polygon class="asym" points="36,4 52,8 52,64"/>
</g>
<g transform="translate(216 0)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--156--><polygon class="asym" points="36,4 52,8 36,68"/>
</g>
<g transform="translate(36 72)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--237--><polygon class="asym" points="36,4 64,20 52,64"/>
</g>
<g transform="translate(108 72)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--246--><polygon class="asym" points="36,4 64,20 36,68"/>
</g>
<g transform="translate(180 72)">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<!--345--><polygon class="asym" points="36,4 68,36 20,64"/>
</g>
</svg></td>
</tr>
</tbody>
</table>
<figcaption>The 12 Dihedrally Equivalent PC Sets<span label="fig:tri12"></span></figcaption>
</figure>
</p>
<h3>Set Coverings</h3>
<p>Note that the coefficient 6 (of <em>t</em><sup>2</sup>) is <em>also</em> '12 friendly'. But tilt and move them as you will, it's impossible to fit the 6 different 'diangles' into one dodecagon, so that each occupies a different dodecagonal vertex pair. It's not possible to <em>cover</em> (or <em>partition</em>) the set {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} with 6 non-intersecting 2-sets where each such 2-set represents each of the six possible differences (on the dodecagon, i.e. modulo 12 differences) between the 12-set's points.</p>
<p><figure><svg xmlns="http://www.w3.org/2000/svg" width="144" height="72">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<line class="symm" x1="36" y1="4" x2="36" y2="68"/>
<g transform="translate(72 0)">
<line class="symm" x1="36" y1="4" x2="52" y2="64"/>
<line class="symm" x1="36" y1="4" x2="64" y2="52"/>
<line class="symm" x1="36" y1="4" x2="68" y2="36"/>
<line class="symm" x1="36" y1="4" x2="64" y2="20"/>
<line class="symm" x1="36" y1="4" x2="52" y2="8"/>
<text style="font-size: 32pt;" x="0" y="48">⇐?</text>
</g>
</svg><figcaption>12-Tone Interval Classes cannot cover the 12-Set<span label="fig:intervals"></span></figcaption>
</figure>
</p>
<h3>Octatonality</h3>
<p>If we drop back to a tonality in which only 8 Pitch Classes are available, the Class Index of this system is</p>
$$P_{D_{8}}(\textbf{x}) = \frac{1}{16} \left( x_1^8 + 4 x_1^2 x_2^3 + 5 x_2^4 + 2 x_4^2 + 4 x_8 \right)$$
<p>we find its catalogue of (30) essentially different sub-polygons is enumerated by</p>
$$E_{8}(t) = 1 + t + 4 t^2 + 5 t^3 + 8 t^4 + 5 t^5 + 4 t^6 + t^7 + t^8$$
<p>One notices that the <em>t</em><sup>2</sup> term has coefficient 4, indicating that octatonicity's 4 interval classes 1, 2, 3 and 4, might be capable of covering itself in a single bound. And indeed it is. Interval class 1 can cover pitch classes 2, 3 and (switching to abbreviations) IC 2 can cover PCs 6, 8, IC 3 can cover PCs 4, 7 and finally IC 4 can cover PCs 1, 5. It's the only way of doing it with regard to equivalence of rotational and reflective symmetries.</p>
<figure>
<svg xmlns="http://www.w3.org/2000/svg" width="72" height="72">
<polygon class="ring" points="36,0 61,11 72,36 61,61 36,72 11,61 0,36 11,11"/>
<polygon class="back" points="36,4 59,13 68,36 59,59 36,68 13,59 4,36 13,13"/>
<line class="symm" x1="59" y1="13" x2="68" y2="36"/>
<line class="symm" x1="13" y1="13" x2="13" y2="59"/>
<line class="symm" x1="4" y1="36" x2="59" y2="59"/>
<line class="symm" x1="36" y1="4" x2="36" y2="68"/>
<g transform="translate(-2 4)">
<text style="font-size: 8pt;" x="36" y="4">1</text>
<text style="font-size: 8pt;" x="59" y="13">2</text>
<text style="font-size: 8pt;" x="68" y="36">3</text>
<text style="font-size: 8pt;" x="59" y="59">4</text>
<text style="font-size: 8pt;" x="36" y="68">5</text>
<text style="font-size: 8pt;" x="13" y="59">6</text>
<text style="font-size: 8pt;" x="4" y="36">7</text>
<text style="font-size: 8pt;" x="13" y="13">8</text>
</g>
</svg>
<figcaption>Octaconicity's Interval Class Coverage<span label="fig:octacover"></span></figcaption>
</figure>
<p>But as a musical transformer - say, as the PC permuter (1,5)(2,3)(4,7)(6,8) - it's not very interesting since all it can do is exchange pitch classes. As such a transformation is an interval-preserving operation, it's pretty much a do-nothing, musically speaking. This is why, in general, we don't regard any tonality covers with PC Sets containing fewer than 3 pitch classes as interesting</p>
<p>But we're not quite done yet with the octagon since there's another friendly coefficient in the 8<em>t</em><sup>4</sup> which indicates that we may have a quadruple covering of the octagon with its four pairs of tetragons (possibly more commonly referred to as quadrilaterals). However such hopes are quickly dashed since one of the 8 quadrilaterals must be a square, and placing a square inside an octagon requires a second square to complete the cover, thus violating our <em>règle du jeu</em> that each shape be used exactly once. We don't even need to bother with the other shapes as we're already dead in the water.</p>
<p>This is a general upper limit to the size of an 'inner polygon'. Once we reach the halfway point of an evenly sized polygon, a subset of exactly half the size which covers every other vertex can complete a cover only with a duplicate of itself to soak up the remaining 'every-other' vertices. Beyond the halfway point of course, there's no possibility of coverage since too few vertices remain.</p>
<p>Our mission, then, is to find the 'special' values of <em>n</em> and <em>k</em> (2 < <em>k</em> < <em>n</em>/2) where rotationally and reflectionally equivalent binary colourings of <em>n</em>-gons (creatures known as <a href="https://en.wikipedia.org/wiki/Necklace_(combinatorics)" title="exercise in combinatorial counting" target="wiki">necklaces</a>) carry <em>C<sub>n,k</sub></em> (generally irregular) <em>k</em>-sized sub-polygons. We require that <em>k</em> divides both <em>n</em> (<em>permitting n</em>-set coverings with <em>p = n/k</em> of its <em>k</em>-sized subsets) and <em>C<sub>n,k</sub></em> itself (permitting use of <em>all</em> equivalent <em>k</em>-gons) and where <em>p</em> divides <em>C<sub>n,k</sub></em> (permitting <em>complete</em> coverage of <em>C<sub>n,k</sub>/p</em> separate <em>n</em>-gons).</p>
<h3>The Triumph of the Dodecagon</h3>
<p>And so, by this definition, the first polygon where there's even a <em>possibility</em> that a complete set of dihedrally equivalent Pitch Set Classes will be capable of covering its own tonality is the dodecatonic. It's the first one large enough.</p>
<p>It's reasonably obvious that tonalities with a prime number of pitch classes don't even get a look-in with regard to subset covering. So goodbye to 17TET, 19TET, 31TET etc. The 15TET, non-prime, system is quite popular but none of its subset shape collections occur in quantities appropriate to such coverages. The only candidates for tonalities up to 64TET are presented here:</p>
<p>
<figure>
<table cellspacing="0" cellpadding="0" width="100%">
<thead>
<tr>
<th>Tonicity<br/><em>n</em></th><th>Subset Size<br/><em>k</em></th><th>Multiplicity<br/><em>p</em></th><th>Count<br/><em>C</em></th><th>Coverages<br/><em>C/p</em></th>
</tr>
</thead>
<tbody>
<tr><td class="tn">12</td><td class="tn">3</td><td class="tn">4</td><td class="tn">12</td><td class="tn">3</td></tr>
<tr><td class="tn">16</td><td class="tn">4</td><td class="tn">4</td><td class="tn">72</td><td class="tn">18</td></tr>
<tr><td class="tn">24</td><td class="tn">3</td><td class="tn">8</td><td class="tn">48</td><td class="tn">6</td></tr>
<tr><td class="tn">32</td><td class="tn">4</td><td class="tn">8</td><td class="tn">624</td><td class="tn">78</td></tr>
<tr><td class="tn">32</td><td class="tn">8</td><td class="tn">4</td><td class="tn">165288</td><td class="tn">41322</td></tr>
<tr><td class="tn">36</td><td class="tn">3</td><td class="tn">12</td><td class="tn">108</td><td class="tn">9</td></tr>
<tr><td class="tn">36</td><td class="tn">6</td><td class="tn">6</td><td class="tn">27474</td><td class="tn">4579</td></tr>
<tr><td class="tn">40</td><td class="tn">4</td><td class="tn">10</td><td class="tn">1240</td><td class="tn">124</td></tr>
<tr><td class="tn">44</td><td class="tn">11</td><td class="tn">4</td><td class="tn">87161756</td><td class="tn">21790439</td></tr>
<tr><td class="tn">48</td><td class="tn">3</td><td class="tn">16</td><td class="tn">192</td><td class="tn">12</td></tr>
<tr><td class="tn">48</td><td class="tn">8</td><td class="tn">6</td><td class="tn">3936144</td><td class="tn">656024</td></tr>
<tr><td class="tn">48</td><td class="tn">12</td><td class="tn">4</td><td class="tn">725782644</td><td class="tn">181445661</td></tr>
<tr><td class="tn">50</td><td class="tn">10</td><td class="tn">5</td><td class="tn">102749880</td><td class="tn">20549976</td></tr>
<tr><td class="tn">56</td><td class="tn">4</td><td class="tn">14</td><td class="tn">3472</td><td class="tn">248</td></tr>
<tr><td class="tn">60</td><td class="tn">3</td><td class="tn">20</td><td class="tn">300</td><td class="tn">15</td></tr>
<tr><td class="tn">63</td><td class="tn">21</td><td class="tn">3</td><td class="tn">219201890450655</td><td class="tn">73067296816885</td></tr>
<tr><td class="tn">64</td><td class="tn">4</td><td class="tn">16</td><td class="tn">5216</td><td class="tn">326</td></tr>
<tr><td class="tn">64</td><td class="tn">8</td><td class="tn">8</td><td class="tn">34597680</td><td class="tn">4324710</td></tr>
</tbody>
</table>
<figcaption>Catalogue of possible <em>n</em>-gon coverings by <em>p</em> distinct <em>k</em>-sets<span label="fig:covercat"></span></figcaption>
</figure>
</p>
<h3>Coverings and Applications</h3>
<p>The power of the enumerative polynomial lies in its proof of existence of such potential coverings. But it's non-constructive and cannot tell us <em>how</em> to build the things it counts. Still less does it tell us anything about their set-covering capabilities.</p>
<p>So, given the unlikelihood of coverage indicated by the previously shown impossibility of 'dianglising a dodecagon' (in musical terms, 'interval-covering a chromatic scale'), and despite the very real lack of interest we have in covering polygons with anything smaller than triangles in any case, the big question is <em>can</em> all 12 triangles (musical triads) - taken four at a time - fit into three dodecagons so that none of their vertices occupy the same dodecagonal vertex (musical pitch class) as another's?</p>
<p>Covering the first dodecagon is easy since there's so much choice. Even with only 8 triangles left, a second cover remains only mildly troublesome. But with only four remaining triangles, a final cover is hard to find since there are so many ways to rotate and reflect them. By the time you have four left, if your earlier choices are unsuitable then the final cover will likely be impossible.</p>
<p>But there are many solutions. Thousands, in fact. Here is one.</p>
<p><figure>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><svg xmlns="http://www.w3.org/2000/svg" width="144" height="72">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<g transform="translate(36 36) rotate(30) translate(-36 -36)">
<!--11A--><polygon class="symm" points="36,4 52,8 64,20"/>
</g>
<g transform="translate(36 36) rotate(120) translate(-36 -36)">
<!--129--><polygon class="asym" points="36,4 52,8 68,36"/>
</g>
<g transform="translate(36 36) rotate(-90) translate(-36 -36)">
<!--327--><polygon class="asym" points="36,4 64,20 4,36"/>
</g>
<g transform="translate(36 36) rotate(-120) translate(-36 -36)">
<!--228--><polygon class="symm" points="36,4 64,20 64,52"/>
</g>
</svg></td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="144" height="72">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<g transform="translate(36 36) rotate(60) translate(-36 -36)">
<!--345--><polygon class="asym" points="36,4 68,36 20,64"/>
</g>
<g transform="translate(36 36) rotate(-30) translate(-36 -36)">
<!--165--><polygon class="asym" points="36,4 52,8 20,64"/>
</g>
<g transform="translate(36 36) rotate(-120) translate(-36 -36)">
<!--255--><polygon class="symm" points="36,4 64,20 20,64"/>
</g>
<g transform="translate(36 36) rotate(30) translate(-36 -36)">
<!--336--><polygon class="symm" points="36,4 68,36 36,68"/>
</g>
</svg></td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="144" height="72">
<polygon class="ring" points="36,0 54,5 67,18 72,36 67,54 54,67 36,72 18,67 5,54 0,36 5,18 18,5"/>
<polygon class="back" points="36,4 52,8 64,20 68,36 64,52 52,64 36,68 20,64 8,52 4,36 8,20 20,8"/>
<g transform="translate(36 36) rotate(30) translate(-36 -36)">
<!--444--><polygon class="symm" points="36,4 64,52 8,52"/>
</g>
<g transform="translate(36 36) rotate(-30) translate(-36 -36)">
<!--174--><polygon class="asym" points="36,4 52,8 8,52"/>
</g>
<g transform="translate(36 36) rotate(60) translate(-36 -36)">
<!--138--><polygon class="asym" points="36,4 52,8 64,52"/>
</g>
<g transform="translate(36 36) rotate(240) translate(-36 -36)">
<!--264--><polygon class="asym" points="36,4 64,20 8,52"/>
</g>
</svg></td>
</tr>
</tbody>
</table>
<figcaption>Tri-Dodeca-Tetra-Tri-Coverage<span label="fig:tricover"></span></figcaption>
</figure>
</p>
<p>In fact this particular solution is not found by trial-and-error but is rather special even in terms of the game itself. We've used the computer algebra system, <a href="https://www.gap-system.org/" title="The GAP Group, GAP -- Groups, Algorithms, and Programming" target="elsewhere">GAP</a>, to find solutions. Of the thousands of solutions, this is one from a tiny subset of 20 of them. All of the others, except one, which is <em>really</em> special, are of the same class.</p>
<p>The vast majority of triple-set coverings by triad quadruples are found as an example of the <a href="https://en.wikipedia.org/wiki/Alternating_group" target="wiki">Alternating Group</a> on 12 symbols (usually notated as <em>A</em><sub>12</sub>). This is a simple group of order 12!/2 = 239500800. Despite the term 'simple' (a term of Group Theory meaning that it has a simple structure and is akin to a prime number in Number Theory) the way this group can fling things about is prodigious, as the number of its operations suggests.</p>
<p>But the configuration above is an example of an arguably more interesting group discovered in the 19th century. It's one of the <em>sporadic</em> simple groups, specifically the <a href="https://en.wikipedia.org/wiki/Mathieu_group_M12" target="wiki">Mathieu Group <em>M</em><sub>12</sub></a>. But it is somewhat less flingy as its order is a paltry 95040. And from an applicative point of view it's often nicer to have fewer choices (the apparently paradoxical idea behind 'constraint sets you free') since it's easier to actually make a beginning.</p>
<p>The way the group features into these arrangements is by way of construction. If we take the first of the three coverings we can use it as a permutation - specifically (1,2,3)(4,5,7)(6,9,11)(8,10,12), the four clockwise tricycles in the covering - to generate a group. If we regard the numbers as pitch classes (it's usually 0 to 11 in musical PC Set theory but we can equivalence 12 and 0 with impunity) then we may operate upon any musical segment (the choice of what constitutes a segment is completely up to the applier) by permuting its pitch classes with that permutation. Each pitch class moves (conventionally clockwise) around the triad it finds itself on. For example we might have a segment with pitch classes { 1, 4, 8, 11 } - which could represent a $C\sharp m7$ chord. The aforementioned permutation moves 1 to 2, 4 to 5, 8 to 10 and 11 to 6 (the wraparound) and thereby produces the new set { 2, 5, 10, 6 } - re-presented as { 2, 5, 6, 10 }. This set may - if interpreted as rooted on pitch class 6 (PC Set theory conventionally $F\sharp$) - be perceived as $F\sharp^{+} Maj 7$.</p>
<p>Such a transformation may be applied to any musical segment, such as the one shown below.</p>
<figure><img src="http://image.storistry.com/adhoc/m12perm11.png" alt="A first transmutation" height="120"/><figcaption>A first segmental transformation<span label="fig:tran1"></span></figcaption></figure>
<p>A second use of the same permutation would then transform the PC Set from { 2, 5, 6, 10 } to { 3, 7, 9, 12 } (perhaps $Am7\flat5$?). By the way, that's 3 of the <a href="/2019/11/harmonic-minor-seventh-haven.html" title="Seventh Haven">seven sevenths</a>, so this - admittedly tiny - orbit fixes some kind of seventhiness, if you will.</p>
<figure><img src="http://image.storistry.com/adhoc/m12perm12.png" alt="Two transmutations" height="120"/><figcaption>Permutation product as transformation composition<span label="fig:tran2"></span></figcaption></figure>
<p>And a third application will of course return us to the initial set, since all cycles are
of the same size, i.e. the <em>order</em> of the permutation is 3. This single permutation has a class index of $x_3^4$ (being a product of 4 3-cycles) and the group it generates is the tiny simple cyclic group of order 3, <em>C</em><sub>3</sub>.</p>
<p>The Group <em>M</em><sub>12</sub> is generated when all three coverings are used to construct permutations. The other two are - respectively from the above figure - (1,4,7)(2,5,9)(3,8,10)(6,11,12) and (1,5,9)(2,3,6)(4,8,10)(7,11,12) and although each is a simple $x_3^4$ cycle, when allowed to operate together by composition the group of permutations has the class index</p>
\begin{split}
P_{M_{12}}(\textbf{x}) = \frac{1}{95040} ( x_1^{12} + 495 x_1^4 x_2^4 &+ 2970 x_1^4 x_4^2 + 1760 x_1^3 x_3^3 + 396 x_2^6 + 11880 x_1^2 x_2 x_8\\
&+ 9504 x_1^2 x_5^2 + 15840 x_1 x_2 x_3 x_6 + 2970 x_2^2 x_4^2 + 2640 x_3^4 + 17280 x_1 x_{11}\\
&+ 9504 x_2 x_{10} + 11880 x_4 x_8 + 7920 x_6^2 )
\end{split}
<p>If we label these three permutations with the letters 'a', 'd', and 'm' - for no particular reason - then the successive application of, say <em>m</em> followed by <em>a</em> followed by <em>d</em> would be written as <em>mad</em>. It would be the permutation (2,4,3)(5,12,7,11,10,9)(6,8), which is one of the $15840 x_1 x_2 x_3 x_6$ permutations with that particular shape (the $x_1$ in this case representing the point 1, or pitch class $C\sharp$, which happens to be <em>fixed</em> by this particular permutation).</p>
<p>If we apply this <em>mad</em> operation to a fairly well-known melodic segment, we obtain the following:</p>
<figure><img src="http://image.storistry.com/adhoc/m12madperm.png" alt="transgression transmutation" height="48"/><figcaption>A transformed copyright problem<span label="fig:tranmad"></span></figcaption></figure>
<audio controls volume="0.1"><source src="http://sonic.storistry.com/CopyProb.flac"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<p>To recover the original, one would apply the inverse operation $(mad)^{-1} = d^{-1}a^{-1}m^{-1}$ - which is of course the 'undoing' permutation (2,3,4)(5,9,10,11,7,12)(6,8). Because such transformations operate only upon pitch classes however, there can be no indication of which particular octave the original pitch class was in and such information is lost.</p>
<p>There are also relationships between the group's generators. One such relation is found when we look at <em>dm<sup>-1</sup></em> = (1,10,2)(3,4,12)(6,7,9),
one of the $1760 x_1^3 x_3^3$ which - in this case - fixes the triad {5, 8, 11}. Since this is clearly an operation of order 3 (comprising exclusively 3-cycles) then any set acted upon by it thrice will reappear. This means that <em>dm<sup>-1</sup>dm<sup>-1</sup>dm<sup>-1</sup></em> = <em>(dm<sup>-1</sup>)<sup>3</sup></em> = (), the group's identity operation. It's also <em>(dm<sup>2</sup>)<sup>3</sup></em> because the square of any of the generators is also the generator's inverse (two clockwise turns gets you to the same place as one anticlockwise turn).</p>
<p>One might wish to verify that the rather unpleasant looking <em>d<sup>2</sup>amad<sup>2</sup>m<sup>2</sup>a<sup>2</sup>md<sup>2</sup>ma<sup>2</sup></em> is also, in fact, a 'do nothing'.</p>
<h3>Addendum</h3>
As we're on the subject of the Mathieu Group <em>M</em><sub>12</sub>, <a href="https://books.google.co.uk/books?id=Ko1NsIq4qLIC" title="Music: A Mathematical Offering, ISBN 9780521853873">Dave Benson's book</a> mentions that Messiaen's piano piece <em>Ile de Feu 2</em> uses the 2 permutations (1,7,10,2,6,4,5,9,11,12)(3,8) and (1,6,9,2,7,3,5,4,8,10,11) to transform both tones and durations. The first permutation being one of the $9504 x_2 x_{10}$ and the second one of the $17280 x_1 x_{11}$, they are themselves nothing <em>directly</em> to do with dodecatonic coverages by triads. It's extremely unlikely that the particular triplet of generators we're using here (out of the 20 possible coverages we've found) has any correspondence, pitch-class-wise, with Messiaen's. But it <em>is</em> nonetheless possible to write them in terms of ours, the first as $d a^2 d^2 m a d^2 m^2 a d m^2 (a^2 d)^2 a m d m^2 a^2 d^2 a m^2$ and the second as the slightly simpler (!) $m^2 d^2 (m a^2 d)^2 a^2 d$. These are also calculated by <a href="https://www.gap-system.org/" title="The GAP Group, GAP -- Groups, Algorithms, and Programming" target="elsewhere">GAP</a>, but such permutation re-mappings are quite tough to work out and it's possible that there are shorter paths from our <em>mad</em>ness to Messiaen.
LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-46403585740753148042019-11-10T18:10:00.000+00:002019-11-10T18:18:01.404+00:00Harmonic Minor - Seventh Haven<style>
td { font-family: Tahoma; font-size: 10pt; }
th { font-family: Tahoma; font-size: 10pt; background: #dddddd; border-bottom: 3px ridge #886622; }
td.dig { padding: 3px; border: 3px outset #886622; }
rect { stroke: white; stroke-width: 5; }
rect.rec0 { fill: #000000; }
rect.rec1 { fill: #ff0000; }
rect.rec2 { fill: #00ff00; }
rect.rec3 { fill: #ffff00; }
rect.rec4 { fill: #0000ff; }
rect.rec5 { fill: #ff00ff; }
rect.rec6 { fill: #00ffff; }
polygon { stroke: black; stroke-width: 0; fill: green; }
.pcsbk { stroke: #FFA; fill: #227; }
.pcsrn { stroke: #550; fill: #CC7; }
.pcsym { stroke: #238; fill: #9AF; }
.pcasy { stroke: #842; fill: #FB9; }
line { stroke-width: 1; stroke: black; }
text.fani { stroke-width: 1; stroke: white; alignment-baseline: middle; }
circle.setp { fill: black; }
circle.fano { fill: none; stroke-width: 4; stroke: blue; }
</style>
<h2>First, Count your Sevenths</h2>
<p>By a 'seventh' we just mean a tetrad in the 12-tone 'universe' built from stacked thirds (either major or minor) each third being constructed by skipping exactly alternate scale notes. Further, the whole tetrad is constructively (i.e. with no inversions) contained strictly within the span of one octave. The commonest seventh chords encountered are the minor 7th, the major 7th and - perhaps the most well known of all - the dominant 7th, often known simply as <em>the</em> 7th.</p>
<p>The diatonic scale - with its (major, or Ionian Mode) semitone skip pattern of 2212221 - can carry four such stacks, the aformentioned three, plus the one beginning on the subtonic, the 'half-diminished' or 7♭5 chord. Naturally this capability obtains for all seven modes (<em>Ionian, Dorian, Phrygian, Lydian, Mixolydian, Aeolian, Locrian</em>).</p>
<p>The <em>Melodic Minor</em> scale - with its semitone skip pattern of 2122221 - can carry <em>five</em> such stacks. Although it can no longer support a 'standard' major 7th, this loss is amply replaced by two others, the more unusual <em>major augmented seventh</em> <sup>+</sup>M7 rooted on the scale's tonic, and the 'psycho chord', the <em>minor major seventh</em> mM7 - rooted on the scale's submediant. Again, naturally, this capability obtains for all seven of <em>this</em> scale's modes - more usually regarded as scales in their own right (e.g. <em>Locrian Super, Altered, Melodic Minor, Javanese, Lydian Augmented, Overtone, Hindi, Locrian Natural, etc.</em>).</p>
<p>But there are two more 7ths. All seven may be counted systematically. Starting from a root note labelled 0 you add either 3 or 4 semitones (i.e. the minor or major third), then those two 'waypoints' each offer two further choices by adding 3 or 4 semitone skips, finalising to 8 choices with the concluding 3 or 4 semitone skip to finish the tetrad. The 8th choice is excluded, however, as 4+4+4 tops it off with the root (albeit an octave above) and is not a seventh chord.</p>
<p>In order of 'thirds-stacking' then,we have:
<ul>
<li>333 - diminished</li>
<li>334 - half-diminished (or minor 7th flat 5)</li>
<li>343 - minor 7th</li>
<li>344 - minor major 7th</li>
<li>433 - 7th</li>
<li>434 - major 7th</li>
<li>443 - augmented major 7th (or major 7th sharp 5)</li>
</ul>
<p>As 4-gons embedded within the chromatic 12-gon, they may be represented thus (tonic, or root, note at the top, scale ascent clockwise):</p>
<p><a href='http://image.storistry.com/bibd731/jaztets.png' title='7 Tetrads'><img width="560" src="http://image.storistry.com/bibd731/jaztetshaps.png" alt="Seven Sevenths"></a></p>
<p>Note that the tetrads are generally 'closed' with interval skips of less than 3 - this is simply a fourth skip necessary to complete the tetragonal embedding within the 12-tone dodecagon and should not be seen as part of the seventh's construction. Also, blue indicates the chords represented are their own inversions whereas pink pairs are mutual inverses (e.g. half-diminished is an inversion of 7th, and vice versa).</p>
<p>In the key of F (chosen mainly to confine the tetrads behind a treble clef fence) these chords are:</p>
<p><a href='http://image.storistry.com/bibd731/jaztets.png' title='7 7ths'><img width="560" src="http://image.storistry.com/bibd731/jaztets.png" alt="Effy Sevenths"></a></p>
<p>No heptatonic scale constructable from just half steps or whole steps (interval strings comprising only 1s and 2s) is capable of supporting all of these sevenths. It's necessary to include a 3 step, and - once included - it must be flanked on each side by 1 steps otherwise a two note jump in either direction would exceed 4 semitones and break the minor/major third requirement. This leaves four skips of 1s and 2s - needless to say, consecutive 1 skips are also prohibited since they'd lead to two note jumps incapable of providing any kind of a third (naturally we regard a <em>diminished</em> third as out of bounds).</p>
<p>And the scale known commonly known as the <em>Harmonic Minor</em>, with its interval string of 2122131, is the 'only' heptatonic scale able to accommodate all seven tetrads. The word 'only' is in scare quotes because, as with all heptatonic scales, it has seven modes and these, too, have acquired their own names (often several) as scales, e.g. <em>Locrian Ultra, Harmonic Minor, Mohammedan, Locrian Natural 6, Major Augmented, Harmonic Major, Lydian Diminished, Romanian, Phrygian Dominant, Spanish, Jewish, Aeolian Harmonic etc.</em>.</p>
<p>
<table cellpadding='0' cellspacing='0'>
<tbody>
<tr>
<td><svg viewBox='0 0 200 200' width="100" height="100" xmlns="http://www.w3.org/2000/svg">
<polygon id="bck" class="pcsbk" points="100,19 141,30 170,59 181,100 170,140 141,170 100,181 60,170 30,141 19,100 30,60 59,30"></polygon>
<polygon id="p1" class="pcasy" points="100,19 170,59 181,100 141,170 60,170 30,141 59,30"></polygon>
</svg>
<td><p>Harmonic minor scale, interval string 2122131, as 7-gon in 12-gon</p><p>Tonic at top, scale-note skipping clockwise.</p></td>
</tr>
</tbody>
</table>
<p>In fact, as the interval string is reversible (say, to the <em>Ethiopian</em> scale, interval-strung as 2212131) in a way that the diatonic and melodic minor 'modes' are not (both of which are their own inverses), a further seven scales or modes are available to support the seven sevenths. There are thus up to fourteen in all.</p>
<p>As an illustration, here's a descent through the scale degrees of an <em>Indian</em> scale (also known as Makam Huzzam, Maqam Saba Zamzam, Phrygian flat 4, according to <a href='http://www.huygens-fokker.org/docs/modename.html' target='_new'>this catalogue of scale names</a> - thanks to <a href='https://sethares.engr.wisc.edu/papers/erlich.html' target='_new' title='Xenharmonic Denizen'>Paul Erlich</a> for pointing me there) showing each of the seven sevenths:</p>
<p><a href='http://image.storistry.com/bibd731/tre.png' title='A Bigger Flash'><img src='http://image.storistry.com/bibd731/indiantets.png' alt='An Indian Descent'/></a></p>
<h2>An Odd Connection to Block Designs</h2>
<p>We have seven 'shapes' (see the above tetragons) embeddable within a seven-sided polygon. Perhaps <em>the</em> simplest example found in every introduction to the subject matter of block designs is one generated by <em>quadratic residues</em> in a field of integers <em>modulo</em> a prime number, itself congruent to the number 3 <em>modulo</em> 4, the first 'interesting' such prime being 7 (3 itself being too trivial). More often than not, the <a href='https://en.wikipedia.org/wiki/Fano_plane' target='_new_' title='The Ubiquitous Seven Pointed Triangle'>Fano Plane</a> turns up as a diagram:</p>
<p>
<table cellpadding='0' cellspacing='0'>
<tbody>
<tr>
<td><svg viewBox='0 0 564 564' width="423" height="423" xmlns="http://www.w3.org/2000/svg">
<line x1='282' y1='32' x2='32' y2='465'/>
<line x1='282' y1='32' x2='532' y2='465'/>
<line x1='32' y1='465' x2='532' y2='465'/>
<line x1='282' y1='32' x2='282' y2='465'/>
<line x1='32' y1='465' x2='407' y2='248'/>
<line x1='532' y1='465' x2='157' y2='248'/>
<circle class='setp' cx='282' cy='32' r='10'/>
<circle class='setp' cx='32' cy='465' r='10'/>
<circle class='setp' cx='532' cy='465' r='10'/>
<circle class='setp' cx='282' cy='465' r='10'/>
<circle class='setp' cx='282' cy='321' r='10'/>
<circle class='setp' cx='157' cy='248' r='10'/>
<circle class='setp' cx='407' cy='248' r='10'/>
<circle class='fano' cx='282' cy='321' r='144'/>
<text class='fani' x='278' y='32'>5</text>
<text class='fani' x='28' y='465'>6</text>
<text class='fani' x='528' y='465'>3</text>
<text class='fani' x='278' y='465'>4</text>
<text class='fani' x='278' y='321'>0</text>
<text class='fani' x='154' y='248'>1</text>
<text class='fani' x='404' y='248'>2</text>
</svg></td>
<td>
<p>
There are seven 'lines' in this figure (if one allows the inscribed circle as being a line), each going through three points. Each such line is a distinct block of the design shown below as a set of seven blocks of three integers each.
</p>
</td>
</tr>
</tbody>
</table>
</p>
<p>The quadratic residues used to construct this simple block design are the squares of the integers <em>modulo</em> 7. Thus 1<sup>2</sup> = 1, 2<sup>2</sup> = 4, 3<sup>2</sup> = 2 (9/7 leaves remainder 2), <em>etc.</em>. We can say <em>etc.</em> here because the next square, i.e. 4<sup>2</sup> = 16 also leaves remainder 2 after division by 7, and no results other than 1, 2 and 4 will ever turn up.</p>
<p>This set, { 1, 4, 2 }, constitutes the first block (it is, in fact, a representation of the multiplicative group ℤ<sup>*</sup><sub>7</sub>) of the design and subsequent blocks are generated simply by adding 1 (<em>modulo</em> 7, as always) to each of its elements. Thus the second block is { 2, 5, 3 }, the third is { 3, 6, 4 }, the fourth { 4, 0, 5 }, the fifth, sixth and seventh { 5, 1, 6 }, { 6, 2, 0 } and { 0, 3, 1 } - after which further generations would repeat from the first block.</p>
<table cellpadding='0' cellspacing='0'>
<tbody>
<tr>
<td>
<table cellpadding='0' cellspacing='0'>
<tbody>
<tr><td class='dig'>1</td><td class='dig'>2</td><td class='dig'>3</td><td class='dig'>4</td><td class='dig'>5</td><td class='dig'>6</td><td class='dig'>0</td></tr>
<tr><td class='dig'>4</td><td class='dig'>5</td><td class='dig'>6</td><td class='dig'>0</td><td class='dig'>1</td><td class='dig'>2</td><td class='dig'>3</td></tr>
<tr><td class='dig'>2</td><td class='dig'>3</td><td class='dig'>4</td><td class='dig'>5</td><td class='dig'>6</td><td class='dig'>0</td><td class='dig'>1</td></tr>
</tbody>
</table>
</td>
<td style='padding-left:1em; padding-right:1em;'>
<p style='width:42em;'>The (symmetric) block design (<em>v</em>=7, <em>k</em>=3, <em>λ</em>=1) displayed as <em>b</em>=7 vertically oriented blocks, in which each variety (integers 0 … 6) turns up <em>r</em>=3 times each and in which each of the 7×6/2=21 pairs of varieties (e.g. {0,1}, {2,5}, {3,4} …) turns up once (λ=1).</p>
</td>
</tr>
</tbody>
</table>
</p>
<p>Such designs are symmetric in that the number, <em>v</em>, of varieties being distributed is the same as the number, <em>b</em>, of blocks where each block holds <em>k</em> distinct varieties. The varieties are to have equal representation - <em>r</em> of each - throughout the whole design. Seen as a rectangular arrangement of <em>b</em> blocks it's easy to see that <em>vr = bk</em>.</p>
<p>A less obviously visualised property of the block design - in this case a <em>2</em>-design - is that each <em>pair</em> (hence the 2) of varieties is also equally represented. There are <em>v(v-1)/2</em> possible pairs and if appearing <em>λ</em> times amongst the <em>b</em> blocks (of <em>k(k-1)/2</em> pairs in each block), we must have that <em>λv(v-1)=bk(k-1)</em> or, using the earlier equation, <em>λ(v-1)=r(k-1)</em>.</p>
<p>It's important to remember that block designs are a way to disperse varieties of objects in a way that - on the face of it - looks somewhat random or unpredictable but which is in fact engineered to give each variety equal exposure in several positions (blocks, the location or sequence of which is unimportant). In the case of <em>2</em>-designs, each possible pair of varieties will also turn up the same number of times. In the more general <em>t</em>-design case, each <em>t</em>-sized subset of the <em>v</em> varieties (of which there are <em>v(v-1)(v-2)…(v-t+1)</em> distinct possibilities) have equal representation.</p>
<p>Although the designs themselves may be conveniently be built from integers - using the heavy lifting machinery of addition, multiplication, exponentiation etc. - once the design has been generated the numbers may be replaced by something more abstract (the integers’ responsibilities then being delegated, relegated even, to mere labelhood). These objects or varieties can be anything (well, anything <em>distinguishable</em>) and need not be integers. They may be breeds of plant, species of bacteria,</p>
<p>
<table cellpadding='0' cellspacing='0'>
<thead>
<tr>
<th>colours:</th>
<th>… and even music:</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<svg width="210" height="150" xmlns="http://www.w3.org/2000/svg">
<rect class='rec1' x='0' y='0' width='30' height='50'/>
<rect class='rec2' x='30' y='0' width='30' height='50'/>
<rect class='rec3' x='60' y='0' width='30' height='50'/>
<rect class='rec4' x='90' y='0' width='30' height='50'/>
<rect class='rec5' x='120' y='0' width='30' height='50'/>
<rect class='rec6' x='150' y='0' width='30' height='50'/>
<rect class='rec0' x='180' y='0' width='30' height='50'/>
<rect class='rec4' x='0' y='50' width='30' height='50'/>
<rect class='rec5' x='30' y='50' width='30' height='50'/>
<rect class='rec6' x='60' y='50' width='30' height='50'/>
<rect class='rec0' x='90' y='50' width='30' height='50'/>
<rect class='rec1' x='120' y='50' width='30' height='50'/>
<rect class='rec2' x='150' y='50' width='30' height='50'/>
<rect class='rec3' x='180' y='50' width='30' height='50'/>
<rect class='rec2' x='0' y='100' width='30' height='50'/>
<rect class='rec3' x='30' y='100' width='30' height='50'/>
<rect class='rec4' x='60' y='100' width='30' height='50'/>
<rect class='rec5' x='90' y='100' width='30' height='50'/>
<rect class='rec6' x='120' y='100' width='30' height='50'/>
<rect class='rec0' x='150' y='100' width='30' height='50'/>
<rect class='rec1' x='180' y='100' width='30' height='50'/>
</svg>
</td>
<td style='padding-left:15px; padding-right:15px;'><a href='http://image.storistry.com/bibd731/tre.png' title='A Bigger Flash'><img width='480' src='http://image.storistry.com/bibd731/tre.png' alt='Fano Triads'/></a></td>
</tr>
</tbody>
</table>
</p>
<p>where, in the above sequence of triads based on the seven blocks, we have mapped the integers 0 … 6 to the pitches B, C, D, E, F, G# and A.</p>
<p>It may seem perverse to sharpen the G in what would normally look like a perfectly ordinary chord sequence in the C major scale, but there's another, <em>seveny</em>, musical reason for it - and it's not the (implied) 7/4 time signature, but that the fact that each triad might be seen as a tetrad missing its fifth. Respectively those missing fifths would be A, B, C, D, E, F and G#. We shall put them in the bass (labelled with the integers 6, 0, 1, 2, 3, 4 and 5) and bung in an extra root note below. Notice that we would then have the complete sequence of all seven sevenths:</p>
<p><a href='http://image.storistry.com/bibd731/trebas.png' title='A Bigger Flash'><img width='480' src='http://image.storistry.com/bibd731/trebas.png' alt='Plesio-Fano Tetrads'/></a></p>
<p>
<table cellpadding='0' cellspacing='0'>
<tbody>
<tr>
<td>
<q>I want to show you something. It may mean something to you, it may not. I don't know. I don't know anymore.</q>
<p>— <em>Ricky Roma</em></p>
</td>
<td><svg viewBox='0 0 564 564' width="423" height="423" xmlns="http://www.w3.org/2000/svg">
<line x1='282' y1='32' x2='32' y2='465'/>
<line x1='282' y1='32' x2='532' y2='465'/>
<line x1='32' y1='465' x2='532' y2='465'/>
<line x1='282' y1='32' x2='282' y2='465'/>
<line x1='32' y1='465' x2='407' y2='248'/>
<line x1='532' y1='465' x2='157' y2='248'/>
<circle class='setp' cx='282' cy='32' r='10'/>
<circle class='setp' cx='32' cy='465' r='10'/>
<circle class='setp' cx='532' cy='465' r='10'/>
<circle class='setp' cx='282' cy='465' r='10'/>
<circle class='setp' cx='282' cy='321' r='10'/>
<circle class='setp' cx='157' cy='248' r='10'/>
<circle class='setp' cx='407' cy='248' r='10'/>
<circle class='fano' cx='282' cy='321' r='144'/>
<text class='fani' x='274' y='32'>G#</text>
<text class='fani' x='28' y='465'>A</text>
<text class='fani' x='528' y='465'>E</text>
<text class='fani' x='278' y='465'>F</text>
<text class='fani' x='278' y='321'>B</text>
<text class='fani' x='154' y='248'>C</text>
<text class='fani' x='404' y='248'>D</text>
</svg></td>
</tr>
</tbody>
</table>
</p>
LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-21134035210994991172019-07-26T00:19:00.000+01:002019-11-23T17:25:02.449+00:00All Interval Sets revisited<style>
th { width: 15mm; border-bottom: 4px #ddd ridge; background-color: #ddd; }
td { font-size: 8pt; text-align: center; padding-right: 5px; }
td.rh { text-align: right; border-right: 4px #ddd ridge; padding-right: 5px; background-color: #ddd; }
td.gt { width: 15mm; }
.bg { width: 24mm; border-left: 4px #ddd ridge; padding-left: 3px; background-color: #ddd; }
p.code {
font-size: 12px; color: #822; font-family: monospace;
margin-left: 5mm;
margin-right: 5mm;
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
border-left:1px solid #fff;
border-right:1px solid #fff;
padding:2px;
}
</style>
<p>Recently, I spotted a five year old <a
href="http://essaysandendnotes.blogspot.com/2014/02/observations-from-jon-wild-on-partition.html"
title="Jon Wild's Music Notes" target="_new">comment by David Feldman</a>,
which reminded me of my earlier <a
href="2018/07/all-intervals.html"
title="All The Intervals" target="_mido">post on All Interval Sets.</a>
</p>
<p>
The brute force method, in brief, is to look for 6 term polynomials of the form
<p style='margin-left: 1cm;'>
<em>s(x)</em> = 1 + <em>x</em> + <em>x<sup>p</sup></em> + <em>x<sup>q</sup></em>
+ <em>x<sup>r</sup></em> + <em>x<sup>s</sup></em>, (2 < <em>p</em> < <em>q</em> < <em>r</em> < <em>s</em> < 31)</p>
<p>such that</p>
<p style='margin-left: 1cm;'><em>
s(x) · s(x<sup>-1</sup>)<br/>
= 6 + x + x<sup>2</sup> + x<sup>3</sup> + x<sup>4</sup> + … + x<sup>-3</sup> + x<sup>-2</sup> + x<sup>-1</sup><br/>
= 6 + x + x<sup>2</sup> + x<sup>3</sup> + x<sup>4</sup> + … + x<sup>28</sup> + x<sup>29</sup> + x<sup>30</sup> modulo (x<sup>31</sup>-1)
</em></p>
<p>
since that product, fully written out, will look like the 36 term polynomial
</p>
<p style='margin-left: 1cm;'><em>
1 + x + x<sup>p</sup> + x<sup>q</sup> + x<sup>r</sup> + x<sup>s</sup> +<br/>
x<sup>-1</sup> + 1 + x<sup>p-1</sup> + x<sup>q-1</sup> + x<sup>r-1</sup> + x<sup>s-1</sup> +<br/>
x<sup>-p</sup> + x<sup>1-p</sup> + 1 + x<sup>q-p</sup> + x<sup>r-p</sup> + x<sup>s-p</sup> +<br/>
x<sup>-q</sup> + x<sup>1-q</sup> + x<sup>p-q</sup> + 1 + x<sup>r-q</sup> + x<sup>s-q</sup> +<br/>
x<sup>-r</sup> + x<sup>1-r</sup> + x<sup>p-r</sup> + x<sup>q-r</sup> + 1 + x<sup>s-r</sup> +<br/>
x<sup>-s</sup> + x<sup>1-s</sup> + x<sup>p-s</sup> + x<sup>q-s</sup> + x<sup>r-s</sup> + 1<br/>
</em></p>
<p>where 6 of the 36 terms are unavoidably collapsed into units (from, e.g. <em>x<sup>r</sup></em> · <em>x<sup>-r</sup></em> ≡ 1) and the remaining 30 terms - products of 6 × 5 = 30 terms with unequal exponents - are present exactly once. The four 'unknowns' <em>p</em>, <em>q</em>, <em>r</em> and <em>s</em> must be chosen so that the nonzero differences
{ 0-1, 0-p, 0-q, 0-r, 0-s, 1-0, 1-p, 1-q, 1-r, 1-s, p-0, p-1, p-q, p-r, p-s, q-0, q-1, q-p, q-r, q-s, r-0, r-1, r-p, r-q, r-s, s-0, s-1, s-p, s-q, s-r }
must equate to {±1, ±2, ±3, ±4, ±5, ±6, ±7, ±8, ±9, ±10, ±11, ±12, ±13, ±14, ±15}. I.e. where the 28 member set
<p>{ -p, -q, -r, -s, 1-p, 1-q, 1-r, 1-s, p, p-1, p-q, p-r, p-s, q, q-1, q-p, q-r, q-s, r, r-1, r-p, r-q, r-s, s, s-1, s-p, s-q, s-r }<br/>
must be the same as the set<br/>
{±2, ±3, ±4, ±5, ±6, ±7, ±8, ±9, ±10, ±11, ±12, ±13, ±14, ±15}<br/>
- we already know where the ±1s are. Bear in mind that the first, variable, set is by no means presented in any kind of numerical value order. We know things like <em>q-p</em> > 0, and <em>s-p</em> > <em>s-r</em>,
and <em>q-r</em> < 0, but not much else.</p>
<a name='brutab'><p>Whilst the brute force search, finding <em>p</em>, <em>q</em>, <em>r</em> and <em>s</em> - as 10 solution quartets -</p></a>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th>p</th><th>q</th><th>r</th><th>s</th></tr>
</thead>
<tbody>
<tr><td>3</td><td>8</td><td>12</td><td>18</td></tr>
<tr><td>3</td><td>10</td><td>14</td><td>26</td></tr>
<tr><td>4</td><td>6</td><td>13</td><td>21</td></tr>
<tr><td>4</td><td>10</td><td>12</td><td>17</td></tr>
<tr><td>6</td><td>18</td><td>22</td><td>29</td></tr>
<tr><td>8</td><td>11</td><td>13</td><td>17</td></tr>
<tr><td>11</td><td>19</td><td>26</td><td>28</td></tr>
<tr><td>14</td><td>20</td><td>24</td><td>29</td></tr>
<tr><td>15</td><td>19</td><td>21</td><td>24</td></tr>
<tr><td>15</td><td>20</td><td>22</td><td>28</td></tr>
</tbody>
</table>
<p>does not take very long for 31 EDO, one can appreciate that for the larger octave division sets where the <em>k(k-1)</em> distinct differences between <em>k</em> distinct pitch classes must all
occur exactly once, higher values of <em>k</em> represents a combinatorial explosion in search times (or large systems of Diophantine simultaneous equations).
</p>
<h2>The Feldman Observation</h2>
<p>
Prof Feldman finds a rather quicker way to get the all interval sets for 31 <span title="Equal Divisions of the Octave">EDO</span>, and begins with the fact that the number 3
can generate the complete set of integers 1 … 30 when repeatedly multiplied by itself, 29 times, modulo 31.</p>
<p>This is not as weirdly out of left-field as it sounds. All it takes is a little messing around with multiplicative group theory. Here are the integers we're looking at:</p>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th align='left'>3<sup>0</sup>,3<sup>1</sup>,3<sup>2</sup>,3<sup>3</sup>,3<sup>4</sup>,3<sup>5</sup>,</th>
<th>…,</th>
<th align='right'>3<sup>27</sup>,3<sup>28</sup>,3<sup>29</sup></th></tr>
</thead>
<tbody>
<tr><td colspan='3'>1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28,22,4,12,5,15,14,11,2,6,18,23,7,21</td></tr>
</tbody>
</table>
<p>Now this set - which is to say the set of all integers between 1 and 30 inclusive - forms a group, <strong>G</strong>, with 30 elements. Insofar as</p>
<ul>
<li>the multiplicative identity, 1, is an element</li>
<li>any pair, multiplied together modulo 31, is an element (e.g. 25×11 = 275 = (31×8) + 27 ≡ 27)</li>
<li>every element has exactly one multiplicative inverse (e.g. 27<sup>-1</sup> = 23, since 27×23 = 621 = (31×20) + 1)</li>
<li>… and of course integer multiplication in modulo arithmetic is associative</li>
</ul>
<p>All except the third property is plain to see. You may wish to verify the less obvious one with 28×27 multiplications, or read up on
<a href="https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n" title="wiki" target="_new">multiplicative groups</a>.</p>
<p>
Now this order 30 group has a particular subgroup, <strong>H</strong> of order 3
(<a href="http://mathonline.wikidot.com/the-sylow-theorems" title="Sylow's Third Theorem" target="_mathol">Sylow says</a> there's only one),
comprising elements { 3^0, 3^10, 3^20 }, i.e. { 1, 25, 5 }, as the following (rather simple) multiplication table shows:
</p>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th>×<sub>31</sub></th><th>1</th><th>5</th><th>25</th></tr>
</thead>
<tbody>
<tr><td class='rh'>1</td><td>1</td><td>5</td><td>25</td></tr>
<tr><td class='rh'>5</td><td>5</td><td>25</td><td>1</td></tr>
<tr><td class='rh'>25</td><td>25</td><td>1</td><td>5</td></tr>
</tbody>
</table>
<p>Because this subgroup is of order 3, <strong>G</strong>'s elements may be partitioned into 30/3 = 10 cosets of 3 members each. One of them being <strong>H</strong> itself, and the other 9 being non-groups
- since the triples perforce lack the identity.</p>
<a name='costab'><p>Here they are with the cosets in columns (with the first column being the actual subgroup <strong>H</strong>)</p></a>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th rowspan='2'><strong>H</strong>×3<sup><em>k</em></sup></th><th colspan='10'><em>k</em></th></tr>
<tr><th>0</th><th>3</th><th>6</th><th>9</th><th>12</th><th>15</th><th>18</th><th>21</th><th>24</th><th>27</th></tr>
</thead>
<tbody>
<tr><td> </td><td>1</td><td>27</td><td>16</td><td>29</td><td>8</td><td>30</td><td>4</td><td>15</td><td>2</td><td>23</td></tr>
<tr><td> </td><td>25</td><td>24</td><td>28</td><td>12</td><td>14</td><td>6</td><td>7</td><td>3</td><td>19</td><td>17</td></tr>
<tr><td> </td><td>5</td><td>11</td><td>18</td><td>21</td><td>9</td><td>26</td><td>20</td><td>13</td><td>10</td><td>22</td></tr>
</tbody>
</table>
<p>He then combines the first two cosets (columns) to produce the 6-member set <strong>H</strong>×3<sup>0</sup> ∪ <strong>H</strong>×3<sup>3</sup> = {1, 5, 11, 24, 25, 27}.</p>
<!--
<p>So far, so opaque. What's the point of all of this? Well - if we make a 6×6 table of the <em>differences</em> of these 6 numbers, each with each other, we get (subtracting the number in the row heading
from the number in the column heading):</p>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th>-</th><th>1</th><th>5</th><th>11</th><th>24</th><th>25</th><th>27</th></tr>
</thead>
<tbody>
<tr><td class='rh'>1</td><td>0</td><td>4</td><td>10</td><td>23</td><td>24</td><td>26</td></tr>
<tr><td class='rh'>5</td><td>-4</td><td>0</td><td>6</td><td>19</td><td>20</td><td>22</td></tr>
<tr><td class='rh'>11</td><td>-10</td><td>-6</td><td>0</td><td>13</td><td>14</td><td>16</td></tr>
<tr><td class='rh'>24</td><td>-23</td><td>-19</td><td>-13</td><td>0</td><td>1</td><td>3</td></tr>
<tr><td class='rh'>25</td><td>-24</td><td>-20</td><td>-14</td><td>-1</td><td>0</td><td>2</td></tr>
<tr><td class='rh'>27</td><td>-26</td><td>-22</td><td>-16</td><td>-3</td><td>-2</td><td>0</td></tr>
</tbody>
</table>
<p>which is (obviously) antisymmetric in <strong>ℤ</strong>, but in modulo 31 it is:
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th>-<sub>31</sub></th><th>1</th><th>5</th><th>11</th><th>24</th><th>25</th><th>27</th></tr>
</thead>
<tbody>
<tr><td class='rh'>1</td><td>0</td><td>4</td><td>10</td><td>23</td><td>24</td><td>26</td></tr>
<tr><td class='rh'>5</td><td>27</td><td>0</td><td>6</td><td>19</td><td>20</td><td>22</td></tr>
<tr><td class='rh'>11</td><td>21</td><td>25</td><td>0</td><td>13</td><td>14</td><td>16</td></tr>
<tr><td class='rh'>24</td><td>8</td><td>12</td><td>18</td><td>0</td><td>1</td><td>3</td></tr>
<tr><td class='rh'>25</td><td>7</td><td>11</td><td>17</td><td>30</td><td>0</td><td>2</td></tr>
<tr><td class='rh'>27</td><td>5</td><td>9</td><td>15</td><td>28</td><td>29</td><td>0</td></tr>
</tbody>
</table>
<p>which, by inspection, carries the diagonal of six 0s (the differences between the six set members and themselves) and one of each of the values 1 to 30. In other words the set {1, 5, 11, 24, 25, 27}, constructed from the union of two of the 10 cosets of <strong>G</strong>'s subgroup <strong>H</strong>, is an all interval set within 31 EDO.</p>
-->
<p>That this set is the 'same' as one found by brute-force is not hard to see. It's basically <em>x<sup>24</sup>s(x)</em>, as the following argument should show.</p>
<p>Differences are completely unaffected by the subtraction of the same constant from each of those six numbers, and it's easy
to see that a subtraction of 24 from each will be appropriate since it takes 24 and 25 to 0 and 1 respectively.</p>
<p style='margin-left: 1cm;'>
{1-24, 5-24, 11-24, 24-24, 25-24, 27-24} = {-23, -19, -13, 0, 1, 3} ≡<sub>31</sub> {8, 12, 18, 0, 1, 3} = {0, 1, 3, 8, 12, 18}
</p>
<p>since the 24-24, 25-24 gives us a 0, 1 (the 1 + <em>x</em> of our general <em>s(x)</em> 'all interval' polynomial). We can now see that we have recovered the first row of our <a href='#brutab'>brutishly forced table</a>, i.e. where <em>p</em>=3, <em>q</em>=8, <em>r</em>=12, <em>s</em>=18.</p>
<p>Were this 'instant solution' not remarkable enough, we may recover the others - again pretty much instantly - by pairing up the remaining 8 cosets:</p>
<table cellspacing='0' cellpadding='0'>
<tbody>
<tr><td class='rh'>6∪9</td><td>16</td><td>18</td><td>21</td><td>12</td><td>28</td><td>29</td></tr>
<tr><td class='rh'>12∪15</td><td>9</td><td>14</td><td>6</td><td>30</td><td>8</td><td>26</td></tr>
<tr><td class='rh'>18∪21</td><td>20</td><td>7</td><td>3</td><td>15</td><td>4</td><td>13</td></tr>
<tr><td class='rh'>24∪27</td><td>19</td><td>2</td><td>23</td><td>22</td><td>10</td><td>17</td></tr>
</tbody>
</table>
<p>The first column entries <em>a</em>∪<em>b</em> label the rows as being the union of cosets <strong>H</strong>×3<sup><em>a</em></sup> and
<strong>H</strong>×3<sup><em>b</em></sup>.</p>
<p>All 10 cosets of <strong>H</strong>
(including, as usual, subgroup <strong>H</strong> itself) have now been accounted for. The group <strong>G</strong>'s 30 elements have thus been partitioned into 5 hexads.</p>
<p>These 5 hexads look like plausible all-interval sets for 31 EDO (we already know the first one is precisely one such) since in each one of them we can see two elements differing by 1
(giving us our 0, 1 exponents for the polynomial <em>s(x)</em>). If we perform the appropriate row subtractions, then, we get</p>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th class='rh'>24</th><th>-23</th><th>-19</th><th>-13</th><th>0</th><th>1</th><th>3</th><th class='bg'><em>x<sup>24</sup>s<sub>0</sub>(x)</sup></em></th></tr>
</thead>
<tbody>
<tr><td class='rh'>28</td><td>-12</td><td>-10</td><td>-7</td><td>-16</td><td>0</td><td>1</td><td class='bg'><em>x<sup>28</sup>s<sub>1</sub>(x)</sup></em></td></tr>
<tr><td class='rh'>8</td><td>1</td><td>6</td><td>-2</td><td>22</td><td>0</td><td>18</td><td class='bg'><em>x<sup>8</sup>s<sub>2</sub>(x)</sup></em></td></tr>
<tr><td class='rh'>3</td><td>17</td><td>4</td><td>0</td><td>12</td><td>1</td><td>10</td><td class='bg'><em>x<sup>3</sup>s<sub>3</sub>(x)</sup></em></td></tr>
<tr><td class='rh'>22</td><td>-3</td><td>-20</td><td>1</td><td>0</td><td>-12</td><td>-5</td><td class='bg'><em>x<sup>22</sup>s<sub>4</sub>(x)</sup></em></td></tr>
</tbody>
</table>
<p>where the first column shows the value subtracted from each element in that row, and the last column shows what the original row was, written as a pitch class polynomial,
where <em>s<sub>k</sub>(x)</em> is some six term polynomial beginning with 1 + <em>x</em>.
We can now present (after modulo 31 normalisation) the <em>p, q, r, s</em> sets in the following table's
right hand column (ignoring the 0s and 1s now common to each row).</p>
<table cellspacing='0' cellpadding='0'>
<thead>
<tr><th>8</th><th>12</th><th>18</th><th>0</th><th>1</th><th>3</th><th class='bg'>3,8,12,18</th></tr>
</thead>
<tbody>
<tr><td>19</td><td>21</td><td>24</td><td>15</td><td>0</td><td>1</td><td class='bg'>15,19,21,24</td></tr>
<tr><td>1</td><td>6</td><td>29</td><td>22</td><td>0</td><td>18</td><td class='bg'>6,18,22,29</td></tr>
<tr><td>17</td><td>4</td><td>0</td><td>12</td><td>1</td><td>10</td><td class='bg'>4,10,12,17</td></tr>
<tr><td>28</td><td>11</td><td>1</td><td>0</td><td>19</td><td>26</td><td class='bg'>11,19,26,28</td></tr>
</tbody>
</table>
<p>reproducing five rows (respectively 1st, 9th, 5th, 4th and 7th) of the <a href='#brutab'>'brute' table</a>. Which is basically the full set of all interval patterns since the remaining 5 are simply inversions of the 5 found here (all-interval sets come in pairs of mutually inverted pitch class sets).</p>
<p>It's not clear to me what directed him towards the idea of constructing a set from the union of an order 3 subgroup and its 'first' non-group coset. What <em>is</em> clear is that a more obviously direct approach using an
order 6 subgroup would not have worked. For whilst <strong>G</strong>'s subgroup <strong>K</strong> = {1, 5, 6, 25, 26, 30} has the right number of elements for a 31 EDO all-interval set, it already has <em>two</em>
differences of 1 (26-25 and 6-5) in it and so is a complete non-starter.</p>
<h2>Is 73 the Best Number?</h2>
<p>Some may know that <a href="https://www.scoopwhoop.com/The-Most-Interesting-Number-In-The-World/" title="BBT fans only" target="new">Sheldon Cooper believes it</a>
is. But even he may be unaware of a <em>musically</em> interesting property of this particular prime.</p>
<p>First of all, being 9×8+1 it brings us to 73 EDO, just like 6×5+1 brings us to 31 EDO, both of which allow for the possibility of all-interval sets in which all possible (nonzero) differences between
pitch classes in pitch class subsets of size 9 and 6 respectively occur exactly once. In polynomial terms we're looking for polynomials such as</p>
<p style='margin-left: 1cm;'>
<em>s(x)</em> = 1 + <em>x</em> + <em>x<sup>p<sub>3</sub></sup></em> + <em>x<sup>p<sub>4</sub></sup></em> + <em>x<sup>p<sub>5</sub></sup></em> + <em>x<sup>p<sub>6</sub></sup></em> + <em>x<sup>p<sub>7</sub></sup></em> + <em>x<sup>p<sub>8</sub></sup></em> + <em>x<sup>p<sub>9</sub></sup></em></p>
<p>where 2 < <em>p<sub>3</sub></em> < <em>p<sub>4</sub></em> < <em>p<sub>5</sub></em> < <em>p<sub>6</sub></em> < <em>p<sub>7</sub></em> < <em>p<sub>8</sub></em> < <em>p<sub>9</sub></em> < 73) such that</p>
<p style='margin-left: 1cm;'><em>
s(x) · s(x<sup>-1</sup>)<br/>
= 9 + x + x<sup>2</sup> + x<sup>3</sup> + x<sup>4</sup> + … + x<sup>-3</sup> + x<sup>-2</sup> + x<sup>-1</sup><br/>
= 9 + x + x<sup>2</sup> + x<sup>3</sup> + x<sup>4</sup> + … + x<sup>70</sup> + x<sup>71</sup> + x<sup>72</sup> modulo (x<sup>73</sup>-1)
</em></p>
<p>Of course we've already computed these sets with our <a
href="2018/07/all-intervals.html"
title="All The Intervals" target="_mido">brute-force methodology</a> and where, as predicted, the search for the 8 exponent sets found took somewhat longer than it did for 31 EDO - about an hour of computation with
a C program. By the time we got to 91 EDO, the computation was taking about a day to complete.</p>
<p>As it happens, life is particularly easy with 73 EDO. First of all, we need a multiplicative group of order 72 to hold our 72 difference counting exponents, and the integer 5 generates it quite nicely, in that the
set {5<sup>0</sup>, 5<sup>1</sup>, 5<sup>2</sup>, 5<sup>3</sup>, …, 5<sup>70</sup>, 5<sup>71</sup>} all calculated modulo 73, contains every integer in the range 1 … 72 exactly once.
This is a well-known fact about this group, so no work is required here. Although even though you don't need to do it, a computer algebra system such as GAP will take mere seconds to assure you that this is the case.</p>
<p class="code">
gap> c:=List([0..71],i->(5^i) mod 73);<br/>
[ 1, 5, 25, 52, 41, 59, 3, 15, 2, 10, 50, 31, 9, 45, 6, 30, 4, 20, 27, 62,<br/>
18, 17, 12, 60, 8, 40, 54, 51, 36, 34, 24, 47, 16, 7, 35, 29, 72, 68, 48,<br/>
21, 32, 14, 70, 58, 71, 63, 23, 42, 64, 28, 67, 43, 69, 53, 46, 11, 55, 56,<br/>
61, 13, 65, 33, 19, 22, 37, 39, 49, 26, 57, 66, 38, 44 ]<br/>
gap> Sort(c);<br/>
gap> c=List([1..72]);<br/>
true
</p>
<p>
And GAP will generate the appropriate group for you, pretty much instantly.
</p>
<p class="code">
gap> G:=Units(Integers mod 73);<br/>
<group of size 72 with 1 generators><br/>
gap> Int(GeneratorsOfGroup(G)[1]);<br/>
5
</p>
Now we need to find a subgroup <strong>H</strong>, ideally of order 9, of <strong>G</strong>. It's certainly possible since 9 divides 72 exactly, and such a subgroup would have an index of 8 = 72 ÷ 9. GAP
provides us with a function which gives us subgroups of such an index:</p>
<p class="code">
gap> K:=LowIndexSubgroups(G,8);<br/>
[ <group of size 72 with 1 generators>, <group of size 36 with 4 generators>,<br/>
<group of size 24 with 4 generators>, <group of size 18 with 3 generators>,<br/>
<group of size 12 with 3 generators>, <group of size 9 with 2 generators> ]<br/>
</p>
<p>And we see that the 6th entry is exactly what we're looking for. We can list its elements:</p>
<p class="code">
gap> List(K[6]);<br/>
[ Z(73)^0, Z(73)^64, Z(73)^48, Z(73)^56, Z(73)^40, Z(73)^24, Z(73)^32, Z(73)^16, Z(73)^8 ]<br/>
gap> H:=K[6];<br/>
<group of size 9 with 2 generators><br/>
gap> List(H,i->Int(i));<br/>
[ 1, 37, 64, 55, 32, 8, 16, 4, 2 ]<br/>
</p>
<p>And here is <strong>H</strong>'s multiplication table:</p>
<table cellspacing="0" cellpadding="0">
<thead>
<tr><th>×<sub>73</sub></th><th>1</th><th>37</th><th>64</th><th>55</th><th>32</th><th>8</th><th>16</th><th>4</th><th>2</th></tr>
</thead>
<tbody>
<tr><td class="rh">1</td><td>1</td><td>37</td><td>64</td><td>55</td><td>32</td><td>8</td><td>16</td><td>4</td><td>2</td></tr>
<tr><td class="rh">37</td><td>37</td><td>64</td><td>55</td><td>32</td><td>8</td><td>16</td><td>4</td><td>2</td><td>1</td></tr>
<tr><td class="rh">64</td><td>64</td><td>55</td><td>32</td><td>8</td><td>16</td><td>4</td><td>2</td><td>1</td><td>37</td></tr>
<tr><td class="rh">55</td><td>55</td><td>32</td><td>8</td><td>16</td><td>4</td><td>2</td><td>1</td><td>37</td><td>64</td></tr>
<tr><td class="rh">32</td><td>32</td><td>8</td><td>16</td><td>4</td><td>2</td><td>1</td><td>37</td><td>64</td><td>55</td></tr>
<tr><td class="rh">8</td><td>8</td><td>16</td><td>4</td><td>2</td><td>1</td><td>37</td><td>64</td><td>55</td><td>32</td></tr>
<tr><td class="rh">16</td><td>16</td><td>4</td><td>2</td><td>1</td><td>37</td><td>64</td><td>55</td><td>32</td><td>8</td></tr>
<tr><td class="rh">4</td><td>4</td><td>2</td><td>1</td><td>37</td><td>64</td><td>55</td><td>32</td><td>8</td><td>16</td></tr>
<tr><td class="rh">2</td><td>2</td><td>1</td><td>37</td><td>64</td><td>55</td><td>32</td><td>8</td><td>16</td><td>4</td></tr>
</tbody>
</table>
<p>We can see that there's only one element-difference of 1 (from 2 - 1), which is encouraging. We can sort <strong>H</strong>'s elements and subtract 1 from each (remember that subtraction of the same constant
from each element has no impact upon their differences)</p>
<p class="code">
gap> S:=List(H,i->Int(i));<br/>
[ 1, 37, 64, 55, 32, 8, 16, 4, 2 ]<br/>
gap> Sort(S);<br/>
gap> S-1;<br/>
[ 0, 1, 3, 7, 15, 31, 36, 54, 63 ]<br/>
</p>
<p>Inspection of the <em>n</em>=73 table in <a
href="2018/07/all-intervals.html"
title="All The Intervals" target="_mido">that earlier post</a> shows that the set {0, 1, 3, 7, 15, 31, 36, 54, 63} we have here is precisely the first row of that table, under the heading
<em>p<sub>1</sub> p<sub>2</sub> p<sub>3</sub> p<sub>4</sub> p<sub>5</sub> p<sub>6</sub> p<sub>7</sub> p<sub>8</sub> p<sub>9</sub></em>.</p>
<p>But of course there's more. Being of index 8, this order 9 subgroup <strong>H</strong> is associated with another 7 cosets. We already know that 73 EDO provides 4 pairs of mutually inverse all-interval sets.
Can it be that the remaining 7 cosets here provide exactly what we need, in what is essentially no time at all (compared to a daysworth of computational searching)?</p>
<p>Since we were careful to make S the sorted list of the group <strong>H</strong>'s operations, rather than overwrite H as a list, the GAP variable H, for <strong>H</strong>, remains available to us
and we can list all 8 cosets in integer form with a one-liner:</p>
<p class="code">
gap> C:=List(RightCosets(G,H),i->List(i,j->Int(j)));<br/>
[ [ 1, 37, 64, 55, 32, 8, 16, 4, 2 ], [ 22, 11, 21, 42, 47, 30, 60, 15, 44 ],<br/>
[ 46, 23, 24, 48, 12, 3, 6, 38, 19 ], [ 72, 36, 9, 18, 41, 65, 57, 69, 71 ],<br/>
[ 63, 68, 17, 34, 45, 66, 59, 33, 53 ], [ 51, 62, 52, 31, 26, 43, 13, 58, 29 ],<br/>
[ 27, 50, 49, 25, 61, 70, 67, 35, 54 ], [ 10, 5, 56, 39, 28, 7, 14, 40, 20 ] ]<br/>
</p>
<p>And we know what to do now - although there is likely a better way to do this in GAP if you're going to do it a lot. First we will construct an array of 8 elements to be subtracted, modulo 73, from each of the
8 integer lists (in order to rebase each of them with a 0, 1 pair of elements). Then we will perform that subtraction in a loop, sort each of the 8 lists, and finally re-present:</p>
<p class="code">
gap> b:= [1,21,23,71,33,51,49,39];;<br/>
gap> for i in [1..8] do; C[i] := (C[i] - b[i]) mod 73; od;<br/>
gap> for c in C do; Sort(c); od;<br/>
gap> Sort(C);<br/>
gap> Display(C);<br/>
[[ 0, 1, 3, 7, 15, 31, 36, 54, 63 ],<br/>
[ 0, 1, 5, 12, 18, 21, 49, 51, 59 ],<br/>
[ 0, 1, 7, 11, 35, 48, 51, 53, 65 ],<br/>
[ 0, 1, 9, 21, 23, 26, 39, 63, 67 ],<br/>
[ 0, 1, 11, 20, 38, 43, 59, 67, 71 ],<br/>
[ 0, 1, 12, 20, 26, 30, 33, 35, 57 ],<br/>
[ 0, 1, 15, 23, 25, 53, 56, 62, 69 ],<br/>
[ 0, 1, 17, 39, 41, 44, 48, 54, 62 ]]
</p>
<p>And indeed these 8 sets correspond exactly, row for row, to the previously calculated all-interval sets for 73 EDO. And it took only a few minutes rather than an hour or so. The longest part of the process was visually inspecting the cosets in order to construct the 'subtractions array', b.</p>
<p>In any event, for investigations like these, we will find a 'set difference' function useful. We may define it in GAP as:</p>
<p class="code">
setdifferences:=function(n, s)<br/>
local x, r;<br/>
x := Indeterminate(Integers, "x");<br/>
s := s - Minimum(s);<br/>
r := Sum(List(s, i -> x^i));<br/>
s := Sum(List(s, i -> x^(n-i)));<br/>
return CoefficientsOfUnivariatePolynomial((r*s) mod (x^n-1));<br/>
end;
</p>
<p>Such a function will essentially perform the calculation of <em>s(x) · s(x<sup>-1</sup>)</em> and return the coefficients of the polynomial. For example: </p>
<p class="code">
gap> setdifferences(73, [22, 11, 21, 42, 47, 30, 60, 15, 44]);<br/>
[ 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
</p>
<p>which reveals to a human onlooker that the supplied pitch class set does indeed form an-all interval set within 73 EDO. For a non-human tester, the following function may be more useful:</p>
<p class="code">
isalldifferenceset:=function(s)<br/>
local x, k, n;<br/>
k := Size(s);<br/>
n := k * (k - 1) + 1;<br/>
s := s - Minimum(s);<br/>
if Maximum(s) < n then<br/>
x := ShallowCopy(setdifferences(n, s));<br/>
if (Size(x) = n) and (x[1] = k) then<br/>
Remove(x, 1);<br/>
return (Minimum(x) = 1) and (Maximum(x) = 1);<br/>
fi;<br/>
return false;<br/>
fi;<br/>
return false;<br/>
end;
</p>
<h2>133 EDO</h2>
<p>We already mentioned that it took about a day's worth of computation to find the 12 all-interval sets within 91 EDO (the next suitable microtonality beyond 73 EDO). How long
would brute force technique take to search through 111 EDO to find all-interval sets of 11 pitch classes? I don't know because I've not tried it. And the next one up is the
sets of size 12 in 133 EDO - how long would <em>that</em> take?</p>
<p>As a teaser, let's try our GAP function out with something daring:</p>
<p class="code">
gap> setdifferences(133,[ 0,1,10,58,60,64,82,87,98,101,113,126 ]);<br/>
[ 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,<br/>
1, 1, 1 ]<br/>
</p>
<p>Using group theory it doesn't actually take all that much effort to research 12×11+1 = 133 EDO. Here is a list of the <a href='#36ity' title='provenance hints'>36</a> (normal-form) all-interval sets of 12
pitch classes therefrom:</p>
<table cellspacing='0' cellpadding='0'>
<tbody>
<tr><td>
<table cellspacing='0' cellpadding='0'>
<tbody>
<tr><td>0</td><td>1</td><td>10</td><td>58</td><td>60</td><td>64</td><td>82</td><td>87</td><td>98</td><td>101</td><td>113</td><td>126</td></tr>
<tr><td>0</td><td>1</td><td>25</td><td>30</td><td>40</td><td>46</td><td>53</td><td>96</td><td>100</td><td>114</td><td>122</td><td>131</td></tr>
<tr><td>0</td><td>1</td><td>15</td><td>25</td><td>45</td><td>52</td><td>58</td><td>61</td><td>63</td><td>80</td><td>84</td><td>92</td></tr>
<tr><td>0</td><td>1</td><td>8</td><td>14</td><td>30</td><td>45</td><td>47</td><td>56</td><td>66</td><td>106</td><td>109</td><td>129</td></tr>
<tr><td>0</td><td>1</td><td>16</td><td>21</td><td>24</td><td>49</td><td>51</td><td>58</td><td>62</td><td>68</td><td>80</td><td>94</td></tr>
<tr><td>0</td><td>1</td><td>3</td><td>17</td><td>21</td><td>58</td><td>65</td><td>73</td><td>100</td><td>105</td><td>111</td><td>124</td></tr>
<tr><td>0</td><td>1</td><td>9</td><td>19</td><td>24</td><td>31</td><td>52</td><td>56</td><td>58</td><td>69</td><td>72</td><td>98</td></tr>
<tr><td>0</td><td>1</td><td>5</td><td>12</td><td>15</td><td>31</td><td>33</td><td>39</td><td>56</td><td>76</td><td>85</td><td>98</td></tr>
<tr><td>0</td><td>1</td><td>26</td><td>33</td><td>39</td><td>44</td><td>53</td><td>61</td><td>63</td><td>84</td><td>118</td><td>130</td></tr>
<tr><td>0</td><td>1</td><td>5</td><td>21</td><td>24</td><td>39</td><td>49</td><td>61</td><td>75</td><td>92</td><td>125</td><td>127</td></tr>
<tr><td>0</td><td>1</td><td>8</td><td>21</td><td>39</td><td>43</td><td>48</td><td>54</td><td>73</td><td>105</td><td>117</td><td>131</td></tr>
<tr><td>0</td><td>1</td><td>23</td><td>37</td><td>57</td><td>62</td><td>75</td><td>83</td><td>86</td><td>90</td><td>92</td><td>102</td></tr>
<tr><td>0</td><td>1</td><td>6</td><td>22</td><td>33</td><td>40</td><td>50</td><td>59</td><td>63</td><td>88</td><td>119</td><td>131</td></tr>
<tr><td>0</td><td>1</td><td>6</td><td>18</td><td>39</td><td>68</td><td>79</td><td>82</td><td>98</td><td>102</td><td>124</td><td>126</td></tr>
<tr><td>0</td><td>1</td><td>7</td><td>35</td><td>37</td><td>50</td><td>66</td><td>89</td><td>108</td><td>113</td><td>122</td><td>130</td></tr>
<tr><td>0</td><td>1</td><td>5</td><td>24</td><td>44</td><td>71</td><td>74</td><td>80</td><td>105</td><td>112</td><td>120</td><td>122</td></tr>
<tr><td>0</td><td>1</td><td>15</td><td>18</td><td>20</td><td>24</td><td>31</td><td>52</td><td>60</td><td>85</td><td>95</td><td>107</td></tr>
<tr><td>0</td><td>1</td><td>4</td><td>27</td><td>51</td><td>57</td><td>79</td><td>89</td><td>100</td><td>118</td><td>120</td><td>125</td></tr>
</tbody>
</table></td>
<td class='gt'> </td>
<td>
<table cellspacing='0' cellpadding='0'>
<tbody>
<tr><td>0</td><td>1</td><td>8</td><td>21</td><td>33</td><td>36</td><td>47</td><td>52</td><td>70</td><td>74</td><td>76</td><td>124</td></tr>
<tr><td>0</td><td>1</td><td>3</td><td>12</td><td>20</td><td>34</td><td>38</td><td>81</td><td>88</td><td>94</td><td>104</td><td>109</td></tr>
<tr><td>0</td><td>1</td><td>42</td><td>50</td><td>54</td><td>71</td><td>73</td><td>76</td><td>82</td><td>89</td><td>109</td><td>119</td></tr>
<tr><td>0</td><td>1</td><td>5</td><td>25</td><td>28</td><td>68</td><td>78</td><td>87</td><td>89</td><td>104</td><td>120</td><td>126</td></tr>
<tr><td>0</td><td>1</td><td>40</td><td>54</td><td>66</td><td>72</td><td>76</td><td>83</td><td>85</td><td>110</td><td>113</td><td>118</td></tr>
<tr><td>0</td><td>1</td><td>10</td><td>23</td><td>29</td><td>34</td><td>61</td><td>69</td><td>76</td><td>113</td><td>117</td><td>131</td></tr>
<tr><td>0</td><td>1</td><td>36</td><td>62</td><td>65</td><td>76</td><td>78</td><td>82</td><td>103</td><td>110</td><td>115</td><td>125</td></tr>
<tr><td>0</td><td>1</td><td>36</td><td>49</td><td>58</td><td>78</td><td>95</td><td>101</td><td>103</td><td>119</td><td>122</td><td>129</td></tr>
<tr><td>0</td><td>1</td><td>4</td><td>16</td><td>50</td><td>71</td><td>73</td><td>81</td><td>90</td><td>95</td><td>101</td><td>108</td></tr>
<tr><td>0</td><td>1</td><td>7</td><td>9</td><td>42</td><td>59</td><td>73</td><td>85</td><td>95</td><td>110</td><td>113</td><td>129</td></tr>
<tr><td>0</td><td>1</td><td>3</td><td>17</td><td>29</td><td>61</td><td>80</td><td>86</td><td>91</td><td>95</td><td>113</td><td>126</td></tr>
<tr><td>0</td><td>1</td><td>32</td><td>42</td><td>44</td><td>48</td><td>51</td><td>59</td><td>72</td><td>77</td><td>97</td><td>111</td></tr>
<tr><td>0</td><td>1</td><td>3</td><td>15</td><td>46</td><td>71</td><td>75</td><td>84</td><td>94</td><td>101</td><td>112</td><td>128</td></tr>
<tr><td>0</td><td>1</td><td>8</td><td>10</td><td>32</td><td>36</td><td>52</td><td>55</td><td>66</td><td>95</td><td>116</td><td>128</td></tr>
<tr><td>0</td><td>1</td><td>4</td><td>12</td><td>21</td><td>26</td><td>45</td><td>68</td><td>84</td><td>97</td><td>99</td><td>127</td></tr>
<tr><td>0</td><td>1</td><td>12</td><td>14</td><td>22</td><td>29</td><td>54</td><td>60</td><td>63</td><td>90</td><td>110</td><td>129</td></tr>
<tr><td>0</td><td>1</td><td>27</td><td>39</td><td>49</td><td>74</td><td>82</td><td>103</td><td>110</td><td>114</td><td>116</td><td>119</td></tr>
<tr><td>0</td><td>1</td><td>9</td><td>14</td><td>16</td><td>34</td><td>45</td><td>55</td><td>77</td><td>83</td><td>107</td><td>130</td></tr>
</tbody>
</table></td></tr>
</tbody>
</table>
<p>Some hints about this - unlike 31 and 73, the <a name='36ity'>number 133 is not prime</a> but has divisors 7 and 19.
This means the associated multiplicative group (<strong>G</strong>) has order (7-1)×(19-1) = 108.
Also, 108 is divisible by 36, 12, and 3.</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-12446095411499992172019-05-09T23:38:00.000+01:002019-11-26T18:24:51.075+00:00The Polygony And The Octasy<style>
figure {
padding: 0.9em;
background: #fff;
margin: 0 auto 1em;
}
.bartic {
counter-reset: figures;
}
figure figcaption {
counter-increment: figures;
}
figure figcaption:before {
content: 'Fig. ' counter(figures) ' - ';
}
figure figcaption {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
font-weight: 700;
padding: .5em;
text-align: center;
color: #fff;
background: #884;
}
</style>
<div class="bartic">
<p>We return to the matter of all interval sets, as described in general in a
<a href="/2018/07/all-intervals.html">previous post</a>, but in particular of those in the 12 tone
universe inhabited by the usual musics.
</p>
<h1>Tetrad</h1>
<p>We have, in this dodecaphonic universe, four all-interval tetrads.
Some may better know these as, respectively, PC Sets 4-Z29A, 4-Z15A, 4-Z29B and 4-Z15B in the
<a href="https://en.wikipedia.org/wiki/List_of_pitch-class_sets"
target="_new" title="Pitch Class Sets">Fortean bestiary</a>. There are only
two distinct ‘shapes’, however, as each set can be paired with its mirror image
- its musical inversion (the A and B forms).</p>
<figure>
<svg viewBox="0 0 3000 750" width="640" height="160" xmlns="http://www.w3.org/2000/svg">
<style xmlns="http://www.w3.org/1999/xhtml" type="text/css">
svg { box-shadow: 0px 0px 35px #222; padding: .5em; border-radius: 5px; background-color: white; }
text.pc { fill: black; stroke-width: 0; font: monospace; font-size: 36pt; }
text.lab { font: monospace; font-size: 42pt; fill: black; stroke-width: 0; }
circle { stroke-width: 2; stroke: #13f; fill: #bdf; opacity: 0.75; }
line { stroke-width: 4; stroke: #13f; }
line.oct { stroke: #99AAFF; }
line.tet { stroke: #FFBB99; }
polygon.symm { stroke: #223388; fill: #99AAFF; opacity: 0.7071; }
polygon.asym { stroke: #884422; fill: #FFBB99; opacity: 0.7071; }
</style>
<defs>
<symbol id='vert0'><circle r='18' cx='360' cy='20'/><text class='pc' x='350' y='31'>0</text></symbol>
<symbol id='vert1'><circle r='18' cx='530' cy='66'/><text class='pc' x='520' y='77'>1</text></symbol>
<symbol id='vert2'><circle r='18' cx='654' cy='190'/><text class='pc' x='644' y='201'>2</text></symbol>
<symbol id='vert3'><circle r='18' cx='700' cy='360'/><text class='pc' x='690' y='371'>3</text></symbol>
<symbol id='vert4'><circle r='18' cx='654' cy='530'/><text class='pc' x='644' y='541'>4</text></symbol>
<symbol id='vert5'><circle r='18' cx='530' cy='654'/><text class='pc' x='520' y='665'>5</text></symbol>
<symbol id='vert6'><circle r='18' cx='360' cy='700'/><text class='pc' x='350' y='711'>6</text></symbol>
<symbol id='vert7'><circle r='18' cx='190' cy='654'/><text class='pc' x='180' y='665'>7</text></symbol>
<symbol id='vert8'><circle r='18' cx='66' cy='530'/><text class='pc' x='56' y='541'>8</text></symbol>
<symbol id='vert9'><circle r='18' cx='20' cy='360'/><text class='pc' x='10' y='371'>9</text></symbol>
<symbol id='vertA'><circle r='18' cx='66' cy='190'/><text class='pc' x='56' y='201'>A</text></symbol>
<symbol id='vertB'><circle r='18' cx='190' cy='66'/><text class='pc' x='180' y='77'>B</text></symbol>
<symbol id="polyC">
<line x1='360' y1='20' x2='530' y2='66'/>
<line x1='530' y1='66' x2='654' y2='190'/>
<line x1='654' y1='190' x2='700' y2='360'/>
<line x1='700' y1='360' x2='654' y2='530'/>
<line x1='654' y1='530' x2='530' y2='654'/>
<line x1='530' y1='654' x2='360' y2='700'/>
<line x1='360' y1='700' x2='190' y2='654'/>
<line x1='190' y1='654' x2='66' y2='530'/>
<line x1='66' y1='530' x2='20' y2='360'/>
<line x1='20' y1='360' x2='66' y2='190'/>
<line x1='66' y1='190' x2='190' y2='66'/>
<line x1='190' y1='66' x2='360' y2='20'/>
</symbol>
<symbol id="tet1">
<polygon class="asym" points="360,20 530,66 700,360 190,654"/>
<line class="tet" x1='360' y1='20' x2='530' y2='66'/>
<line class="tet" x1='530' y1='66' x2='700' y2='360'/>
<line class="tet" x1='700' y1='360' x2='190' y2='654'/>
<line class="tet" x1='190' y1='654' x2='360' y2='20'/>
<text class="lab" x="280" y="90">4-Z29A</text>
</symbol>
<symbol id="tet2">
<polygon class="asym" points="360,20 530,66 654,530 360,700"/>
<line class="tet" x1='360' y1='20' x2='530' y2='66'/>
<line class="tet" x1='530' y1='66' x2='654' y2='530'/>
<line class="tet" x1='654' y1='530' x2='360' y2='700'/>
<line class="tet" x1='360' y1='700' x2='360' y2='20'/>
<text class="lab" x="280" y="90">4-Z15A</text>
</symbol>
<symbol id="tet3">
<polygon class="asym" points="360,20 654,530 360,700 190,654"/>
<line class="tet" x1='360' y1='20' x2='654' y2='530'/>
<line class="tet" x1='654' y1='530' x2='360' y2='700'/>
<line class="tet" x1='360' y1='700' x2='190' y2='654'/>
<line class="tet" x1='190' y1='654' x2='360' y2='20'/>
<text class="lab" x="280" y="90">4-Z29B</text>
</symbol>
<symbol id="tet4">
<polygon class="asym" points="360,20 654,190 530,654 360,700"/>
<line class="tet" x1='360' y1='20' x2='654' y2='190'/>
<line class="tet" x1='654' y1='190' x2='530' y2='654'/>
<line class="tet" x1='530' y1='654' x2='360' y2='700'/>
<line class="tet" x1='360' y1='700' x2='360' y2='20'/>
<text class="lab" x="280" y="90">4-Z15B</text>
</symbol>
</defs>
<g transform="">
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#tet2"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert4"/>
<use href="#vert6"/>
</g>
<g transform="translate(1440,0)">
<use href="#polyC"/>
<use href="#tet3"/>
<use href="#vert0"/>
<use href="#vert4"/>
<use href="#vert6"/>
<use href="#vert7"/>
</g>
<g transform="translate(2160,0)">
<use href="#polyC"/>
<use href="#tet4"/>
<use href="#vert0"/>
<use href="#vert2"/>
<use href="#vert5"/>
<use href="#vert6"/>
</g>
</svg>
<line x1='66' y1='190' x2='190' y2='66'/>
<line x1='190' y1='66' x2='360' y2='20'/>
</symbol>
<figcaption>The Tetrarchy<span label="fig:tets"></span>
</figcaption></figure>
<h1>Octad = Tetrad + Tetrad</h1>
<p>Each of these tetrads may add a transposition of one of the others to form an octad, provided that
no pitch class takes up a space occupied by the other. For example we may add 4 semitones to the second
(which - so transposed - no longer collides with the first) and add this to the first to produce</p>
<figure>
<svg viewBox="0 0 750 750" width="160" height="160" xmlns="http://www.w3.org/2000/svg">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet2" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert8"/>
<use href="#vertA"/>
</g>
</svg>
<figcaption>A pair of non-interfering tetrads<span label="fig:tetpair"></span>
</figcaption></figure>
<p>Due to the non-colliding pitch class limitation, it turns out that - of the 66 possible ways
to combine two of them - there are only 14 non-colliders. Even then, we find that two turn out to
be the well known ‘octatonic scale’ shape (covering both minor and major versions of
those Jazz/Stravinsky/Messiaen/etc scales) built from four consecutive semitone+wholetone steps.
These shapes result by combining one tetrad shape with the inversion of the other.</p>
<p>So finally, due to similar symmetries, we end up with congruences (by which we mean only
modal equivalences, where the shapes are rotatable into each other) in only 7 distinct octads,
all of them symmetric (i.e. inversionally identical).</p>
<p>These are the Fortean PC Sets known as 8-28, 8-25, 8-26, 8-9, 8-17, 8-10, 8-3.</p>
<figure>
<svg viewBox="0 0 3000 1500" width="640" height="320" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="oct1">
<polygon class="symm" points="360,20 530,66 700,360 654,530 360,700 190,654 20,360 66,190"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='654' y1='530' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='190' y2='654'/>
<line class="oct" x1='190' y1='654' x2='20' y2='360'/>
<line class="oct" x1='20' y1='360' x2='66' y2='190'/>
<line class="oct" x1='66' y1='190' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-28</text>
</symbol>
<symbol id="oct2">
<polygon class="symm" points="360,20 530,66 654,190 654,530 360,700 190,654 66,530 66,190"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='654' y2='530'/>
<line class="oct" x1='654' y1='530' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='190' y2='654'/>
<line class="oct" x1='190' y1='654' x2='66' y2='530'/>
<line class="oct" x1='66' y1='530' x2='66' y2='190'/>
<line class="oct" x1='66' y1='190' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-25</text>
</symbol>
<symbol id="oct3">
<polygon class="symm" points="360,20 530,66 700,360 654,530 530,654 190,654 66,530 66,190"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='654' y1='530' x2='530' y2='654'/>
<line class="oct" x1='530' y1='654' x2='190' y2='654'/>
<line class="oct" x1='190' y1='654' x2='66' y2='530'/>
<line class="oct" x1='66' y1='530' x2='66' y2='190'/>
<line class="oct" x1='66' y1='190' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-26</text>
</symbol>
<symbol id="oct4">
<polygon class="symm" points="360,20 530,66 654,190 700,360 360,700 190,654 66,530 20,360"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='190' y2='654'/>
<line class="oct" x1='190' y1='654' x2='66' y2='530'/>
<line class="oct" x1='66' y1='530' x2='20' y2='360'/>
<line class="oct" x1='20' y1='360' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-9</text>
</symbol>
<symbol id="oct5">
<polygon class="symm" points="360,20 530,66 700,360 654,530 530,654 360,700 66,530 20,360"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='654' y1='530' x2='530' y2='654'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='66' y2='530'/>
<line class="oct" x1='66' y1='530' x2='20' y2='360'/>
<line class="oct" x1='20' y1='360' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-17</text>
</symbol>
<symbol id="oct6">
<polygon class="symm" points="360,20 654,190 700,360 654,530 530,654 360,700 190,654 20,360"/>
<line class="oct" x1='360' y1='20' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='654' y1='530' x2='530' y2='654'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='190' y2='654'/>
<line class="oct" x1='190' y1='654' x2='20' y2='360'/>
<line class="oct" x1='20' y1='360' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-10</text>
</symbol>
<symbol id="oct7">
<polygon class="symm" points="360,20 530,66 654,190 700,360 654,530 530,654 360,700 20,360"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='654' y1='530' x2='530' y2='654'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='20' y2='360'/>
<line class="oct" x1='20' y1='360' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-3</text>
</symbol>
</defs>
<g transform="">
<use href="#polyC"/>
<use href="#oct1"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert4"/>
<use href="#vert6"/>
<use href="#vert7"/>
<use href="#vert9"/>
<use href="#vertA"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct2"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert2"/>
<use href="#vert4"/>
<use href="#vert6"/>
<use href="#vert7"/>
<use href="#vert8"/>
<use href="#vertA"/>
</g>
<g transform="translate(1440,0)">
<use href="#polyC"/>
<use href="#oct3"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert7"/>
<use href="#vert8"/>
<use href="#vertA"/>
</g>
<g transform="translate(2160,0)">
<use href="#polyC"/>
<use href="#oct4"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert2"/>
<use href="#vert3"/>
<use href="#vert6"/>
<use href="#vert7"/>
<use href="#vert8"/>
<use href="#vert9"/>
</g>
<g transform="translate(360,640)">
<use href="#polyC"/>
<use href="#oct5"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert6"/>
<use href="#vert8"/>
<use href="#vert9"/>
</g>
<g transform="translate(1080,640)">
<use href="#polyC"/>
<use href="#oct6"/>
<use href="#vert0"/>
<use href="#vert2"/>
<use href="#vert3"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert6"/>
<use href="#vert7"/>
<use href="#vert9"/>
</g>
<g transform="translate(1800,640)">
<use href="#polyC"/>
<use href="#oct7"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert2"/>
<use href="#vert3"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert6"/>
<use href="#vert9"/>
</g>
</svg>
<figcaption>The Octarchy<span label="fig:octs"></span>
</figcaption></figure>
<p>If we were to take (as seems usual but it's really <em>not</em> compulsory) that pitch class
0 represents the note C, then an application
of this particular ‘tetradic addition’ would be the addition of
4-Z29A rendered as the set of pitches <em>C</em>, <em>C</em>♯, <em>E</em>♭, <em>G</em>
and the set 4-Z15A (prime-form rendered as <em>C</em>, <em>C</em>♯, <em>E</em>, <em>F</em>♯)
transposed (by the aforementioned four semitones) up to <em>E</em>, <em>F</em>, <em>A</em>♭, <em>B</em>♭.
This produces the eight pitches (in order) <em>C</em>, <em>C</em>♯, <em>E</em>♭, <em>E</em>,
<em>F</em>, <em>G</em>, <em>A</em>♭, <em>B</em>♭ (corresponding to pitch classes
0, 1, 3, 4, 5, 7, 8, 10).</p>
<p>Forte-wise, this might be expressed as something like 8-26 = 4-Z29A + 4-Z15A.T4, where the .T4 operator
applied to a PC set indicates its transposition (up) by four semitones.</p>
<p>The following image shows the seven distinct constructions in an arrangement where the prime-form 4-29A is fixed
at the top of a ‘pitch class clock’. Addends and sums are oriented appropriately with respect
to it. Each tetrad pair (in pink, indicating their inherent inversional asymmetry) is in one clock and
its summed octad (blue, indicating inversional symmetry) is in its own clock to its right.</p>
<p>It's OK to fix one tetrad (we've chosen the first) at the top in this way because <em>any other</em>
possible tetrad pairing will be rotationally or inversionally identical to one of these shapes.</p>
<p>Labels are Fortean PC Set names located at PC element 0 positions.
Consequently some may almost be upside down.</p>
<figure>
<svg viewBox="0 0 864 864" width="640" height="640" xmlns="http://www.w3.org/2000/svg">
<g id="pair1" transform="scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet2" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert8"/>
<use href="#vertA"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct3"/>
</g>
</g>
<g id="pair2" transform="translate(0,216) scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet2" transform="translate(360,360) rotate(150) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vert5"/>
<use href="#vert6"/>
<use href="#vert9"/>
<use href="#vertB"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct2" transform="translate(360,360) rotate(-30) translate(-360,-360)"/>
</g>
</g>
<g id="pair3" transform="translate(0,432) scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet2" transform="translate(360,360) rotate(-60) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vertA"/>
<use href="#vertB"/>
<use href="#vert2"/>
<use href="#vert4"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct7" transform="translate(360,360) rotate(-60) translate(-360,-360)"/>
</g>
</g>
<g id="pair4" transform="translate(0,648) scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet3" transform="translate(360,360) rotate(60) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vert2"/>
<use href="#vert6"/>
<use href="#vert8"/>
<use href="#vert9"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct4"/>
</g>
</g>
<g id="pair5" transform="translate(432,108) scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet3" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vert4"/>
<use href="#vert8"/>
<use href="#vertA"/>
<use href="#vertB"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct5" transform="translate(360,360) rotate(-150) translate(-360,-360)"/>
</g>
</g>
<g id="pair6" transform="translate(432,324) scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet3" transform="translate(360,360) rotate(-60) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vertA"/>
<use href="#vert2"/>
<use href="#vert4"/>
<use href="#vert5"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct6" transform="translate(360,360) rotate(-60) translate(-360,-360)"/>
</g>
</g>
<g id="pair7" transform="translate(432,540) scale(0.3,0.3)">
<g>
<use href="#polyC"/>
<use href="#tet1"/>
<use href="#tet4" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert1"/>
<use href="#vert3"/>
<use href="#vert7"/>
<use href="#vert4"/>
<use href="#vert6"/>
<use href="#vert9"/>
<use href="#vertA"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct1"/>
</g>
</svg>
<figcaption>The Octacy<span label="fig:octacy"></span>
</figcaption></figure>
<p>So a second example of such a ‘Fortean operational notation’ is demonstrated by
8-25's ‘11 o'clock’ orientation showing the image
4-Z29A + 4-Z15A.T5 = 8-25.TB
where .TB is a transposition 11 semitones up (clockwise rotation by ‘one hour’),
or 1 semitone down (an ‘hour’ anticlockwise).
Shifting <em>this</em> expression clockwise 1 semitone (to ‘right’ the 8-25
to prime form's ‘midnight’)
would require an application of .T1, and, bearing in mind that .TB.T1 ≡ .T0
is effectively a no-op, the equality could be reversed and rewritten as 8-25 = 4-Z29A.T1 + 4-Z15A.T6
(as the operational composition .T5.T1 is, of course, .T6).
<p>As all the above figures feature a 4-Z29A in 'pole' position, the reader may legitimately wonder if there's no room for octads built exclusively from 4-Z15. There is room, and in fact there are alternative ways to construct
sets 8-9 (from 4-Z15A + 4-Z15B.T5), 8-10 (from 4-Z15A + 4-Z15B.T9) and 8-17 (from 4-Z15A + 4-Z15B.T3), but there are no new octads built this way.</p>
<h1>All That Bebop</h1>
<p>There are several bebop scales, all of them - by design - octatonic.</p>
<h3>Major and Minor</h3>
One of the prime forms above (Forte 8-26)
gives us (in two modes of the same sequence) both the <em>Bebop Major</em> and
<em>Bebop Harmonic Minor</em>.
</p>
<figure>
<table>
<tbody>
<tr>
<td colspan="3">Forte 8-26.T4 as Major Bebop C, D, E, F, G, A♭, A, B (PC 0 = C)</td>
</tr>
<tr>
<td rowspan="2">
<svg viewBox="0 0 1500 750" width="320" height="160" xmlns="http://www.w3.org/2000/svg">
<style xmlns="http://www.w3.org/1999/xhtml" type="text/css">
circle.pit { stroke-width: 0; fill: white; opacity: 1; }
</style>
<defs>
<symbol id='note0'><circle class="pit" r='30' cx='360' cy='20'/><text class='pc' x='350' y='31'>C</text></symbol>
<symbol id='note1'><circle class="pit" r='30' cx='530' cy='66'/><text class='pc' x='520' y='77'>C♯</text></symbol>
<symbol id='note2'><circle class="pit" r='30' cx='654' cy='190'/><text class='pc' x='644' y='201'>D</text></symbol>
<symbol id='note3'><circle class="pit" r='30' cx='700' cy='360'/><text class='pc' x='690' y='371'>E♭</text></symbol>
<symbol id='note4'><circle class="pit" r='30' cx='654' cy='530'/><text class='pc' x='644' y='541'>E</text></symbol>
<symbol id='note5'><circle class="pit" r='30' cx='530' cy='654'/><text class='pc' x='520' y='665'>F</text></symbol>
<symbol id='note6'><circle class="pit" r='30' cx='360' cy='700'/><text class='pc' x='350' y='711'>F♯</text></symbol>
<symbol id='note7'><circle class="pit" r='30' cx='190' cy='654'/><text class='pc' x='180' y='665'>G</text></symbol>
<symbol id='note8'><circle class="pit" r='30' cx='66' cy='530'/><text class='pc' x='56' y='541'>A♭</text></symbol>
<symbol id='note9'><circle class="pit" r='30' cx='20' cy='360'/><text class='pc' x='10' y='371'>A</text></symbol>
<symbol id='noteA'><circle class="pit" r='30' cx='66' cy='190'/><text class='pc' x='56' y='201'>B♭</text></symbol>
<symbol id='noteB'><circle class="pit" r='30' cx='190' cy='66'/><text class='pc' x='180' y='77'>B</text></symbol>
</defs>
<g>
<use href="#polyC"/>
<use href="#tet1" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#tet2" transform="translate(360,360) rotate(240) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert2"/>
<use href="#vert4"/>
<use href="#vert5"/>
<use href="#vert7"/>
<use href="#vert8"/>
<use href="#vert9"/>
<use href="#vertB"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct3" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#note0"/>
<use href="#note2"/>
<use href="#note4"/>
<use href="#note5"/>
<use href="#note7"/>
<use href="#note8"/>
<use href="#note9"/>
<use href="#noteB"/>
</g>
</svg>
</td>
<td>4-Z29A.T4<br/> → { 4, 5, 7, 11 }</td>
<td>4-Z15A.T8<br/> → { 8, 9, 0, 2 }</td>
</tr>
<tr>
<td colspan="2">{ E, F, G, B } ∪ { A♭, A, C, D }</td>
</tr>
<tr>
<td colspan="3">Forte 8-26.T7 as Harmonic Minor Bebop
C, D, E♭, F, G, A♭, B♭, B (PC 0 = C)</td>
</tr>
<td rowspan="2">
<svg viewBox="0 0 1500 750" width="320" height="160" xmlns="http://www.w3.org/2000/svg">
<g>
<use href="#polyC"/>
<use href="#tet1" transform="translate(360,360) rotate(210) translate(-360,-360)"/>
<use href="#tet2" transform="translate(360,360) rotate(330) translate(-360,-360)"/>
<use href="#vert0"/>
<use href="#vert2"/>
<use href="#vert3"/>
<use href="#vert5"/>
<use href="#vert7"/>
<use href="#vert8"/>
<use href="#vertA"/>
<use href="#vertB"/>
</g>
<g transform="translate(720,0)">
<use href="#polyC"/>
<use href="#oct3" transform="translate(360,360) rotate(210) translate(-360,-360)"/>
<use href="#note0"/>
<use href="#note2"/>
<use href="#note3"/>
<use href="#note5"/>
<use href="#note7"/>
<use href="#note8"/>
<use href="#noteA"/>
<use href="#noteB"/>
</g>
</svg>
</td>
<td>4-Z29A.T7<br/> → { 7, 8, 10, 2 }</td>
<td>4-Z15A.TB<br/> → { 11, 0, 3, 5 }</td>
</tr>
<tr>
<td colspan="2">{ G, A♭, B♭, D } ∪ { B, C, E♭, F }</td>
</tr>
</tbody>
</table>
<figcaption>
Major and Minor Beboppery from All Interval Sets<span label="fig:mabe"></span>
</figcaption>
</figure>
<p>Operationallywise, one might also say that BebopMajor.T3 = BebopHarmonicMinor
(or, alternatively, BebopHarmonicMinor.T9 = BebopMajor), were one so seduced by
operational notations.
<h3>Dominant and Dorian</h3>
<p>
The Bebop Dominant and Bebop Dorian scales are, like the preceding Major and Minor Harmonic,
modal variations of the same PC Set, known in Forte-speak as 8-23.
It's not one of our all-interval tetradic composites, but is nevertheless a symmetric set
- its inversion is the same set. The figure below exhibits the rotations needed
to recover the scales from the prime form - the Fortean 8-23 label appearing as usual at its 0 pitch class vertex.</p>
<p>And, just to draw attention to the fact that musical applications (instantiations) of pitch class sets do
not require that pitch class zero be eternally attached to the note C, this time we'll exemplify the Dominant
scale in G and the Dorian in D - they should go nicely with the above bebop major.</p>
<p>
<figure>
<table>
<tbody>
<tr>
<td rowspan="2">
<svg viewBox="0 0 1500 750" width="320" height="160" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id='domi0'><circle class="pit" r='30' cx='360' cy='20'/><text class='pc' x='350' y='31'>G</text></symbol>
<symbol id='domi1'><circle class="pit" r='30' cx='530' cy='66'/><text class='pc' x='520' y='77'>A♭</text></symbol>
<symbol id='domi2'><circle class="pit" r='30' cx='654' cy='190'/><text class='pc' x='644' y='201'>A</text></symbol>
<symbol id='domi3'><circle class="pit" r='30' cx='700' cy='360'/><text class='pc' x='690' y='371'>B♭</text></symbol>
<symbol id='domi4'><circle class="pit" r='30' cx='654' cy='530'/><text class='pc' x='644' y='541'>B</text></symbol>
<symbol id='domi5'><circle class="pit" r='30' cx='530' cy='654'/><text class='pc' x='520' y='665'>C</text></symbol>
<symbol id='domi6'><circle class="pit" r='30' cx='360' cy='700'/><text class='pc' x='350' y='711'>C♯</text></symbol>
<symbol id='domi7'><circle class="pit" r='30' cx='190' cy='654'/><text class='pc' x='180' y='665'>D</text></symbol>
<symbol id='domi8'><circle class="pit" r='30' cx='66' cy='530'/><text class='pc' x='56' y='541'>E♭</text></symbol>
<symbol id='domi9'><circle class="pit" r='30' cx='20' cy='360'/><text class='pc' x='10' y='371'>E</text></symbol>
<symbol id='domiA'><circle class="pit" r='30' cx='66' cy='190'/><text class='pc' x='56' y='201'>F</text></symbol>
<symbol id='domiB'><circle class="pit" r='30' cx='190' cy='66'/><text class='pc' x='180' y='77'>G♭</text></symbol>
<symbol id='dori0'><circle class="pit" r='30' cx='360' cy='20'/><text class='pc' x='350' y='31'>D</text></symbol>
<symbol id='dori1'><circle class="pit" r='30' cx='530' cy='66'/><text class='pc' x='520' y='77'>E♭</text></symbol>
<symbol id='dori2'><circle class="pit" r='30' cx='654' cy='190'/><text class='pc' x='644' y='201'>E</text></symbol>
<symbol id='dori3'><circle class="pit" r='30' cx='700' cy='360'/><text class='pc' x='690' y='371'>F</text></symbol>
<symbol id='dori4'><circle class="pit" r='30' cx='654' cy='530'/><text class='pc' x='644' y='541'>G♭</text></symbol>
<symbol id='dori5'><circle class="pit" r='30' cx='530' cy='654'/><text class='pc' x='520' y='665'>G</text></symbol>
<symbol id='dori6'><circle class="pit" r='30' cx='360' cy='700'/><text class='pc' x='350' y='711'>G♯</text></symbol>
<symbol id='dori7'><circle class="pit" r='30' cx='190' cy='654'/><text class='pc' x='180' y='665'>A</text></symbol>
<symbol id='dori8'><circle class="pit" r='30' cx='66' cy='530'/><text class='pc' x='56' y='541'>B♭</text></symbol>
<symbol id='dori9'><circle class="pit" r='30' cx='20' cy='360'/><text class='pc' x='10' y='371'>B</text></symbol>
<symbol id='doriA'><circle class="pit" r='30' cx='66' cy='190'/><text class='pc' x='56' y='201'>C</text></symbol>
<symbol id='doriB'><circle class="pit" r='30' cx='190' cy='66'/><text class='pc' x='180' y='77'>D♭</text></symbol>
<symbol id="oct8">
<polygon class="symm" points="360,20 530,66 654,190 700,360 530,654 190,654 66,530 66,190"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='190' y1='654' x2='66' y2='530'/>
<line class="oct" x1='20' y1='360' x2='66' y2='190'/>
<line class="oct" x1='190' y1='66' x2='360' y2='20'/>
<text class="lab" x="280" y="90">8-23</text>
</symbol>
</defs>
<g>
<use href="#polyC"/>
<use href="#oct8" transform="translate(360,360) rotate(270) translate(-360,-360)"/>
<use href="#domi0"/>
<use href="#domi2"/>
<use href="#domi4"/>
<use href="#domi5"/>
<use href="#domi7"/>
<use href="#domi9"/>
<use href="#domiA"/>
<use href="#domiB"/>
</g>
<g transform="translate(720,0)">
<g>
<use href="#polyC"/>
<use href="#oct8" transform="translate(360,360) rotate(60) translate(-360,-360)"/>
<use href="#dori0"/>
<use href="#dori2"/>
<use href="#dori3"/>
<use href="#dori4"/>
<use href="#dori5"/>
<use href="#dori7"/>
<use href="#dori9"/>
<use href="#doriA"/>
</g>
</g>
</svg>
</td>
<td>8-23.T9 (with PC 0 = G)<br/>G, A, B, C, D, E, F, G♭
<br/>Bebop Dominant in G</td>
</tr>
<tr>
<td>8-23.T2 (with PC 0 = D)<br/>D, E, F, G♭, G, A, B, C
<br/>Bebop Dorian in D</td>
</tr>
</tbody>
</table>
<figcaption>
Dominant and Dorian Beboppery modes of 8-23<span label="fig:dodobe"></span>
</figcaption>
</figure>
</p>
<h3>Dominant Flat Nine</h3>
<p>
Another Bebop scale related to an all interval set is the Bebop Dominant Flat Nine.
As this scale is not self-inverting, it can't be one of the combined tetrads. Nonetheless, as we shall
soon see, it is yet related to one.</p>
<p>In the scale of C, it would be C, D♭ E, F, G, A, B♭ B - a mode of the PC Set { 0, 1, 3, 5, 6, 7, 8, 9 }
- <em>aka</em> Forte 8-Z15B - or operationally 8-Z15B.T9.
</p>
<p>This set's ‘unused’ pitch classes, <em>viz.</em>
{ 2, 4, 10, 11 }, can be operationally written as 4-Z15A.TA.
This is because { 0 + 10, 1 + 10, 4 + 10, 6 + 10 } = { 10, 11, 14, 16 },
the same as (on our 12 hour clock) { 10, 11, 2, 4 } and the irrelevancy of set element presentation order
finishes it off (as { 0, 1, 4, 6 } + 10). This means that the bebop dominant
flat nine is (a transposition of) the PC set <em>complementary</em> to our second all interval set. Or,
more formally, 8-Z15B + 4-Z15A.TA = 12-1 (where 12-1 is Fortean for the complete chromatic scale).
<p>The transposition of the above by 4 semitones - to modally shift 8-Z15B
into the actual bebop dominant flat nine scale - leaves this
expression essentially unaltered, due to our modulo polynomial arithmetic.
(But we might be tempted to say BebopDominantFlatNine is <em>anti</em> SecondAllIntervalTetrad.T2).
</p>
<p>
<figure>
<table>
<tbody>
<tr>
<td colspan="3">Bebop Dominant Flat Nine instantiated in C, D♭, E, F, G, A, B♭, B (PC 0 = C)</td>
</tr>
<tr>
<td rowspan="2">
<svg viewBox="0 0 1500 750" width="320" height="160" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="oct9">
<polygon class="asym" points="360,20 530,66 700,360 530,654 360,700 190,654 66,530 20,360"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='190' y2='654'/>
<line class="oct" x1='190' y1='654' x2='66' y2='530'/>
<line class="oct" x1='66' y1='530' x2='20' y2='360'/>
<line class="oct" x1='20' y1='360' x2='66' y2='190'/>
<text class="lab" x="280" y="90">8-Z15B</text>
</symbol>
</defs>
<g>
<use href="#polyC"/>
<!--<use href="#tet2" transform="translate(360,360) rotate(300) translate(-360,-360)"/>-->
<use href="#vertA"/>
<use href="#vertB"/>
<use href="#vert2"/>
<use href="#vert4"/>
<use href="#oct9"/>
</g>
<g transform="translate(720,0)">
<g>
<use href="#polyC"/>
<use href="#tet2" transform="translate(360,360) rotate(60) translate(-360,-360)"/>
<use href="#oct9" transform="translate(360,360) rotate(120) translate(-360,-360)"/>
<use href="#note0"/>
<use href="#note1"/>
<use href="#note4"/>
<use href="#note5"/>
<use href="#note7"/>
<use href="#note9"/>
<use href="#noteA"/>
<use href="#noteB"/>
</g>
</g>
</svg>
</td>
<td>4-Z15A.TA<br/>{ 10, 11, 2, 4 }<br/>≡
-8-Z15B</td>
<td>8-Z15B.T4 ≡<br/>{ 0, 1, 4, 5, 7, 9, 10, 11 }</td>
</tr>
<tr>
<td colspan="2">Bebop Δ♭9 + 4-Z15B.T2 = Chromatic
<br/><br/>Forte: 8-Z15B.T4 + 4-Z15A.T2 = 12-1</td>
</tr>
</tbody>
</table>
<figcaption>
Flat Nine Beboppery as an anti All-Interval Set<span label="fig:fnbe"></span>
</figcaption>
</figure>
</p>
<p>By the way, it's no coincidence that both of these sets share the same number
15 (in 8-Z15B and 4-Z15A) - Forte numbered his sets fully aware of complementarities.</p>
<h3>Another pair of Bebops</h3>
<p>A final pair of bebop scales in this collection are found as modes of the non-invertible PC sets categorised
by Forte as 8-22A and 8-27A.</p>
<p>The sets (as scales) are known as the <em>Altered Bebop Dorian</em>
and the <em>Bebop Melodic Minor</em>.
</p>
<p>
<figure>
<table>
<tbody>
<tr>
<td rowspan="2">
<svg viewBox="0 0 1500 750" width="320" height="160" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id='mino0'><circle class="pit" r='30' cx='360' cy='20'/><text class='pc' x='350' y='31'>A</text></symbol>
<symbol id='mino1'><circle class="pit" r='30' cx='530' cy='66'/><text class='pc' x='520' y='77'>B♭</text></symbol>
<symbol id='mino2'><circle class="pit" r='30' cx='654' cy='190'/><text class='pc' x='644' y='201'>B</text></symbol>
<symbol id='mino3'><circle class="pit" r='30' cx='700' cy='360'/><text class='pc' x='690' y='371'>C</text></symbol>
<symbol id='mino4'><circle class="pit" r='30' cx='654' cy='530'/><text class='pc' x='644' y='541'>D♭</text></symbol>
<symbol id='mino5'><circle class="pit" r='30' cx='530' cy='654'/><text class='pc' x='520' y='665'>D</text></symbol>
<symbol id='mino6'><circle class="pit" r='30' cx='360' cy='700'/><text class='pc' x='350' y='711'>E♭</text></symbol>
<symbol id='mino7'><circle class="pit" r='30' cx='190' cy='654'/><text class='pc' x='180' y='665'>E</text></symbol>
<symbol id='mino8'><circle class="pit" r='30' cx='66' cy='530'/><text class='pc' x='56' y='541'>F</text></symbol>
<symbol id='mino9'><circle class="pit" r='30' cx='20' cy='360'/><text class='pc' x='10' y='371'>G♭</text></symbol>
<symbol id='minoA'><circle class="pit" r='30' cx='66' cy='190'/><text class='pc' x='56' y='201'>G</text></symbol>
<symbol id='minoB'><circle class="pit" r='30' cx='190' cy='66'/><text class='pc' x='180' y='77'>A♭</text></symbol>
<symbol id="octA">
<polygon class="asym" points="360,20 530,66 654,190 700,360 530,654 360,700 66,530 66,190"/>
<text class="lab" x="280" y="90">8-22A</text>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='700' y2='360'/>
<line class="oct" x1='700' y1='360' x2='654' y2='530'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='360' y1='700' x2='190' y2='654'/>
<line class="oct" x1='66' y1='530' x2='20' y2='360'/>
<line class="oct" x1='66' y1='190' x2='190' y2='66'/>
</symbol>
<symbol id="octB">
<polygon class="asym" points="360,20 530,66 654,190 654,530 530,654 190,654 66,530 66,190"/>
<line class="oct" x1='360' y1='20' x2='530' y2='66'/>
<line class="oct" x1='530' y1='66' x2='654' y2='190'/>
<line class="oct" x1='654' y1='190' x2='700' y2='360'/>
<line class="oct" x1='654' y1='530' x2='530' y2='654'/>
<line class="oct" x1='530' y1='654' x2='360' y2='700'/>
<line class="oct" x1='190' y1='654' x2='66' y2='530'/>
<line class="oct" x1='66' y1='530' x2='20' y2='360'/>
<line class="oct" x1='66' y1='190' x2='190' y2='66'/>
<text class="lab" x="280" y="90">8-27A</text>
</symbol>
</defs>
<g>
<use href="#polyC"/>
<use href="#octA" transform="translate(360,360) rotate(270) translate(-360,-360)"/>
<use href="#dori0"/>
<use href="#dori2"/>
<use href="#dori3"/>
<use href="#dori5"/>
<use href="#dori7"/>
<use href="#dori9"/>
<use href="#doriA"/>
<use href="#doriB"/>
</g>
<g transform="translate(720,0)">
<g>
<use href="#polyC"/>
<use href="#octB" transform="translate(360,360) rotate(210) translate(-360,-360)"/>
<use href="#mino0"/>
<use href="#mino2"/>
<use href="#mino3"/>
<use href="#mino5"/>
<use href="#mino7"/>
<use href="#mino8"/>
<use href="#mino9"/>
<use href="#minoB"/>
</g>
</g>
</svg>
</td>
<td>8-22A.TA (PC 0 = D)<br/>D, E, F, G, A, B, C, D♭
<br/>Bebop Altered Dorian in D</td>
</tr>
<tr>
<td>8-27A.T7 (PC 0 = A)<br/>A, B, C, D, E, F, G♭, A♭
<br/>Bebop Melodic Minor in A</td>
</tr>
</tbody>
</table>
<figcaption>
Bebopperies unrelated to All-Interval Sets<span label="fig:adomembe"></span>
</figcaption>
</figure>
</p>
<p>
Of course when we say that these octatonic sets are unrelated to all-interval sets, this does not
mean that one cannot extract an all-interval subset from them. For example a
4-Z29A may be extracted from either of these scales, <em>viz.</em> (E, F, G, B) from
the altered dorian and (B, C, D, G♭) from the melodic minor (both following the pattern {0, 1, 3, 7} from
E and B respectively).
It's simply that the four pitches remaining in each scale - respectively
(A, C, D♭, D) and (E, F, A♭, A) - are not congruent with any all-interval set
(inversions included).</p>
<p>It's also possible to pick out a 4-Z15A as (D♭, D, F, G)
- from the altered dorian. We leave it as an exercise for the student to spot any other possible extractions.</p>
<p>In any event, certainly neither
octatonic set's complement is congruent to such a tetrad.
</p>
</div>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-35894274602573773332018-11-22T19:04:00.000+00:002019-05-12T09:02:45.071+01:00Block Around the Clock Group<style>
p.code {
font-size: 12px; color: #822; font-family: monospace;
margin-left: 5mm;
margin-right: 5mm;
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
border-left:1px solid #fff;
border-right:1px solid #fff;
padding:2px;
}
p.pic {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:white;
}
figure {
padding: 0.9em;
background: #fff;
margin: 0 auto 1em;
}
.bartic {
counter-reset: figures;
}
span.attend {
box-shadow:0px 0px 5px #262;
border-radius: 2px;
background-color: #cfc;
}
figure figcaption {
counter-increment: figures;
}
figure figcaption:before {
content: 'Fig. ' counter(figures) ' - ';
}
figure figcaption {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
font-weight: 700;
padding: .5em;
text-align: center;
color: #fff;
background: #884;
}
svg {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:white;
margin-left: 2em;
margin-right: 2em;
}
text.blk {
stroke-width: 1;
stroke: green;
fill: #2A2;
font-family: monospace;
font-size: 32pt;
}
text.pcs {
font-size: 16pt;
}
.blops {
display: grid;
grid-template-columns: repeat(2, minmax(min-content, max-content));
grid-gap: 1em;
}
.blop {
display: grid;
padding-top: 6px;
padding-bottom: 3px;
}
td {
font-family: monospace;
font-size: 9pt;
}
.tb { border-top: 1px #CCC outset; border-left: 1px #CCC outset; border-right: 1px #CCC outset; padding-left: 3px; padding-right: 3px; }
.bb { border-bottom: 1px #CCC outset; border-left: 1px #CCC outset; border-right: 1px #CCC outset; padding-left: 3px; padding-right: 3px; }
td.sb { border-left: 1px #CCC outset; border-right: 1px #CCC outset; padding-left: 3px; padding-right: 3px; }
td.ss { background-color : #9AF; }
td.as { background-color : #FB9; }
polygon.twist {
stroke-width: 3;
stroke: #248;
fill: #fdb;
opacity: 0.333;
}
circle.mover {
stroke-width: 2;
stroke: #13f;
fill: #bdf;
opacity: 0.75;
}
line.mover {
stroke-width: 4;
stroke: #13f;
}
.fixed {
stroke-width: 4;
stroke: #f31;
fill: #fdb;
}
#perm1 {
fill: #00f;
}
#perm2 {
fill: #0f0;
}
#perm1a {
fill: #00f;
}
#perm2a {
fill: #0f0;
}
</style>
<script>
function Ani(t) { var i,a = t.getElementsByTagName("animate"); for (i = 0; i < a.length; i++) a[i].beginElement(); }
function reAni(g) { var t = document.getElementById(g); var o = t ? t.cloneNode(true) : null; if (o) t.parentNode.replaceChild(o, t); }
function hili(t, monocl, clr) { var elts = document.getElementsByClassName(monocl); var n = elts ? elts.length : 0, i = 0; while (n--) { elts[i].style.boxShadow = '0px 0px 5px #222'; elts[i++].style.backgroundColor = clr; } t.style.backgroundColor = clr; }
function loli(t, monocl) { var elts = document.getElementsByClassName(monocl); var n = elts ? elts.length : 0, i = 0; while (n--) { elts[i].style.boxShadow = ''; elts[i++].style.backgroundColor = ''; } t.style.backgroundColor = ''; }
</script>
<div class="bartic">
<p>In a <a href="2018/09/the-gap-mined-for-music.html" title="Using GAP's Algebraic Software to unearth musical structures">previous post</a>, we examined a <em>b</em>=22 block <em>t</em>=2-(<em>v</em>=12,<em>k</em>=6,<em>λ</em>=5) block design evenly distributed around the chromatic universe in both pitch-class (PC) and interval content. The design gave us 22 hexachords (132=6×22 pitches) where each PC turns up 11 times (132=11×12) and where also each of the interval-classes (1 to 6) appear exactly 5 times each. The blocks come from the 2nd block design partially reproduced here (a <a href="2018/09/the-gap-mined-for-music.html#hex">bleeding chunk</a>, eliding unnecessary detail, from the previous post) as</p>
<p class="code">
… autGroup:=Group([(1,11,10,9,8,7,6,5,4,3,2)]), blockNumbers:=[22], blockSizes:=[6],<br/>
blocks:=[<strong style="color:#2AF;">[1,2,3,4,7,12], [1,2,3,6,11,12], [1,2,4,6,8,9], [1,2,5,6,8,10],
[1,2,5,10,11,12], [1,3,4,7,8,10], [1,3,5,6,9,10], [1,3,5,7,8,11],
[1,4,5,7,9,11], [1,4,9,10,11,12], [1,6,7,8,9,12], [2,3,4,5,8,12],
[2,3,5,7,9,10], [2,3,6,7,9,11], [2,4,5,8,9,11], [2,4,6,7,10,11],
[2,7,8,9,10,12], [3,4,5,6,9,12], [3,4,6,8,10,11], [3,8,9,10,11,12],
[4,5,6,7,10,12], [5,6,7,8,11,12]</strong>],… lambdas:=[5], t:=2), v:=12)</p>
<p>Interval-class is defined as the shortest distance in semitones between pitch classes, modulo 12. A major sixth - an upward skip of 9 semitones - is thus equivalent to the shorter 3 semitone skip down of a minor third - octaves being ignored. The 6 semitone tritone leap, is consequently the largest interval class. Each block contains (after renumbering 1 … 12 to 0 … 11 to bring us into PC - modulo 12 - territory) 6 PCs, and thus 6×5/2=15 intervals between pairs therein. Over the 22 blocks we therefore have 22×15=330=66×5 intervals in total and the block design itself ensures that all possible intervals between 12 PCs - which is of course 66=12×11/2 - occur 5 times each.
Musically speaking, it's a very 'democratic' distribution. Not only do all pitch classes get equal representation but all interval classes too. This is an alternative way to give 'equality' to chromaticism rather than via Schoenbergian tone rows and their transformations to retrograde, inversion, and retrograde inversion; or via <a href="http://www.polytrope.ca/ewExternalFiles/Tropes%20%26%20Enum.pdf" target="_new">Hauer's tropical hexads</a>.</p>
<h3>By Design</h3>
<p>Just playing a sequence of the 22 hexads - perhaps as chords, perhaps as ascending arpeggios, perhaps even as both with 11 of them in the treble and the other 11 in the bass, will result in a mathematically legitimate presentation of that equal opportunity. But it will likely not be musically interesting (e.g. see below). In any case, the blocks generated by the design aren't presented 'ordered', but due (as far as the musician is concerned) entirely to the exigencies of linear text.</p>
<p>We, however, can seek further structure within, structure which may pique interest. Mathematically, all we have - all we asked for - is a bunch of numbers delivered with a certain guaranteed distribution. The design's specification required nothing more. But first, here are the blocks, presented as PC Sets (in the Forte sense):</p>
<figure>
<figcaption>Blocks as Pitch Class Sets from the design</figcaption>
<table cellspacing="0">
<thead>
<tr>
<th class="tb bb" rowspan="2">block</th><th class="tb bb" rowspan="2">≡ PC Set</th><th class="tb bb" rowspan="2">iString</th><th class="tb" colspan="4">Fort(e)ifications</th>
</tr>
<tr>
<th class="bb">Normal</th><th class="bb">Prime</th><th class="bb"><a href="https://en.wikipedia.org/wiki/Interval_vector" target="wiki">ICVEC</a></th><th class="bb"><a href="https://en.wikipedia.org/wiki/List_of_pitch-class_sets" target="wiki">Set</a></th>
</tr>
</thead>
<tbody>
<tr><td>[1,4,5,7,9,11]</td><td>{0,3,4,6,8,10}</td><td>312222</td><td>{0,3,4,6,8,10}</td><td>{0,1,3,5,7,9}</td><td class='tb'>142422</td><td class='as'>6-34A</td></tr>
<tr><td>[1,3,5,7,8,11]</td><td>{0,2,4,6,7,10}</td><td>222132</td><td>{0,2,4,6,7,10}</td><td>{0,2,4,6,8,9}</td><td class='bb'>〃</td><td class='as'>6-34B</td></tr>
<tr><td>[1,2,5,6,8,10]</td><td>{0,1,4,5,7,9}</td><td>131223</td><td>{0,1,4,5,7,9}</td><td>{0,1,4,5,7,9}</td><td class='tb'>223431</td><td class='as'>6-31A</td></tr>
<tr><td>[2,3,6,7,9,11]</td><td>{1,2,5,6,8,10}</td><td>131223</td><td>{0,1,4,5,7,9}</td><td>〃</td><td class='sb'>〃</td><td class='as'>〃</td></tr>
<tr><td>[1,3,5,6,9,10]</td><td>{0,2,4,5,8,9}</td><td>221313</td><td>{0,2,4,5,8,9}</td><td>{0,2,4,5,8,9}</td><td class='sb'>〃</td><td class='as'>6-31B</td></tr>
<tr><td>[2,4,6,7,10,11]</td><td>{1,3,5,6,9,10}</td><td>221313</td><td>{0,2,4,5,8,9}</td><td>〃</td><td class='bb'>〃</td><td class='as'>〃</td></tr>
<tr><td>[1,3,4,7,8,10]</td><td>{0,2,3,6,7,9}</td><td>213123</td><td>{0,2,3,6,7,9}</td><td>{0,2,3,6,7,9}</td><td class='tb'>224232</td><td class='ss'>6-Z29</td></tr>
<tr><td>[2,4,5,8,9,11]</td><td>{1,3,4,7,8,10}</td><td>213123</td><td>{0,2,3,6,7,9}</td><td>〃</td><td class='bb'>〃</td><td class='ss'>〃</td></tr>
<tr><td>[1,2,4,6,8,9]</td><td>{0,1,3,5,7,8}</td><td>122214</td><td>{0,1,3,5,7,8}</td><td>{0,1,3,5,7,8}</td><td class='tb'>232341</td><td class='ss'>6-Z26</td></tr>
<tr><td>[2,3,5,7,9,10]</td><td>{1,2,4,6,8,9}</td><td>122214</td><td>{0,1,3,5,7,8}</td><td>〃</td><td class='sb'>〃</td><td class='ss'>〃</td></tr>
<tr><td>[3,4,6,8,10,11]</td><td>{2,3,5,7,9,10}</td><td>122214</td><td>{0,1,3,5,7,8}</td><td>〃</td><td class='tb'>〃</td><td class='ss'>〃</td></tr>
<tr><td>[3,4,5,6,9,12]</td><td>{2,3,4,5,8,11}</td><td>111333</td><td>{0,1,2,3,6,9}</td><td>{0,1,2,3,6,9}</td><td class='tb bb'>324222</td><td class='ss'>6-Z42</td></tr>
<tr><td>[4,5,6,7,10,12]</td><td>{3,4,5,6,9,11}</td><td>111324</td><td>{0,1,2,3,6,8}</td><td>{0,1,2,3,6,8}</td><td class='tb bb'>332232</td><td class='as'>6-Z41B</td></tr>
<tr><td>[2,3,4,5,8,12]</td><td>{1,2,3,4,7,11}</td><td>111342</td><td>{0,1,2,3,6,10}</td><td>{0,2,3,4,5,8}</td><td class='tb bb'>333321</td><td class='as'>6-Z39A</td></tr>
<tr><td>[2,7,8,9,10,12]</td><td>{1,6,7,8,9,11}</td><td>511122</td><td>{0,5,6,7,8,10}</td><td>{0,1,2,3,5,7}</td><td class='tb bb'>342231</td><td class='as'>6-9A</td></tr>
<tr><td>[1,6,7,8,9,12]</td><td>{0,5,6,7,8,11}</td><td>511131</td><td>{0,5,6,7,8,11}</td><td>{0,1,2,3,6,7}</td><td class='tb'>422232</td><td class='as'>6-5A</td></tr>
<tr><td>[5,6,7,8,11,12]</td><td>{4,5,6,7,10,11}</td><td>111315</td><td>{0,1,2,3,6,7}</td><td>〃</td><td class='bb'>〃</td><td class='as'>〃</td></tr>
<tr><td>[1,2,5,10,11,12]</td><td>{0,1,4,9,10,11}</td><td>135111</td><td>{0,1,4,9,10,11}</td><td>{0,1,2,3,4,7}</td><td class='tb'>433221</td><td class='as'>6-Z36B</td></tr>
<tr><td>[1,2,3,4,7,12]</td><td>{0,1,2,3,6,11}</td><td>111351</td><td>{0,1,2,3,6,11}</td><td>〃</td><td class='sb'>〃</td><td class='as'>〃</td></tr>
<tr><td>[1,2,3,6,11,12]</td><td>{0,1,2,5,10,11}</td><td>113511</td><td>{0,1,2,5,10,11}</td><td>〃</td><td class='sb'>〃</td><td class='as'>〃</td></tr>
<tr><td>[1,4,9,10,11,12]</td><td>{0,3,8,9,10,11}</td><td>351111</td><td>{0,3,8,9,10,11}</td><td>〃</td><td class='sb'>〃</td><td class='as'>〃</td></tr>
<tr><td>[3,8,9,10,11,12]</td><td>{2,7,8,9,10,11}</td><td>511113</td><td>{0,5,6,7,8,9}</td><td>〃</td><td class='bb'>〃</td><td class='as'>〃</td></tr>
</tbody>
</table>
</figure>
<p>The above table is sorted by Forte's 'interval vector' classification for no particular reason other than to show that the 22 PC Sets may be aggregated into 10 distinct interval spread classes in 12 distinct Forte Prime PC Sets. We can't imagine that this is anything other than happenstance. As usual on this blog, the blue background indicates a symmetric (inverse = self) PC set and pink indicates asymmetric (with Forte A and B Forms). There's a <a href="/p/blog-page.html">page devoted to 12 TET hexads</a> if more background is needed.</p>
<h3>Non-Blocky Tetradic Links</h3>
<p>In order to justify an order we might apply to the 22 blocks, we sought links between the blocks beyond any demanded by the block design itself. And indeed we found such a link, in the appearance of <em>common tetrads</em> between the hexads. Even better, we found several <em>cycles</em> (i.e. Hamiltonian circuits) of all 22 blocks, stepwise connected via such tetrad-sharing, in such a way that the last block connected to the first.</p>
<div class="blops">
<div class="blop">
<p>Each block links to three other blocks via tetrads, which means that the blocks' connectivity can be represented as a <a href="https://en.wikipedia.org/wiki/Cubic_graph">cubic graph</a>, specifically one with 22 vertices (the blocks) and 33 edges (the linking tetrads shared between each vertex pair). And 22 of those edges form a circuit allowing the graph's presentation as a 22-gon with 11 internal edge connections.</p>
<p>The cubic graph exhibits an emergent symmetry having nothing to do with the block design's requirements. Nobody asked for symmetry or for common 4-sets connecting the 6-set blocks, or even anything regarding 4-sets at all.</p>
</div>
<div class="blop">
<figure>
<figcaption>22 hexad blocks linked by tetrads</figcaption>
<p class="pic"><img src="http://image.storistry.com/gappy/Block2ReorientedBarred.png" alt="An Ordered Block Design"/></p>
</figure>
</div>
</div>
<p>The symmetry is doubtless due to <a href="https://www.sciencedirect.com/science/article/pii/S0195669805001149" target="_new">the algorithm used to produce the design</a>, most likely from the underlying group used to generate the design which in this case was C<sub>11</sub> - <a href="https://en.wikipedia.org/wiki/Cyclic_group" target="wiki">Cyclic Group</a> order 11 generated by the permutation (1,11,10,9,8,7,6,5,4,3,2) as shown in the design's output report.</p>
<p>The following is a possible expression of the above block order. The hex annotations under each bar label the six PCs present in the bar. If the staff could be wrapped around a circle, the four PCs 0,9,a and b in the final bar could - in principal - be tied to the same PCs in the first.</p>
<figure>
<figcaption>Hexachord sequence tied across bars by common tetrads.</p>
<p class="pic"><img src="http://image.storistry.com/gappy/Hexachords22.png" width="710px" alt="Musical Implementation of Block Design"/></p>
</figure>
<p>We say 'in principal' because the PCs a and b (as, respectively, a high A# and a centred B) are in the 'wrong' octave for bar #1, as are PCs 0 and 9 (as bass notes A and C - <em>two</em> octaves apart from their high treble appearances in bar #1). A 'true' circular join is of course possible. But as it is, it sounds like this:</p>
<audio controls volume="0.1"><source src="http://sonic.storistry.com/hexach22.flac"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<p>Below is the graph with PC Set {0,3,8,9,10,11} at the top, labelled as vertex 0 (the arbitrarily chosen 'first' block in the circuit shown as the first column labelled (hexadecimally as) 0389AB in the image above).</p>
<div class="blops">
<div class="blop">
<p>
<figure>
<figcaption>Graph of 22 Hexadic Blocks with 33 Tetradic Commonalities</figcaption>
<svg id="G0" viewBox="0 0 1000 1000" width="400" height="400" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="vertx0">
<circle r="32" cx="500" cy="56" class="fixed"/>
<circle r="16" cx="524" cy="14" class="fixed"/>
<circle r="16" cx="476" cy="14" class="fixed"/>
<circle r="16" cx="452" cy="56" class="fixed"/>
<circle r="16" cx="476" cy="98" class="fixed"/>
<circle r="16" cx="524" cy="98" class="fixed"/>
<circle r="16" cx="548" cy="56" class="fixed"/>
<text class="blk" x="488" y="66">0</text>
<text class="pcs" x="518" y="19">B</text>
<text class="pcs" x="470" y="19">A</text>
<text class="pcs" x="446" y="61">9</text>
<text class="pcs" x="470" y="103">8</text>
<text class="pcs" x="518" y="103">3</text>
<text class="pcs" x="542" y="61">0</text>
</symbol>
<symbol id="vertx1">
<circle r="32" cx="625" cy="74" class="fixed"/>
<circle r="16" cx="660" cy="41" class="fixed"/>
<circle r="16" cx="614" cy="27" class="fixed"/>
<circle r="16" cx="579" cy="60" class="fixed"/>
<circle r="16" cx="590" cy="107" class="fixed"/>
<circle r="16" cx="636" cy="121" class="fixed"/>
<circle r="16" cx="671" cy="88" class="fixed"/>
<text class="blk" x="613" y="84">1</text>
<text class="pcs" x="654" y="46">B</text>
<text class="pcs" x="608" y="32">A</text>
<text class="pcs" x="573" y="65">9</text>
<text class="pcs" x="584" y="112">8</text>
<text class="pcs" x="630" y="126">7</text>
<text class="pcs" x="665" y="93">2</text>
</symbol>
<symbol id="vertx2">
<circle r="32" cx="740" cy="126" class="fixed"/>
<circle r="16" cx="783" cy="104" class="fixed"/>
<circle r="16" cx="742" cy="79" class="fixed"/>
<circle r="16" cx="700" cy="101" class="fixed"/>
<circle r="16" cx="697" cy="148" class="fixed"/>
<circle r="16" cx="738" cy="174" class="fixed"/>
<circle r="16" cx="780" cy="152" class="fixed"/>
<text class="blk" x="728" y="136">2</text>
<text class="pcs" x="777" y="109">A</text>
<text class="pcs" x="736" y="84">9</text>
<text class="pcs" x="694" y="106">7</text>
<text class="pcs" x="691" y="153">5</text>
<text class="pcs" x="732" y="179">3</text>
<text class="pcs" x="774" y="157">2</text>
</symbol>
<symbol id="vertx3">
<circle r="32" cx="836" cy="209" class="fixed"/>
<circle r="16" cx="883" cy="200" class="fixed"/>
<circle r="16" cx="851" cy="164" class="fixed"/>
<circle r="16" cx="804" cy="173" class="fixed"/>
<circle r="16" cx="788" cy="218" class="fixed"/>
<circle r="16" cx="820" cy="255" class="fixed"/>
<circle r="16" cx="867" cy="246" class="fixed"/>
<text class="blk" x="824" y="219">3</text>
<text class="pcs" x="877" y="205">9</text>
<text class="pcs" x="845" y="169">7</text>
<text class="pcs" x="798" y="178">6</text>
<text class="pcs" x="782" y="223">3</text>
<text class="pcs" x="814" y="260">2</text>
<text class="pcs" x="861" y="251">0</text>
</symbol>
<symbol id="vertx4">
<circle r="32" cx="904" cy="316" class="fixed"/>
<circle r="16" cx="952" cy="320" class="fixed"/>
<circle r="16" cx="932" cy="276" class="fixed"/>
<circle r="16" cx="884" cy="272" class="fixed"/>
<circle r="16" cx="856" cy="311" class="fixed"/>
<circle r="16" cx="876" cy="355" class="fixed"/>
<circle r="16" cx="924" cy="359" class="fixed"/>
<text class="blk" x="892" y="326">4</text>
<text class="pcs" x="946" y="325">B</text>
<text class="pcs" x="926" y="281">6</text>
<text class="pcs" x="878" y="277">3</text>
<text class="pcs" x="850" y="316">2</text>
<text class="pcs" x="870" y="360">1</text>
<text class="pcs" x="918" y="364">0</text>
</symbol>
<symbol id="vertx5">
<circle r="32" cx="939" cy="437" class="fixed"/>
<circle r="16" cx="984" cy="455" class="fixed"/>
<circle r="16" cx="977" cy="407" class="fixed"/>
<circle r="16" cx="933" cy="389" class="fixed"/>
<circle r="16" cx="895" cy="419" class="fixed"/>
<circle r="16" cx="902" cy="466" class="fixed"/>
<circle r="16" cx="946" cy="484" class="fixed"/>
<text class="blk" x="927" y="447">5</text>
<text class="pcs" x="978" y="460">B</text>
<text class="pcs" x="971" y="412">A</text>
<text class="pcs" x="927" y="394">5</text>
<text class="pcs" x="889" y="424">2</text>
<text class="pcs" x="896" y="471">1</text>
<text class="pcs" x="940" y="489">0</text>
</symbol>
<symbol id="vertx6">
<circle r="32" cx="939" cy="563" class="fixed"/>
<circle r="16" cx="977" cy="593" class="fixed"/>
<circle r="16" cx="984" cy="545" class="fixed"/>
<circle r="16" cx="946" cy="516" class="fixed"/>
<circle r="16" cx="902" cy="534" class="fixed"/>
<circle r="16" cx="895" cy="581" class="fixed"/>
<circle r="16" cx="933" cy="611" class="fixed"/>
<text class="blk" x="927" y="573">6</text>
<text class="pcs" x="971" y="598">A</text>
<text class="pcs" x="978" y="550">8</text>
<text class="pcs" x="940" y="521">6</text>
<text class="pcs" x="896" y="539">5</text>
<text class="pcs" x="889" y="586">2</text>
<text class="pcs" x="927" y="616">1</text>
</symbol>
<symbol id="vertx7">
<circle r="32" cx="904" cy="684" class="fixed"/>
<circle r="16" cx="932" cy="724" class="fixed"/>
<circle r="16" cx="952" cy="680" class="fixed"/>
<circle r="16" cx="924" cy="641" class="fixed"/>
<circle r="16" cx="876" cy="645" class="fixed"/>
<circle r="16" cx="856" cy="689" class="fixed"/>
<circle r="16" cx="884" cy="728" class="fixed"/>
<text class="blk" x="892" y="694">7</text>
<text class="pcs" x="926" y="729">A</text>
<text class="pcs" x="946" y="685">9</text>
<text class="pcs" x="918" y="646">6</text>
<text class="pcs" x="870" y="650">5</text>
<text class="pcs" x="850" y="694">3</text>
<text class="pcs" x="878" y="733">1</text>
</symbol>
<symbol id="vertx8">
<circle r="32" cx="836" cy="791" class="fixed"/>
<circle r="16" cx="851" cy="836" class="fixed"/>
<circle r="16" cx="883" cy="800" class="fixed"/>
<circle r="16" cx="867" cy="754" class="fixed"/>
<circle r="16" cx="820" cy="745" class="fixed"/>
<circle r="16" cx="788" cy="782" class="fixed"/>
<circle r="16" cx="804" cy="827" class="fixed"/>
<text class="blk" x="824" y="801">8</text>
<text class="pcs" x="845" y="841">B</text>
<text class="pcs" x="877" y="805">9</text>
<text class="pcs" x="861" y="759">6</text>
<text class="pcs" x="814" y="750">5</text>
<text class="pcs" x="782" y="787">4</text>
<text class="pcs" x="798" y="832">3</text>
</symbol>
<symbol id="vertx9">
<circle r="32" cx="740" cy="874" class="fixed"/>
<circle r="16" cx="742" cy="921" class="fixed"/>
<circle r="16" cx="783" cy="896" class="fixed"/>
<circle r="16" cx="780" cy="848" class="fixed"/>
<circle r="16" cx="738" cy="826" class="fixed"/>
<circle r="16" cx="697" cy="852" class="fixed"/>
<circle r="16" cx="700" cy="899" class="fixed"/>
<text class="blk" x="728" y="884">9</text>
<text class="pcs" x="736" y="926">B</text>
<text class="pcs" x="777" y="901">A</text>
<text class="pcs" x="774" y="853">7</text>
<text class="pcs" x="732" y="831">6</text>
<text class="pcs" x="691" y="857">5</text>
<text class="pcs" x="694" y="904">4</text>
</symbol>
<symbol id="vertxa">
<circle r="32" cx="625" cy="926" class="fixed"/>
<circle r="16" cx="614" cy="973" class="fixed"/>
<circle r="16" cx="660" cy="959" class="fixed"/>
<circle r="16" cx="671" cy="912" class="fixed"/>
<circle r="16" cx="636" cy="879" class="fixed"/>
<circle r="16" cx="590" cy="893" class="fixed"/>
<circle r="16" cx="579" cy="940" class="fixed"/>
<text class="blk" x="613" y="936">A</text>
<text class="pcs" x="608" y="978">A</text>
<text class="pcs" x="654" y="964">7</text>
<text class="pcs" x="665" y="917">6</text>
<text class="pcs" x="630" y="884">4</text>
<text class="pcs" x="584" y="898">2</text>
<text class="pcs" x="573" y="945">0</text>
</symbol>
<symbol id="vertxb">
<circle r="32" cx="500" cy="944" class="fixed"/>
<circle r="16" cx="476" cy="986" class="fixed"/>
<circle r="16" cx="524" cy="986" class="fixed"/>
<circle r="16" cx="548" cy="944" class="fixed"/>
<circle r="16" cx="524" cy="902" class="fixed"/>
<circle r="16" cx="476" cy="902" class="fixed"/>
<circle r="16" cx="452" cy="944" class="fixed"/>
<text class="blk" x="488" y="954">B</text>
<text class="pcs" x="470" y="991">A</text>
<text class="pcs" x="518" y="991">8</text>
<text class="pcs" x="542" y="949">6</text>
<text class="pcs" x="518" y="907">4</text>
<text class="pcs" x="470" y="907">3</text>
<text class="pcs" x="446" y="949">0</text>
</symbol>
<symbol id="vertxc">
<circle r="32" cx="375" cy="926" class="fixed"/>
<circle r="16" cx="340" cy="959" class="fixed"/>
<circle r="16" cx="386" cy="973" class="fixed"/>
<circle r="16" cx="421" cy="940" class="fixed"/>
<circle r="16" cx="410" cy="893" class="fixed"/>
<circle r="16" cx="364" cy="879" class="fixed"/>
<circle r="16" cx="329" cy="912" class="fixed"/>
<text class="blk" x="363" y="936">C</text>
<text class="pcs" x="334" y="964">A</text>
<text class="pcs" x="380" y="978">8</text>
<text class="pcs" x="415" y="945">7</text>
<text class="pcs" x="404" y="898">4</text>
<text class="pcs" x="358" y="884">3</text>
<text class="pcs" x="323" y="917">1</text>
</symbol>
<symbol id="vertxd">
<circle r="32" cx="260" cy="874" class="fixed"/>
<circle r="16" cx="217" cy="896" class="fixed"/>
<circle r="16" cx="258" cy="921" class="fixed"/>
<circle r="16" cx="300" cy="899" class="fixed"/>
<circle r="16" cx="303" cy="852" class="fixed"/>
<circle r="16" cx="262" cy="826" class="fixed"/>
<circle r="16" cx="220" cy="848" class="fixed"/>
<text class="blk" x="248" y="884">D</text>
<text class="pcs" x="211" y="901">B</text>
<text class="pcs" x="252" y="926">7</text>
<text class="pcs" x="294" y="904">4</text>
<text class="pcs" x="297" y="857">3</text>
<text class="pcs" x="256" y="831">2</text>
<text class="pcs" x="214" y="853">1</text>
</symbol>
<symbol id="vertxe">
<circle r="32" cx="164" cy="791" class="fixed"/>
<circle r="16" cx="117" cy="800" class="fixed"/>
<circle r="16" cx="149" cy="836" class="fixed"/>
<circle r="16" cx="196" cy="827" class="fixed"/>
<circle r="16" cx="212" cy="782" class="fixed"/>
<circle r="16" cx="180" cy="745" class="fixed"/>
<circle r="16" cx="133" cy="754" class="fixed"/>
<text class="blk" x="152" y="801">E</text>
<text class="pcs" x="111" y="805">B</text>
<text class="pcs" x="143" y="841">8</text>
<text class="pcs" x="190" y="832">5</text>
<text class="pcs" x="206" y="787">4</text>
<text class="pcs" x="174" y="750">3</text>
<text class="pcs" x="127" y="759">2</text>
</symbol>
<symbol id="vertxf">
<circle r="32" cx="96" cy="684" class="fixed"/>
<circle r="16" cx="48" cy="680" class="fixed"/>
<circle r="16" cx="68" cy="724" class="fixed"/>
<circle r="16" cx="116" cy="728" class="fixed"/>
<circle r="16" cx="144" cy="689" class="fixed"/>
<circle r="16" cx="124" cy="645" class="fixed"/>
<circle r="16" cx="76" cy="641" class="fixed"/>
<text class="blk" x="84" y="694">F</text>
<text class="pcs" x="42" y="685">9</text>
<text class="pcs" x="62" y="729">8</text>
<text class="pcs" x="110" y="733">5</text>
<text class="pcs" x="138" y="694">4</text>
<text class="pcs" x="118" y="650">2</text>
<text class="pcs" x="70" y="646">0</text>
</symbol>
<symbol id="vertxg">
<circle r="32" cx="61" cy="563" class="fixed"/>
<circle r="16" cx="16" cy="545" class="fixed"/>
<circle r="16" cx="23" cy="593" class="fixed"/>
<circle r="16" cx="67" cy="611" class="fixed"/>
<circle r="16" cx="105" cy="581" class="fixed"/>
<circle r="16" cx="98" cy="534" class="fixed"/>
<circle r="16" cx="54" cy="516" class="fixed"/>
<text class="blk" x="49" y="573">G</text>
<text class="pcs" x="10" y="550">9</text>
<text class="pcs" x="17" y="598">8</text>
<text class="pcs" x="61" y="616">6</text>
<text class="pcs" x="99" y="586">4</text>
<text class="pcs" x="92" y="539">2</text>
<text class="pcs" x="48" y="521">1</text>
</symbol>
<symbol id="vertxh">
<circle r="32" cx="61" cy="437" class="fixed"/>
<circle r="16" cx="23" cy="407" class="fixed"/>
<circle r="16" cx="16" cy="455" class="fixed"/>
<circle r="16" cx="54" cy="484" class="fixed"/>
<circle r="16" cx="98" cy="466" class="fixed"/>
<circle r="16" cx="105" cy="419" class="fixed"/>
<circle r="16" cx="67" cy="389" class="fixed"/>
<text class="blk" x="49" y="447">H</text>
<text class="pcs" x="17" y="412">B</text>
<text class="pcs" x="10" y="460">9</text>
<text class="pcs" x="48" y="489">8</text>
<text class="pcs" x="92" y="471">7</text>
<text class="pcs" x="99" y="424">6</text>
<text class="pcs" x="61" y="394">1</text>
</symbol>
<symbol id="vertxi">
<circle r="32" cx="96" cy="316" class="fixed"/>
<circle r="16" cx="68" cy="276" class="fixed"/>
<circle r="16" cx="48" cy="320" class="fixed"/>
<circle r="16" cx="76" cy="359" class="fixed"/>
<circle r="16" cx="124" cy="355" class="fixed"/>
<circle r="16" cx="144" cy="311" class="fixed"/>
<circle r="16" cx="116" cy="272" class="fixed"/>
<text class="blk" x="84" y="326">I</text>
<text class="pcs" x="62" y="281">B</text>
<text class="pcs" x="42" y="325">8</text>
<text class="pcs" x="70" y="364">7</text>
<text class="pcs" x="118" y="360">6</text>
<text class="pcs" x="138" y="316">5</text>
<text class="pcs" x="110" y="277">0</text>
</symbol>
<symbol id="vertxj">
<circle r="32" cx="164" cy="209" class="fixed"/>
<circle r="16" cx="149" cy="164" class="fixed"/>
<circle r="16" cx="117" cy="200" class="fixed"/>
<circle r="16" cx="133" cy="246" class="fixed"/>
<circle r="16" cx="180" cy="255" class="fixed"/>
<circle r="16" cx="212" cy="218" class="fixed"/>
<circle r="16" cx="196" cy="173" class="fixed"/>
<text class="blk" x="152" y="219">J</text>
<text class="pcs" x="143" y="169">8</text>
<text class="pcs" x="111" y="205">7</text>
<text class="pcs" x="127" y="251">5</text>
<text class="pcs" x="174" y="260">3</text>
<text class="pcs" x="206" y="223">1</text>
<text class="pcs" x="190" y="178">0</text>
</symbol>
<symbol id="vertxk">
<circle r="32" cx="260" cy="126" class="fixed"/>
<circle r="16" cx="258" cy="79" class="fixed"/>
<circle r="16" cx="217" cy="104" class="fixed"/>
<circle r="16" cx="220" cy="152" class="fixed"/>
<circle r="16" cx="262" cy="174" class="fixed"/>
<circle r="16" cx="303" cy="148" class="fixed"/>
<circle r="16" cx="300" cy="101" class="fixed"/>
<text class="blk" x="248" y="136">K</text>
<text class="pcs" x="252" y="84">9</text>
<text class="pcs" x="211" y="109">7</text>
<text class="pcs" x="214" y="157">5</text>
<text class="pcs" x="256" y="179">4</text>
<text class="pcs" x="297" y="153">1</text>
<text class="pcs" x="294" y="106">0</text>
</symbol>
<symbol id="vertxl">
<circle r="32" cx="375" cy="74" class="fixed"/>
<circle r="16" cx="386" cy="27" class="fixed"/>
<circle r="16" cx="340" cy="41" class="fixed"/>
<circle r="16" cx="329" cy="88" class="fixed"/>
<circle r="16" cx="364" cy="121" class="fixed"/>
<circle r="16" cx="410" cy="107" class="fixed"/>
<circle r="16" cx="421" cy="60" class="fixed"/>
<text class="blk" x="363" y="84">L</text>
<text class="pcs" x="380" y="32">B</text>
<text class="pcs" x="334" y="46">A</text>
<text class="pcs" x="323" y="93">9</text>
<text class="pcs" x="358" y="126">4</text>
<text class="pcs" x="404" y="112">1</text>
<text class="pcs" x="415" y="65">0</text>
</symbol>
</defs>
<g>
<line x1="500" y1="56" x2="625" y2="74" class="fixed"/>
<line x1="500" y1="56" x2="500" y2="944" class="fixed"/>
<line x1="500" y1="56" x2="375" y2="74" class="fixed"/>
<line x1="625" y1="74" x2="740" y2="126" class="fixed"/>
<line x1="625" y1="74" x2="61" y2="437" class="fixed"/>
<line x1="740" y1="126" x2="836" y2="209" class="fixed"/>
<line x1="740" y1="126" x2="904" y2="684" class="fixed"/>
<line x1="836" y1="209" x2="904" y2="316" class="fixed"/>
<line x1="836" y1="209" x2="625" y2="926" class="fixed"/>
<line x1="904" y1="316" x2="939" y2="437" class="fixed"/>
<line x1="904" y1="316" x2="260" y2="874" class="fixed"/>
<line x1="939" y1="437" x2="939" y2="563" class="fixed"/>
<line x1="939" y1="437" x2="375" y2="74" class="fixed"/>
<line x1="939" y1="563" x2="904" y2="684" class="fixed"/>
<line x1="939" y1="563" x2="61" y2="563" class="fixed"/>
<line x1="904" y1="684" x2="836" y2="791" class="fixed"/>
<line x1="836" y1="791" x2="740" y2="874" class="fixed"/>
<line x1="836" y1="791" x2="164" y2="791" class="fixed"/>
<line x1="740" y1="874" x2="625" y2="926" class="fixed"/>
<line x1="740" y1="874" x2="96" y2="316" class="fixed"/>
<line x1="625" y1="926" x2="500" y2="944" class="fixed"/>
<line x1="500" y1="944" x2="375" y2="926" class="fixed"/>
<line x1="375" y1="926" x2="260" y2="874" class="fixed"/>
<line x1="375" y1="926" x2="164" y2="209" class="fixed"/>
<line x1="260" y1="874" x2="164" y2="791" class="fixed"/>
<line x1="164" y1="791" x2="96" y2="684" class="fixed"/>
<line x1="96" y1="684" x2="61" y2="563" class="fixed"/>
<line x1="96" y1="684" x2="260" y2="126" class="fixed"/>
<line x1="61" y1="563" x2="61" y2="437" class="fixed"/>
<line x1="61" y1="437" x2="96" y2="316" class="fixed"/>
<line x1="96" y1="316" x2="164" y2="209" class="fixed"/>
<line x1="164" y1="209" x2="260" y2="126" class="fixed"/>
<line x1="260" y1="126" x2="375" y2="74" class="fixed"/>
</g>
<g/>
<g>
<use href="#vertx0" class="orb0"/>
<use href="#vertx1" class="orb0"/>
<use href="#vertx2" class="orb1"/>
<use href="#vertx3" class="orb1"/>
<use href="#vertx4" class="orb0"/>
<use href="#vertx5" class="orb0"/>
<use href="#vertx6" class="orb1"/>
<use href="#vertx7" class="orb1"/>
<use href="#vertx8" class="orb0"/>
<use href="#vertx9" class="orb0"/>
<use href="#vertxa" class="orb1"/>
<use href="#vertxb" class="orb1"/>
<use href="#vertxc" class="orb1"/>
<use href="#vertxd" class="orb0"/>
<use href="#vertxe" class="orb0"/>
<use href="#vertxf" class="orb1"/>
<use href="#vertxg" class="orb1"/>
<use href="#vertxh" class="orb0"/>
<use href="#vertxi" class="orb0"/>
<use href="#vertxj" class="orb1"/>
<use href="#vertxk" class="orb1"/>
<use href="#vertxl" class="orb0"/>
</g>
</svg>
</figure>
</p>
</div>
<div class="blop">
<p>Each block, labelled as vertices 0 to L clockwise from the top, is shown with its 6 constituent hexadic pitch classes (labelled in hexadecimal) in a hexagonal 'satellite' arrangement around it. Every block is connected to three others, two being nearest neighbours around the circumference and the third being somewhere across the circle.</p>
<p>Each of the three connections carries a common tetrad. For example vertex C - PC set {1,3,4,7,8,10} - connects on either side with vertex B = {0,3,4,6,8,10} and D = {1,2,3,4,7,11} as well as to the relatively distant vertex J = {0,1,3,5,7,8}, the common tetrads between them being respectively {3,4,8,10}, {1,3,4,7}, {1,3,7,8}</p>
</div>
</div>
<h3>From Graph to Group</h3>
<p>Howsoever a cyclic symmetry of C<sub>11</sub> in the generation of a block design managed to percolate through to emergent common tetradicities, the 22-vertex 33-edge graph (teased out of that collection by seeking Hamiltonian circuits via those tetradic connections) has dihedral symmetry with an automorphism group isomorphic to D<sub>22</sub> (or D<sub>11</sub> depending upon which <a href="https://en.wikipedia.org/wiki/Dihedral_group" target="wiki">Dihedral Group</a> naming convention you follow).</p>
<p>For the moment, we'll dispense with the hexadic attachments - the group is concerned only with the graph's symmetries but doesn't care how it got them.</p>
<div class="blops">
<div class="blop">
<p>As with all dihedral groups, two generators - a mirror flip and a rotation cycle - will suffice and in this case they are the permutations (1L)(2K)(3J)(4I)(5H)(6G)(7F)(8E)(9D)(AC) and (01HI98ED45L)(2GJA7FC36KB).
<p>We're using cyclic permutation notation where each parenthesised string (in this case of graph vertex labels) cycles (i.e. moves its tail character to its head) each time the permutation is applied.</p>
<p>The flipper is relatively easy to see as a simultaneous swap of 10 vertex pairs over the vertical axis through 0 and B. Vertex 1 moves to L and L moves to 1, 2 moves to K and K to 2, and so on, each effectively swapping places.</p>
</div>
<div class="blop">
<p>
<figure>
<figcaption>The flip permutation (leaving tetradic connections unaltered)</figcaption>
<svg id="G1" viewBox="0 0 1000 1000" width="400" height="400" xmlns="http://www.w3.org/2000/svg" onmouseover="Ani(this)">
<defs>
<marker id="arrow" markerWidth="12" markerHeight="6" refX="-20" refY="3" orient="auto" markerUnits="strokeWidth" viewBox="0 0 12 6">
<path d="M0,0 L0,6 L12,3 z" fill="#000"/>
<animate dur="0.333s" repeatCount="3" from="-10" to="-20" attributeName="refX"/>
</marker>
</defs>
<defs>
<symbol id="vertA0">
<circle r="32" cx="500" cy="56" class="fixed"/>
<text class="blk" x="488" y="66">0</text>
</symbol>
<symbol id="vertA1">
<circle class="mover" r="32" cx="625" cy="74">
<animate begin="1s" dur="1.2s" attributeName="cx" from="625" to="375"/>
<animate begin="1s" dur="1.2s" attributeName="cy" from="74" to="74"/>
</circle>
<text class="blk" x="613" y="84">1<animate begin="1s" dur="1.2s" attributeName="x" from="613" to="363"/>
<animate begin="1s" dur="1.2s" attributeName="y" from="84" to="84"/>
</text>
</symbol>
<symbol id="vertA2">
<circle class="mover" r="32" cx="740" cy="126">
<animate begin="2.2s" dur="1.2s" attributeName="cx" from="740" to="260"/>
<animate begin="2.2s" dur="1.2s" attributeName="cy" from="126" to="126"/>
</circle>
<text class="blk" x="728" y="136">2<animate begin="2.2s" dur="1.2s" attributeName="x" from="728" to="248"/>
<animate begin="2.2s" dur="1.2s" attributeName="y" from="136" to="136"/>
</text>
</symbol>
<symbol id="vertA3">
<circle class="mover" r="32" cx="836" cy="209">
<animate begin="3.4s" dur="1.2s" attributeName="cx" from="836" to="164"/>
<animate begin="3.4s" dur="1.2s" attributeName="cy" from="209" to="209"/>
</circle>
<text class="blk" x="824" y="219">3<animate begin="3.4s" dur="1.2s" attributeName="x" from="824" to="152"/>
<animate begin="3.4s" dur="1.2s" attributeName="y" from="219" to="219"/>
</text>
</symbol>
<symbol id="vertA4">
<circle class="mover" r="32" cx="904" cy="316">
<animate begin="4.6s" dur="1.2s" attributeName="cx" from="904" to="96"/>
<animate begin="4.6s" dur="1.2s" attributeName="cy" from="316" to="316"/>
</circle>
<text class="blk" x="892" y="326">4<animate begin="4.6s" dur="1.2s" attributeName="x" from="892" to="84"/>
<animate begin="4.6s" dur="1.2s" attributeName="y" from="326" to="326"/>
</text>
</symbol>
<symbol id="vertA5">
<circle class="mover" r="32" cx="939" cy="437">
<animate begin="5.8s" dur="1.2s" attributeName="cx" from="939" to="61"/>
<animate begin="5.8s" dur="1.2s" attributeName="cy" from="437" to="437"/>
</circle>
<text class="blk" x="927" y="447">5<animate begin="5.8s" dur="1.2s" attributeName="x" from="927" to="49"/>
<animate begin="5.8s" dur="1.2s" attributeName="y" from="447" to="447"/>
</text>
</symbol>
<symbol id="vertA6">
<circle class="mover" r="32" cx="939" cy="563">
<animate begin="7s" dur="1.2s" attributeName="cx" from="939" to="61"/>
<animate begin="7s" dur="1.2s" attributeName="cy" from="563" to="563"/>
</circle>
<text class="blk" x="927" y="573">6<animate begin="7s" dur="1.2s" attributeName="x" from="927" to="49"/>
<animate begin="7s" dur="1.2s" attributeName="y" from="573" to="573"/>
</text>
</symbol>
<symbol id="vertA7">
<circle class="mover" r="32" cx="904" cy="684">
<animate begin="8.2s" dur="1.2s" attributeName="cx" from="904" to="96"/>
<animate begin="8.2s" dur="1.2s" attributeName="cy" from="684" to="684"/>
</circle>
<text class="blk" x="892" y="694">7<animate begin="8.2s" dur="1.2s" attributeName="x" from="892" to="84"/>
<animate begin="8.2s" dur="1.2s" attributeName="y" from="694" to="694"/>
</text>
</symbol>
<symbol id="vertA8">
<circle class="mover" r="32" cx="836" cy="791">
<animate begin="9.4s" dur="1.2s" attributeName="cx" from="836" to="164"/>
<animate begin="9.4s" dur="1.2s" attributeName="cy" from="791" to="791"/>
</circle>
<text class="blk" x="824" y="801">8<animate begin="9.4s" dur="1.2s" attributeName="x" from="824" to="152"/>
<animate begin="9.4s" dur="1.2s" attributeName="y" from="801" to="801"/>
</text>
</symbol>
<symbol id="vertA9">
<circle class="mover" r="32" cx="740" cy="874">
<animate begin="10.6s" dur="1.2s" attributeName="cx" from="740" to="260"/>
<animate begin="10.6s" dur="1.2s" attributeName="cy" from="874" to="874"/>
</circle>
<text class="blk" x="728" y="884">9<animate begin="10.6s" dur="1.2s" attributeName="x" from="728" to="248"/>
<animate begin="10.6s" dur="1.2s" attributeName="y" from="884" to="884"/>
</text>
</symbol>
<symbol id="vertAa">
<circle class="mover" r="32" cx="625" cy="926">
<animate begin="11.8s" dur="1.2s" attributeName="cx" from="625" to="375"/>
<animate begin="11.8s" dur="1.2s" attributeName="cy" from="926" to="926"/>
</circle>
<text class="blk" x="613" y="936">A<animate begin="11.8s" dur="1.2s" attributeName="x" from="613" to="363"/>
<animate begin="11.8s" dur="1.2s" attributeName="y" from="936" to="936"/>
</text>
</symbol>
<symbol id="vertAb">
<circle r="32" cx="500" cy="944" class="fixed"/>
<text class="blk" x="488" y="954">B</text>
</symbol>
<symbol id="vertAc">
<circle class="mover" r="32" cx="375" cy="926">
<animate begin="11.8s" dur="1.2s" attributeName="cx" from="375" to="625"/>
<animate begin="11.8s" dur="1.2s" attributeName="cy" from="926" to="926"/>
</circle>
<text class="blk" x="363" y="936">C<animate begin="11.8s" dur="1.2s" attributeName="x" from="363" to="613"/>
<animate begin="11.8s" dur="1.2s" attributeName="y" from="936" to="936"/>
</text>
</symbol>
<symbol id="vertAd">
<circle class="mover" r="32" cx="260" cy="874">
<animate begin="10.6s" dur="1.2s" attributeName="cx" from="260" to="740"/>
<animate begin="10.6s" dur="1.2s" attributeName="cy" from="874" to="874"/>
</circle>
<text class="blk" x="248" y="884">D<animate begin="10.6s" dur="1.2s" attributeName="x" from="248" to="728"/>
<animate begin="10.6s" dur="1.2s" attributeName="y" from="884" to="884"/>
</text>
</symbol>
<symbol id="vertAe">
<circle class="mover" r="32" cx="164" cy="791">
<animate begin="9.4s" dur="1.2s" attributeName="cx" from="164" to="836"/>
<animate begin="9.4s" dur="1.2s" attributeName="cy" from="791" to="791"/>
</circle>
<text class="blk" x="152" y="801">E<animate begin="9.4s" dur="1.2s" attributeName="x" from="152" to="824"/>
<animate begin="9.4s" dur="1.2s" attributeName="y" from="801" to="801"/>
</text>
</symbol>
<symbol id="vertAf">
<circle class="mover" r="32" cx="96" cy="684">
<animate begin="8.2s" dur="1.2s" attributeName="cx" from="96" to="904"/>
<animate begin="8.2s" dur="1.2s" attributeName="cy" from="684" to="684"/>
</circle>
<text class="blk" x="84" y="694">F<animate begin="8.2s" dur="1.2s" attributeName="x" from="84" to="892"/>
<animate begin="8.2s" dur="1.2s" attributeName="y" from="694" to="694"/>
</text>
</symbol>
<symbol id="vertAg">
<circle class="mover" r="32" cx="61" cy="563">
<animate begin="7s" dur="1.2s" attributeName="cx" from="61" to="939"/>
<animate begin="7s" dur="1.2s" attributeName="cy" from="563" to="563"/>
</circle>
<text class="blk" x="49" y="573">G<animate begin="7s" dur="1.2s" attributeName="x" from="49" to="927"/>
<animate begin="7s" dur="1.2s" attributeName="y" from="573" to="573"/>
</text>
</symbol>
<symbol id="vertAh">
<circle class="mover" r="32" cx="61" cy="437">
<animate begin="5.8s" dur="1.2s" attributeName="cx" from="61" to="939"/>
<animate begin="5.8s" dur="1.2s" attributeName="cy" from="437" to="437"/>
</circle>
<text class="blk" x="49" y="447">H<animate begin="5.8s" dur="1.2s" attributeName="x" from="49" to="927"/>
<animate begin="5.8s" dur="1.2s" attributeName="y" from="447" to="447"/>
</text>
</symbol>
<symbol id="vertAi">
<circle class="mover" r="32" cx="96" cy="316">
<animate begin="4.6s" dur="1.2s" attributeName="cx" from="96" to="904"/>
<animate begin="4.6s" dur="1.2s" attributeName="cy" from="316" to="316"/>
</circle>
<text class="blk" x="84" y="326">I<animate begin="4.6s" dur="1.2s" attributeName="x" from="84" to="892"/>
<animate begin="4.6s" dur="1.2s" attributeName="y" from="326" to="326"/>
</text>
</symbol>
<symbol id="vertAj">
<circle class="mover" r="32" cx="164" cy="209">
<animate begin="3.4s" dur="1.2s" attributeName="cx" from="164" to="836"/>
<animate begin="3.4s" dur="1.2s" attributeName="cy" from="209" to="209"/>
</circle>
<text class="blk" x="152" y="219">J<animate begin="3.4s" dur="1.2s" attributeName="x" from="152" to="824"/>
<animate begin="3.4s" dur="1.2s" attributeName="y" from="219" to="219"/>
</text>
</symbol>
<symbol id="vertAk">
<circle class="mover" r="32" cx="260" cy="126">
<animate begin="2.2s" dur="1.2s" attributeName="cx" from="260" to="740"/>
<animate begin="2.2s" dur="1.2s" attributeName="cy" from="126" to="126"/>
</circle>
<text class="blk" x="248" y="136">K<animate begin="2.2s" dur="1.2s" attributeName="x" from="248" to="728"/>
<animate begin="2.2s" dur="1.2s" attributeName="y" from="136" to="136"/>
</text>
</symbol>
<symbol id="vertAl">
<circle class="mover" r="32" cx="375" cy="74">
<animate begin="1s" dur="1.2s" attributeName="cx" from="375" to="625"/>
<animate begin="1s" dur="1.2s" attributeName="cy" from="74" to="74"/>
</circle>
<text class="blk" x="363" y="84">L<animate begin="1s" dur="1.2s" attributeName="x" from="363" to="613"/>
<animate begin="1s" dur="1.2s" attributeName="y" from="84" to="84"/>
</text>
</symbol>
</defs>
<g>
<line class="mover" x1="500" y1="56" x2="625" y2="74">
<animate begin="1s" dur="1.2s" attributeName="x2" from="625" to="375"/>
<animate begin="1s" dur="1.2s" attributeName="y2" from="74" to="74"/>
</line>
<line x1="500" y1="56" x2="500" y2="944" class="fixed"/>
<line class="mover" x1="500" y1="56" x2="375" y2="74">
<animate begin="1s" dur="1.2s" attributeName="x2" from="375" to="625"/>
<animate begin="1s" dur="1.2s" attributeName="y2" from="74" to="74"/>
</line>
<line class="mover" x1="625" y1="74" x2="740" y2="126">
<animate begin="1s" dur="1.2s" attributeName="x1" from="625" to="375"/>
<animate begin="1s" dur="1.2s" attributeName="y1" from="74" to="74"/>
<animate begin="1s" dur="1.2s" attributeName="x2" from="740" to="260"/>
<animate begin="1s" dur="1.2s" attributeName="y2" from="126" to="126"/>
</line>
<line class="mover" x1="625" y1="74" x2="61" y2="437">
<animate begin="1s" dur="1.2s" attributeName="x1" from="625" to="375"/>
<animate begin="1s" dur="1.2s" attributeName="y1" from="74" to="74"/>
<animate begin="1s" dur="1.2s" attributeName="x2" from="61" to="939"/>
<animate begin="1s" dur="1.2s" attributeName="y2" from="437" to="437"/>
</line>
<line class="mover" x1="740" y1="126" x2="836" y2="209">
<animate begin="2.2s" dur="1.2s" attributeName="x1" from="740" to="260"/>
<animate begin="2.2s" dur="1.2s" attributeName="y1" from="126" to="126"/>
<animate begin="2.2s" dur="1.2s" attributeName="x2" from="836" to="164"/>
<animate begin="2.2s" dur="1.2s" attributeName="y2" from="209" to="209"/>
</line>
<line class="mover" x1="740" y1="126" x2="904" y2="684">
<animate begin="2.2s" dur="1.2s" attributeName="x1" from="740" to="260"/>
<animate begin="2.2s" dur="1.2s" attributeName="y1" from="126" to="126"/>
<animate begin="2.2s" dur="1.2s" attributeName="x2" from="904" to="96"/>
<animate begin="2.2s" dur="1.2s" attributeName="y2" from="684" to="684"/>
</line>
<line class="mover" x1="836" y1="209" x2="904" y2="316">
<animate begin="3.4s" dur="1.2s" attributeName="x1" from="836" to="164"/>
<animate begin="3.4s" dur="1.2s" attributeName="y1" from="209" to="209"/>
<animate begin="3.4s" dur="1.2s" attributeName="x2" from="904" to="96"/>
<animate begin="3.4s" dur="1.2s" attributeName="y2" from="316" to="316"/>
</line>
<line class="mover" x1="836" y1="209" x2="625" y2="926">
<animate begin="3.4s" dur="1.2s" attributeName="x1" from="836" to="164"/>
<animate begin="3.4s" dur="1.2s" attributeName="y1" from="209" to="209"/>
<animate begin="3.4s" dur="1.2s" attributeName="x2" from="625" to="375"/>
<animate begin="3.4s" dur="1.2s" attributeName="y2" from="926" to="926"/>
</line>
<line class="mover" x1="904" y1="316" x2="939" y2="437">
<animate begin="4.6s" dur="1.2s" attributeName="x1" from="904" to="96"/>
<animate begin="4.6s" dur="1.2s" attributeName="y1" from="316" to="316"/>
<animate begin="4.6s" dur="1.2s" attributeName="x2" from="939" to="61"/>
<animate begin="4.6s" dur="1.2s" attributeName="y2" from="437" to="437"/>
</line>
<line class="mover" x1="904" y1="316" x2="260" y2="874">
<animate begin="4.6s" dur="1.2s" attributeName="x1" from="904" to="96"/>
<animate begin="4.6s" dur="1.2s" attributeName="y1" from="316" to="316"/>
<animate begin="4.6s" dur="1.2s" attributeName="x2" from="260" to="740"/>
<animate begin="4.6s" dur="1.2s" attributeName="y2" from="874" to="874"/>
</line>
<line class="mover" x1="939" y1="437" x2="939" y2="563">
<animate begin="5.8s" dur="1.2s" attributeName="x1" from="939" to="61"/>
<animate begin="5.8s" dur="1.2s" attributeName="y1" from="437" to="437"/>
<animate begin="5.8s" dur="1.2s" attributeName="x2" from="939" to="61"/>
<animate begin="5.8s" dur="1.2s" attributeName="y2" from="563" to="563"/>
</line>
<line class="mover" x1="939" y1="437" x2="375" y2="74">
<animate begin="5.8s" dur="1.2s" attributeName="x1" from="939" to="61"/>
<animate begin="5.8s" dur="1.2s" attributeName="y1" from="437" to="437"/>
<animate begin="5.8s" dur="1.2s" attributeName="x2" from="375" to="625"/>
<animate begin="5.8s" dur="1.2s" attributeName="y2" from="74" to="74"/>
</line>
<line class="mover" x1="939" y1="563" x2="904" y2="684">
<animate begin="7s" dur="1.2s" attributeName="x1" from="939" to="61"/>
<animate begin="7s" dur="1.2s" attributeName="y1" from="563" to="563"/>
<animate begin="7s" dur="1.2s" attributeName="x2" from="904" to="96"/>
<animate begin="7s" dur="1.2s" attributeName="y2" from="684" to="684"/>
</line>
<line class="mover" x1="939" y1="563" x2="61" y2="563">
<animate begin="7s" dur="1.2s" attributeName="x1" from="939" to="61"/>
<animate begin="7s" dur="1.2s" attributeName="y1" from="563" to="563"/>
<animate begin="7s" dur="1.2s" attributeName="x2" from="61" to="939"/>
<animate begin="7s" dur="1.2s" attributeName="y2" from="563" to="563"/>
</line>
<line class="mover" x1="904" y1="684" x2="836" y2="791">
<animate begin="8.2s" dur="1.2s" attributeName="x1" from="904" to="96"/>
<animate begin="8.2s" dur="1.2s" attributeName="y1" from="684" to="684"/>
<animate begin="8.2s" dur="1.2s" attributeName="x2" from="836" to="164"/>
<animate begin="8.2s" dur="1.2s" attributeName="y2" from="791" to="791"/>
</line>
<line class="mover" x1="836" y1="791" x2="740" y2="874">
<animate begin="9.4s" dur="1.2s" attributeName="x1" from="836" to="164"/>
<animate begin="9.4s" dur="1.2s" attributeName="y1" from="791" to="791"/>
<animate begin="9.4s" dur="1.2s" attributeName="x2" from="740" to="260"/>
<animate begin="9.4s" dur="1.2s" attributeName="y2" from="874" to="874"/>
</line>
<line class="mover" x1="836" y1="791" x2="164" y2="791">
<animate begin="9.4s" dur="1.2s" attributeName="x1" from="836" to="164"/>
<animate begin="9.4s" dur="1.2s" attributeName="y1" from="791" to="791"/>
<animate begin="9.4s" dur="1.2s" attributeName="x2" from="164" to="836"/>
<animate begin="9.4s" dur="1.2s" attributeName="y2" from="791" to="791"/>
</line>
<line class="mover" x1="740" y1="874" x2="625" y2="926">
<animate begin="10.6s" dur="1.2s" attributeName="x1" from="740" to="260"/>
<animate begin="10.6s" dur="1.2s" attributeName="y1" from="874" to="874"/>
<animate begin="10.6s" dur="1.2s" attributeName="x2" from="625" to="375"/>
<animate begin="10.6s" dur="1.2s" attributeName="y2" from="926" to="926"/>
</line>
<line class="mover" x1="740" y1="874" x2="96" y2="316">
<animate begin="10.6s" dur="1.2s" attributeName="x1" from="740" to="260"/>
<animate begin="10.6s" dur="1.2s" attributeName="y1" from="874" to="874"/>
<animate begin="10.6s" dur="1.2s" attributeName="x2" from="96" to="904"/>
<animate begin="10.6s" dur="1.2s" attributeName="y2" from="316" to="316"/>
</line>
<line class="mover" x1="625" y1="926" x2="500" y2="944">
<animate begin="11.8s" dur="1.2s" attributeName="x1" from="625" to="375"/>
<animate begin="11.8s" dur="1.2s" attributeName="y1" from="926" to="926"/>
</line>
<line class="mover" x1="500" y1="944" x2="375" y2="926">
<animate begin="1s" dur="1.2s" attributeName="x2" from="375" to="625"/>
<animate begin="1s" dur="1.2s" attributeName="y2" from="926" to="926"/>
</line>
<line class="mover" x1="375" y1="926" x2="260" y2="874">
<animate begin="11.8s" dur="1.2s" attributeName="x1" from="375" to="625"/>
<animate begin="11.8s" dur="1.2s" attributeName="y1" from="926" to="926"/>
<animate begin="11.8s" dur="1.2s" attributeName="x2" from="260" to="740"/>
<animate begin="11.8s" dur="1.2s" attributeName="y2" from="874" to="874"/>
</line>
<line class="mover" x1="375" y1="926" x2="164" y2="209">
<animate begin="11.8s" dur="1.2s" attributeName="x1" from="375" to="625"/>
<animate begin="11.8s" dur="1.2s" attributeName="y1" from="926" to="926"/>
<animate begin="11.8s" dur="1.2s" attributeName="x2" from="164" to="836"/>
<animate begin="11.8s" dur="1.2s" attributeName="y2" from="209" to="209"/>
</line>
<line class="mover" x1="260" y1="874" x2="164" y2="791">
<animate begin="10.6s" dur="1.2s" attributeName="x1" from="260" to="740"/>
<animate begin="10.6s" dur="1.2s" attributeName="y1" from="874" to="874"/>
<animate begin="10.6s" dur="1.2s" attributeName="x2" from="164" to="836"/>
<animate begin="10.6s" dur="1.2s" attributeName="y2" from="791" to="791"/>
</line>
<line class="mover" x1="164" y1="791" x2="96" y2="684">
<animate begin="9.4s" dur="1.2s" attributeName="x1" from="164" to="836"/>
<animate begin="9.4s" dur="1.2s" attributeName="y1" from="791" to="791"/>
<animate begin="9.4s" dur="1.2s" attributeName="x2" from="96" to="904"/>
<animate begin="9.4s" dur="1.2s" attributeName="y2" from="684" to="684"/>
</line>
<line class="mover" x1="96" y1="684" x2="61" y2="563">
<animate begin="8.2s" dur="1.2s" attributeName="x1" from="96" to="904"/>
<animate begin="8.2s" dur="1.2s" attributeName="y1" from="684" to="684"/>
<animate begin="8.2s" dur="1.2s" attributeName="x2" from="61" to="939"/>
<animate begin="8.2s" dur="1.2s" attributeName="y2" from="563" to="563"/>
</line>
<line class="mover" x1="96" y1="684" x2="260" y2="126">
<animate begin="8.2s" dur="1.2s" attributeName="x1" from="96" to="904"/>
<animate begin="8.2s" dur="1.2s" attributeName="y1" from="684" to="684"/>
<animate begin="8.2s" dur="1.2s" attributeName="x2" from="260" to="740"/>
<animate begin="8.2s" dur="1.2s" attributeName="y2" from="126" to="126"/>
</line>
<line class="mover" x1="61" y1="563" x2="61" y2="437">
<animate begin="7s" dur="1.2s" attributeName="x1" from="61" to="939"/>
<animate begin="7s" dur="1.2s" attributeName="y1" from="563" to="563"/>
<animate begin="7s" dur="1.2s" attributeName="x2" from="61" to="939"/>
<animate begin="7s" dur="1.2s" attributeName="y2" from="437" to="437"/>
</line>
<line class="mover" x1="61" y1="437" x2="96" y2="316">
<animate begin="5.8s" dur="1.2s" attributeName="x1" from="61" to="939"/>
<animate begin="5.8s" dur="1.2s" attributeName="y1" from="437" to="437"/>
<animate begin="5.8s" dur="1.2s" attributeName="x2" from="96" to="904"/>
<animate begin="5.8s" dur="1.2s" attributeName="y2" from="316" to="316"/>
</line>
<line class="mover" x1="96" y1="316" x2="164" y2="209">
<animate begin="4.6s" dur="1.2s" attributeName="x1" from="96" to="904"/>
<animate begin="4.6s" dur="1.2s" attributeName="y1" from="316" to="316"/>
<animate begin="4.6s" dur="1.2s" attributeName="x2" from="164" to="836"/>
<animate begin="4.6s" dur="1.2s" attributeName="y2" from="209" to="209"/>
</line>
<line class="mover" x1="164" y1="209" x2="260" y2="126">
<animate begin="3.4s" dur="1.2s" attributeName="x1" from="164" to="836"/>
<animate begin="3.4s" dur="1.2s" attributeName="y1" from="209" to="209"/>
<animate begin="3.4s" dur="1.2s" attributeName="x2" from="260" to="740"/>
<animate begin="3.4s" dur="1.2s" attributeName="y2" from="126" to="126"/>
</line>
<line class="mover" x1="260" y1="126" x2="375" y2="74">
<animate begin="2.2s" dur="1.2s" attributeName="x1" from="260" to="740"/>
<animate begin="2.2s" dur="1.2s" attributeName="y1" from="126" to="126"/>
<animate begin="2.2s" dur="1.2s" attributeName="x2" from="375" to="625"/>
<animate begin="2.2s" dur="1.2s" attributeName="y2" from="74" to="74"/>
</line>
</g>
<g>
<polygon class="twist" points="625,926 375,926" marker-start="url(#arrow)" id="perm10"/>
<polygon class="twist" points="740,874 260,874" marker-start="url(#arrow)" id="perm9"/>
<polygon class="twist" points="836,791 164,791" marker-start="url(#arrow)" id="perm8"/>
<polygon class="twist" points="904,684 96,684" marker-start="url(#arrow)" id="perm7"/>
<polygon class="twist" points="939,563 61,563" marker-start="url(#arrow)" id="perm6"/>
<polygon class="twist" points="939,437 61,437" marker-start="url(#arrow)" id="perm5"/>
<polygon class="twist" points="904,316 96,316" marker-start="url(#arrow)" id="perm4"/>
<polygon class="twist" points="836,209 164,209" marker-start="url(#arrow)" id="perm3"/>
<polygon class="twist" points="740,126 260,126" marker-start="url(#arrow)" id="perm2"/>
<polygon class="twist" points="625,74 375,74" marker-start="url(#arrow)" id="perm1"/>
</g>
<g>
<use href="#vertA0" class="orb0"/>
<use href="#vertA1" class="orb0"/>
<use href="#vertA2" class="orb1"/>
<use href="#vertA3" class="orb1"/>
<use href="#vertA4" class="orb0"/>
<use href="#vertA5" class="orb0"/>
<use href="#vertA6" class="orb1"/>
<use href="#vertA7" class="orb1"/>
<use href="#vertA8" class="orb0"/>
<use href="#vertA9" class="orb0"/>
<use href="#vertAa" class="orb1"/>
<use href="#vertAb" class="orb1"/>
<use href="#vertAc" class="orb1"/>
<use href="#vertAd" class="orb0"/>
<use href="#vertAe" class="orb0"/>
<use href="#vertAf" class="orb1"/>
<use href="#vertAg" class="orb1"/>
<use href="#vertAh" class="orb0"/>
<use href="#vertAi" class="orb0"/>
<use href="#vertAj" class="orb1"/>
<use href="#vertAk" class="orb1"/>
<use href="#vertAl" class="orb0"/>
</g>
</svg>
</figure>
</p>
</div>
</div>
<p>Vertices 0 and B are absent from the permutation and unaffected. In other words its action permutes the sequence 0123456789ABCDEFGHIJKL into 0LKJIHGFEDCBA987654321 (stabilising 0 and B) as you'd expect of such a flipper. Hover over the image with your mouse to see the flip in action. Or click <span class="attend" onclick="reAni('G1')">here</span> to see the 10 components of the permutation acting in sequence. The part of the graph unaffected by the permutation is in red.</p>
<div class="blops">
<div class="blop">
<figure>
<figcaption>The twist permutation (leaving tetradic connections unaltered)</figcaption>
<svg id="G2" viewBox="0 0 1000 1000" width="400" height="400" xmlns="http://www.w3.org/2000/svg" onmouseover="Ani(this)">
<defs>
<symbol id="vertB0">
<circle class="mover" r="32" cx="500" cy="56">
<animate begin="1s" dur="6s" attributeName="cx" from="500" to="625"/>
<animate begin="1s" dur="6s" attributeName="cy" from="56" to="74"/>
</circle>
<text class="blk" x="488" y="66">0<animate begin="1s" dur="6s" attributeName="x" from="488" to="613"/>
<animate begin="1s" dur="6s" attributeName="y" from="66" to="84"/>
</text>
</symbol>
<symbol id="vertB1">
<circle class="mover" r="32" cx="625" cy="74">
<animate begin="1s" dur="6s" attributeName="cx" from="625" to="61"/>
<animate begin="1s" dur="6s" attributeName="cy" from="74" to="437"/>
</circle>
<text class="blk" x="613" y="84">1<animate begin="1s" dur="6s" attributeName="x" from="613" to="49"/>
<animate begin="1s" dur="6s" attributeName="y" from="84" to="447"/>
</text>
</symbol>
<symbol id="vertB2">
<circle class="mover" r="32" cx="740" cy="126">
<animate begin="7s" dur="6s" attributeName="cx" from="740" to="61"/>
<animate begin="7s" dur="6s" attributeName="cy" from="126" to="563"/>
</circle>
<text class="blk" x="728" y="136">2<animate begin="7s" dur="6s" attributeName="x" from="728" to="49"/>
<animate begin="7s" dur="6s" attributeName="y" from="136" to="573"/>
</text>
</symbol>
<symbol id="vertB3">
<circle class="mover" r="32" cx="836" cy="209">
<animate begin="7s" dur="6s" attributeName="cx" from="836" to="939"/>
<animate begin="7s" dur="6s" attributeName="cy" from="209" to="563"/>
</circle>
<text class="blk" x="824" y="219">3<animate begin="7s" dur="6s" attributeName="x" from="824" to="927"/>
<animate begin="7s" dur="6s" attributeName="y" from="219" to="573"/>
</text>
</symbol>
<symbol id="vertB4">
<circle class="mover" r="32" cx="904" cy="316">
<animate begin="1s" dur="6s" attributeName="cx" from="904" to="939"/>
<animate begin="1s" dur="6s" attributeName="cy" from="316" to="437"/>
</circle>
<text class="blk" x="892" y="326">4<animate begin="1s" dur="6s" attributeName="x" from="892" to="927"/>
<animate begin="1s" dur="6s" attributeName="y" from="326" to="447"/>
</text>
</symbol>
<symbol id="vertB5">
<circle class="mover" r="32" cx="939" cy="437">
<animate begin="1s" dur="6s" attributeName="cx" from="939" to="375"/>
<animate begin="1s" dur="6s" attributeName="cy" from="437" to="74"/>
</circle>
<text class="blk" x="927" y="447">5<animate begin="1s" dur="6s" attributeName="x" from="927" to="363"/>
<animate begin="1s" dur="6s" attributeName="y" from="447" to="84"/>
</text>
</symbol>
<symbol id="vertB6">
<circle class="mover" r="32" cx="939" cy="563">
<animate begin="7s" dur="6s" attributeName="cx" from="939" to="260"/>
<animate begin="7s" dur="6s" attributeName="cy" from="563" to="126"/>
</circle>
<text class="blk" x="927" y="573">6<animate begin="7s" dur="6s" attributeName="x" from="927" to="248"/>
<animate begin="7s" dur="6s" attributeName="y" from="573" to="136"/>
</text>
</symbol>
<symbol id="vertB7">
<circle class="mover" r="32" cx="904" cy="684">
<animate begin="7s" dur="6s" attributeName="cx" from="904" to="96"/>
<animate begin="7s" dur="6s" attributeName="cy" from="684" to="684"/>
</circle>
<text class="blk" x="892" y="694">7<animate begin="7s" dur="6s" attributeName="x" from="892" to="84"/>
<animate begin="7s" dur="6s" attributeName="y" from="694" to="694"/>
</text>
</symbol>
<symbol id="vertB8">
<circle class="mover" r="32" cx="836" cy="791">
<animate begin="1s" dur="6s" attributeName="cx" from="836" to="164"/>
<animate begin="1s" dur="6s" attributeName="cy" from="791" to="791"/>
</circle>
<text class="blk" x="824" y="801">8<animate begin="1s" dur="6s" attributeName="x" from="824" to="152"/>
<animate begin="1s" dur="6s" attributeName="y" from="801" to="801"/>
</text>
</symbol>
<symbol id="vertB9">
<circle class="mover" r="32" cx="740" cy="874">
<animate begin="1s" dur="6s" attributeName="cx" from="740" to="836"/>
<animate begin="1s" dur="6s" attributeName="cy" from="874" to="791"/>
</circle>
<text class="blk" x="728" y="884">9<animate begin="1s" dur="6s" attributeName="x" from="728" to="824"/>
<animate begin="1s" dur="6s" attributeName="y" from="884" to="801"/>
</text>
</symbol>
<symbol id="vertBa">
<circle class="mover" r="32" cx="625" cy="926">
<animate begin="7s" dur="6s" attributeName="cx" from="625" to="904"/>
<animate begin="7s" dur="6s" attributeName="cy" from="926" to="684"/>
</circle>
<text class="blk" x="613" y="936">A<animate begin="7s" dur="6s" attributeName="x" from="613" to="892"/>
<animate begin="7s" dur="6s" attributeName="y" from="936" to="694"/>
</text>
</symbol>
<symbol id="vertBb">
<circle class="mover" r="32" cx="500" cy="944">
<animate begin="7s" dur="6s" attributeName="cx" from="500" to="740"/>
<animate begin="7s" dur="6s" attributeName="cy" from="944" to="126"/>
</circle>
<text class="blk" x="488" y="954">B<animate begin="7s" dur="6s" attributeName="x" from="488" to="728"/>
<animate begin="7s" dur="6s" attributeName="y" from="954" to="136"/>
</text>
</symbol>
<symbol id="vertBc">
<circle class="mover" r="32" cx="375" cy="926">
<animate begin="7s" dur="6s" attributeName="cx" from="375" to="836"/>
<animate begin="7s" dur="6s" attributeName="cy" from="926" to="209"/>
</circle>
<text class="blk" x="363" y="936">C<animate begin="7s" dur="6s" attributeName="x" from="363" to="824"/>
<animate begin="7s" dur="6s" attributeName="y" from="936" to="219"/>
</text>
</symbol>
<symbol id="vertBd">
<circle class="mover" r="32" cx="260" cy="874">
<animate begin="1s" dur="6s" attributeName="cx" from="260" to="904"/>
<animate begin="1s" dur="6s" attributeName="cy" from="874" to="316"/>
</circle>
<text class="blk" x="248" y="884">D<animate begin="1s" dur="6s" attributeName="x" from="248" to="892"/>
<animate begin="1s" dur="6s" attributeName="y" from="884" to="326"/>
</text>
</symbol>
<symbol id="vertBe">
<circle class="mover" r="32" cx="164" cy="791">
<animate begin="1s" dur="6s" attributeName="cx" from="164" to="260"/>
<animate begin="1s" dur="6s" attributeName="cy" from="791" to="874"/>
</circle>
<text class="blk" x="152" y="801">E<animate begin="1s" dur="6s" attributeName="x" from="152" to="248"/>
<animate begin="1s" dur="6s" attributeName="y" from="801" to="884"/>
</text>
</symbol>
<symbol id="vertBf">
<circle class="mover" r="32" cx="96" cy="684">
<animate begin="7s" dur="6s" attributeName="cx" from="96" to="375"/>
<animate begin="7s" dur="6s" attributeName="cy" from="684" to="926"/>
</circle>
<text class="blk" x="84" y="694">F<animate begin="7s" dur="6s" attributeName="x" from="84" to="363"/>
<animate begin="7s" dur="6s" attributeName="y" from="694" to="936"/>
</text>
</symbol>
<symbol id="vertBg">
<circle class="mover" r="32" cx="61" cy="563">
<animate begin="7s" dur="6s" attributeName="cx" from="61" to="164"/>
<animate begin="7s" dur="6s" attributeName="cy" from="563" to="209"/>
</circle>
<text class="blk" x="49" y="573">G<animate begin="7s" dur="6s" attributeName="x" from="49" to="152"/>
<animate begin="7s" dur="6s" attributeName="y" from="573" to="219"/>
</text>
</symbol>
<symbol id="vertBh">
<circle class="mover" r="32" cx="61" cy="437">
<animate begin="1s" dur="6s" attributeName="cx" from="61" to="96"/>
<animate begin="1s" dur="6s" attributeName="cy" from="437" to="316"/>
</circle>
<text class="blk" x="49" y="447">H<animate begin="1s" dur="6s" attributeName="x" from="49" to="84"/>
<animate begin="1s" dur="6s" attributeName="y" from="447" to="326"/>
</text>
</symbol>
<symbol id="vertBi">
<circle class="mover" r="32" cx="96" cy="316">
<animate begin="1s" dur="6s" attributeName="cx" from="96" to="740"/>
<animate begin="1s" dur="6s" attributeName="cy" from="316" to="874"/>
</circle>
<text class="blk" x="84" y="326">I<animate begin="1s" dur="6s" attributeName="x" from="84" to="728"/>
<animate begin="1s" dur="6s" attributeName="y" from="326" to="884"/>
</text>
</symbol>
<symbol id="vertBj">
<circle class="mover" r="32" cx="164" cy="209">
<animate begin="7s" dur="6s" attributeName="cx" from="164" to="625"/>
<animate begin="7s" dur="6s" attributeName="cy" from="209" to="926"/>
</circle>
<text class="blk" x="152" y="219">J<animate begin="7s" dur="6s" attributeName="x" from="152" to="613"/>
<animate begin="7s" dur="6s" attributeName="y" from="219" to="936"/>
</text>
</symbol>
<symbol id="vertBk">
<circle class="mover" r="32" cx="260" cy="126">
<animate begin="7s" dur="6s" attributeName="cx" from="260" to="500"/>
<animate begin="7s" dur="6s" attributeName="cy" from="126" to="944"/>
</circle>
<text class="blk" x="248" y="136">K<animate begin="7s" dur="6s" attributeName="x" from="248" to="488"/>
<animate begin="7s" dur="6s" attributeName="y" from="136" to="954"/>
</text>
</symbol>
<symbol id="vertBl">
<circle class="mover" r="32" cx="375" cy="74">
<animate begin="1s" dur="6s" attributeName="cx" from="375" to="500"/>
<animate begin="1s" dur="6s" attributeName="cy" from="74" to="56"/>
</circle>
<text class="blk" x="363" y="84">L<animate begin="1s" dur="6s" attributeName="x" from="363" to="488"/>
<animate begin="1s" dur="6s" attributeName="y" from="84" to="66"/>
</text>
</symbol>
</defs>
<g>
<line class="mover"x1="500" y1="56" x2="625" y2="74">
<animate begin="1s" dur="6s" attributeName="x1" from="500" to="625"/>
<animate begin="1s" dur="6s" attributeName="y1" from="56" to="74"/>
<animate begin="1s" dur="6s" attributeName="x2" from="625" to="61"/>
<animate begin="1s" dur="6s" attributeName="y2" from="74" to="437"/>
</line>
<line class="mover"x1="500" y1="56" x2="500" y2="944">
<animate begin="1s" dur="6s" attributeName="x1" from="500" to="625"/>
<animate begin="1s" dur="6s" attributeName="y1" from="56" to="74"/>
<animate begin="1s" dur="6s" attributeName="x2" from="500" to="740"/>
<animate begin="1s" dur="6s" attributeName="y2" from="944" to="126"/>
</line>
<line class="mover"x1="500" y1="56" x2="375" y2="74">
<animate begin="1s" dur="6s" attributeName="x1" from="500" to="625"/>
<animate begin="1s" dur="6s" attributeName="y1" from="56" to="74"/>
<animate begin="1s" dur="6s" attributeName="x2" from="375" to="500"/>
<animate begin="1s" dur="6s" attributeName="y2" from="74" to="56"/>
</line>
<line class="mover"x1="625" y1="74" x2="740" y2="126">
<animate begin="1s" dur="6s" attributeName="x1" from="625" to="61"/>
<animate begin="1s" dur="6s" attributeName="y1" from="74" to="437"/>
<animate begin="1s" dur="6s" attributeName="x2" from="740" to="61"/>
<animate begin="1s" dur="6s" attributeName="y2" from="126" to="563"/>
</line>
<line class="mover"x1="625" y1="74" x2="61" y2="437">
<animate begin="1s" dur="6s" attributeName="x1" from="625" to="61"/>
<animate begin="1s" dur="6s" attributeName="y1" from="74" to="437"/>
<animate begin="1s" dur="6s" attributeName="x2" from="61" to="96"/>
<animate begin="1s" dur="6s" attributeName="y2" from="437" to="316"/>
</line>
<line class="mover"x1="740" y1="126" x2="836" y2="209">
<animate begin="7s" dur="6s" attributeName="x1" from="740" to="61"/>
<animate begin="7s" dur="6s" attributeName="y1" from="126" to="563"/>
<animate begin="7s" dur="6s" attributeName="x2" from="836" to="939"/>
<animate begin="7s" dur="6s" attributeName="y2" from="209" to="563"/>
</line>
<line class="mover"x1="740" y1="126" x2="904" y2="684">
<animate begin="7s" dur="6s" attributeName="x1" from="740" to="61"/>
<animate begin="7s" dur="6s" attributeName="y1" from="126" to="563"/>
<animate begin="7s" dur="6s" attributeName="x2" from="904" to="96"/>
<animate begin="7s" dur="6s" attributeName="y2" from="684" to="684"/>
</line>
<line class="mover"x1="836" y1="209" x2="904" y2="316">
<animate begin="7s" dur="6s" attributeName="x1" from="836" to="939"/>
<animate begin="7s" dur="6s" attributeName="y1" from="209" to="563"/>
<animate begin="7s" dur="6s" attributeName="x2" from="904" to="939"/>
<animate begin="7s" dur="6s" attributeName="y2" from="316" to="437"/>
</line>
<line class="mover"x1="836" y1="209" x2="625" y2="926">
<animate begin="7s" dur="6s" attributeName="x1" from="836" to="939"/>
<animate begin="7s" dur="6s" attributeName="y1" from="209" to="563"/>
<animate begin="7s" dur="6s" attributeName="x2" from="625" to="904"/>
<animate begin="7s" dur="6s" attributeName="y2" from="926" to="684"/>
</line>
<line class="mover"x1="904" y1="316" x2="939" y2="437">
<animate begin="1s" dur="6s" attributeName="x1" from="904" to="939"/>
<animate begin="1s" dur="6s" attributeName="y1" from="316" to="437"/>
<animate begin="1s" dur="6s" attributeName="x2" from="939" to="375"/>
<animate begin="1s" dur="6s" attributeName="y2" from="437" to="74"/>
</line>
<line class="mover"x1="904" y1="316" x2="260" y2="874">
<animate begin="1s" dur="6s" attributeName="x1" from="904" to="939"/>
<animate begin="1s" dur="6s" attributeName="y1" from="316" to="437"/>
<animate begin="1s" dur="6s" attributeName="x2" from="260" to="904"/>
<animate begin="1s" dur="6s" attributeName="y2" from="874" to="316"/>
</line>
<line class="mover"x1="939" y1="437" x2="939" y2="563">
<animate begin="1s" dur="6s" attributeName="x1" from="939" to="375"/>
<animate begin="1s" dur="6s" attributeName="y1" from="437" to="74"/>
<animate begin="1s" dur="6s" attributeName="x2" from="939" to="260"/>
<animate begin="1s" dur="6s" attributeName="y2" from="563" to="126"/>
</line>
<line class="mover"x1="939" y1="437" x2="375" y2="74">
<animate begin="1s" dur="6s" attributeName="x1" from="939" to="375"/>
<animate begin="1s" dur="6s" attributeName="y1" from="437" to="74"/>
<animate begin="1s" dur="6s" attributeName="x2" from="375" to="500"/>
<animate begin="1s" dur="6s" attributeName="y2" from="74" to="56"/>
</line>
<line class="mover"x1="939" y1="563" x2="904" y2="684">
<animate begin="7s" dur="6s" attributeName="x1" from="939" to="260"/>
<animate begin="7s" dur="6s" attributeName="y1" from="563" to="126"/>
<animate begin="7s" dur="6s" attributeName="x2" from="904" to="96"/>
<animate begin="7s" dur="6s" attributeName="y2" from="684" to="684"/>
</line>
<line class="mover"x1="939" y1="563" x2="61" y2="563">
<animate begin="7s" dur="6s" attributeName="x1" from="939" to="260"/>
<animate begin="7s" dur="6s" attributeName="y1" from="563" to="126"/>
<animate begin="7s" dur="6s" attributeName="x2" from="61" to="164"/>
<animate begin="7s" dur="6s" attributeName="y2" from="563" to="209"/>
</line>
<line class="mover"x1="904" y1="684" x2="836" y2="791">
<animate begin="7s" dur="6s" attributeName="x1" from="904" to="96"/>
<animate begin="7s" dur="6s" attributeName="y1" from="684" to="684"/>
<animate begin="7s" dur="6s" attributeName="x2" from="836" to="164"/>
<animate begin="7s" dur="6s" attributeName="y2" from="791" to="791"/>
</line>
<line class="mover"x1="836" y1="791" x2="740" y2="874">
<animate begin="1s" dur="6s" attributeName="x1" from="836" to="164"/>
<animate begin="1s" dur="6s" attributeName="y1" from="791" to="791"/>
<animate begin="1s" dur="6s" attributeName="x2" from="740" to="836"/>
<animate begin="1s" dur="6s" attributeName="y2" from="874" to="791"/>
</line>
<line class="mover"x1="836" y1="791" x2="164" y2="791">
<animate begin="1s" dur="6s" attributeName="x1" from="836" to="164"/>
<animate begin="1s" dur="6s" attributeName="y1" from="791" to="791"/>
<animate begin="1s" dur="6s" attributeName="x2" from="164" to="260"/>
<animate begin="1s" dur="6s" attributeName="y2" from="791" to="874"/>
</line>
<line class="mover"x1="740" y1="874" x2="625" y2="926">
<animate begin="1s" dur="6s" attributeName="x1" from="740" to="836"/>
<animate begin="1s" dur="6s" attributeName="y1" from="874" to="791"/>
<animate begin="1s" dur="6s" attributeName="x2" from="625" to="904"/>
<animate begin="1s" dur="6s" attributeName="y2" from="926" to="684"/>
</line>
<line class="mover"x1="740" y1="874" x2="96" y2="316">
<animate begin="1s" dur="6s" attributeName="x1" from="740" to="836"/>
<animate begin="1s" dur="6s" attributeName="y1" from="874" to="791"/>
<animate begin="1s" dur="6s" attributeName="x2" from="96" to="740"/>
<animate begin="1s" dur="6s" attributeName="y2" from="316" to="874"/>
</line>
<line class="mover"x1="625" y1="926" x2="500" y2="944">
<animate begin="7s" dur="6s" attributeName="x1" from="625" to="904"/>
<animate begin="7s" dur="6s" attributeName="y1" from="926" to="684"/>
<animate begin="7s" dur="6s" attributeName="x2" from="500" to="740"/>
<animate begin="7s" dur="6s" attributeName="y2" from="944" to="126"/>
</line>
<line class="mover"x1="500" y1="944" x2="375" y2="926">
<animate begin="7s" dur="6s" attributeName="x1" from="500" to="740"/>
<animate begin="7s" dur="6s" attributeName="y1" from="944" to="126"/>
<animate begin="7s" dur="6s" attributeName="x2" from="375" to="836"/>
<animate begin="7s" dur="6s" attributeName="y2" from="926" to="209"/>
</line>
<line class="mover"x1="375" y1="926" x2="260" y2="874">
<animate begin="7s" dur="6s" attributeName="x1" from="375" to="836"/>
<animate begin="7s" dur="6s" attributeName="y1" from="926" to="209"/>
<animate begin="7s" dur="6s" attributeName="x2" from="260" to="904"/>
<animate begin="7s" dur="6s" attributeName="y2" from="874" to="316"/>
</line>
<line class="mover"x1="375" y1="926" x2="164" y2="209">
<animate begin="7s" dur="6s" attributeName="x1" from="375" to="836"/>
<animate begin="7s" dur="6s" attributeName="y1" from="926" to="209"/>
<animate begin="7s" dur="6s" attributeName="x2" from="164" to="625"/>
<animate begin="7s" dur="6s" attributeName="y2" from="209" to="926"/>
</line>
<line class="mover"x1="260" y1="874" x2="164" y2="791">
<animate begin="1s" dur="6s" attributeName="x1" from="260" to="904"/>
<animate begin="1s" dur="6s" attributeName="y1" from="874" to="316"/>
<animate begin="1s" dur="6s" attributeName="x2" from="164" to="260"/>
<animate begin="1s" dur="6s" attributeName="y2" from="791" to="874"/>
</line>
<line class="mover"x1="164" y1="791" x2="96" y2="684">
<animate begin="1s" dur="6s" attributeName="x1" from="164" to="260"/>
<animate begin="1s" dur="6s" attributeName="y1" from="791" to="874"/>
<animate begin="1s" dur="6s" attributeName="x2" from="96" to="375"/>
<animate begin="1s" dur="6s" attributeName="y2" from="684" to="926"/>
</line>
<line class="mover"x1="96" y1="684" x2="61" y2="563">
<animate begin="7s" dur="6s" attributeName="x1" from="96" to="375"/>
<animate begin="7s" dur="6s" attributeName="y1" from="684" to="926"/>
<animate begin="7s" dur="6s" attributeName="x2" from="61" to="164"/>
<animate begin="7s" dur="6s" attributeName="y2" from="563" to="209"/>
</line>
<line class="mover"x1="96" y1="684" x2="260" y2="126">
<animate begin="7s" dur="6s" attributeName="x1" from="96" to="375"/>
<animate begin="7s" dur="6s" attributeName="y1" from="684" to="926"/>
<animate begin="7s" dur="6s" attributeName="x2" from="260" to="500"/>
<animate begin="7s" dur="6s" attributeName="y2" from="126" to="944"/>
</line>
<line class="mover"x1="61" y1="563" x2="61" y2="437">
<animate begin="7s" dur="6s" attributeName="x1" from="61" to="164"/>
<animate begin="7s" dur="6s" attributeName="y1" from="563" to="209"/>
<animate begin="7s" dur="6s" attributeName="x2" from="61" to="96"/>
<animate begin="7s" dur="6s" attributeName="y2" from="437" to="316"/>
</line>
<line class="mover"x1="61" y1="437" x2="96" y2="316">
<animate begin="1s" dur="6s" attributeName="x1" from="61" to="96"/>
<animate begin="1s" dur="6s" attributeName="y1" from="437" to="316"/>
<animate begin="1s" dur="6s" attributeName="x2" from="96" to="740"/>
<animate begin="1s" dur="6s" attributeName="y2" from="316" to="874"/>
</line>
<line class="mover"x1="96" y1="316" x2="164" y2="209">
<animate begin="1s" dur="6s" attributeName="x1" from="96" to="740"/>
<animate begin="1s" dur="6s" attributeName="y1" from="316" to="874"/>
<animate begin="1s" dur="6s" attributeName="x2" from="164" to="625"/>
<animate begin="1s" dur="6s" attributeName="y2" from="209" to="926"/>
</line>
<line class="mover"x1="164" y1="209" x2="260" y2="126">
<animate begin="7s" dur="6s" attributeName="x1" from="164" to="625"/>
<animate begin="7s" dur="6s" attributeName="y1" from="209" to="926"/>
<animate begin="7s" dur="6s" attributeName="x2" from="260" to="500"/>
<animate begin="7s" dur="6s" attributeName="y2" from="126" to="944"/>
</line>
<line class="mover"x1="260" y1="126" x2="375" y2="74">
<animate begin="7s" dur="6s" attributeName="x1" from="260" to="500"/>
<animate begin="7s" dur="6s" attributeName="y1" from="126" to="944"/>
<animate begin="7s" dur="6s" attributeName="x2" from="375" to="500"/>
<animate begin="7s" dur="6s" attributeName="y2" from="74" to="56"/>
</line>
</g>
<g>
<polygon class="twist" points="740,126 61,563 164,209 625,926 904,684 96,684 375,926 836,209 939,563 260,126 500,944" marker-start="url(#arrow)" id="perm2a"/>
<polygon class="twist" points="500,56 625,74 61,437 96,316 740,874 836,791 164,791 260,874 904,316 939,437 375,74" marker-start="url(#arrow)" id="perm1a"/>
</g>
<g>
<use href="#vertB0" class="orb0"/>
<use href="#vertB1" class="orb0"/>
<use href="#vertB2" class="orb1"/>
<use href="#vertB3" class="orb1"/>
<use href="#vertB4" class="orb0"/>
<use href="#vertB5" class="orb0"/>
<use href="#vertB6" class="orb1"/>
<use href="#vertB7" class="orb1"/>
<use href="#vertB8" class="orb0"/>
<use href="#vertB9" class="orb0"/>
<use href="#vertBa" class="orb1"/>
<use href="#vertBb" class="orb1"/>
<use href="#vertBc" class="orb1"/>
<use href="#vertBd" class="orb0"/>
<use href="#vertBe" class="orb0"/>
<use href="#vertBf" class="orb1"/>
<use href="#vertBg" class="orb1"/>
<use href="#vertBh" class="orb0"/>
<use href="#vertBi" class="orb0"/>
<use href="#vertBj" class="orb1"/>
<use href="#vertBk" class="orb1"/>
<use href="#vertBl" class="orb0"/>
</g>
</svg>
</figure>
</div>
<div class="blop">
<p>The second generator is harder to see because the twist's rotation takes place around a pair of 11-gonal paths which - due to the tetradic connectivity of the graph - is somewhat tortuously buried within the 22-gon. They're showing as two, blue and green, polygons. The cyclic permutation notation describes the simultaneous rotation through that pair of 11-gons. The first cycle moves vertex 0 to vertex 1, vertex 1 to vertex H, vertex H to vertex I, I to 9, 9 to 8 etc all the way around until the final move from vertex L to vertex 0. All vertices are moved by this operation (hence no red pieces). The group action maps the vertices 0123456789ABCDEFGHIJKL to 1HG65LKFE87234DCJI9AB0. Click <span class="attend" onclick="reAni('G2');reAni('G3');">here</span> to see the two component permutations in sequence, or hover over the figure to see the complete action.</p>
</div>
</div>
<!--
0123456789ABCDEFGHIJKL
BBGGBBGGBBGGGBBGGBBGGB
01AEJKD6547BFIHG9238CL
01HI987AJG2BK63CFED45L
-->
<div class="blops">
<div class="blop">
<p>Certainly the graph may be re-presented to show the rotations more clearly - at the expense of making the Hamiltonian circuit hard to apprehend. Relabelling the vertices, as in the following graph, effectively disentangles the 11-gons. The original Hamiltonian circuit is still there, traced along the blue edges via 0123456789ABCDEFGHIJKL as before, but is no longer on the circumference.</p>
<p>The Hamiltonian circuit jumps back and forth between the two orbits, as in fig. 6, and is not itself an orbit of the group. The only thing the group <em>does</em> do for us, musically speaking, is ensure that - by its operations - it maintains a cycle of hexads (which may be changed by the operation) where adjacent hexads always have a common tetrad (which may also changed by the operation). The group has no idea it's doing this for us, all it 'knows' is that the cubic graph - of which it's an automorphism - is structured the way it is, and that it will preserve that structure.</p>
</div>
<div class="blop">
<figure>
<figcaption>The twist (rotation) permutation on a relabeled graph</figcaption>
<svg id="G3" viewBox="0 0 1000 1000" width="400" height="400" xmlns="http://www.w3.org/2000/svg" onmouseover="Ani(this)">
<defs>
<symbol id="vertC0">
<circle r="32" cx="500" cy="36" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="500" to="631"/>
<animate begin="1s" dur="6s" attributeName="cy" from="36" to="55"/>
</circle>
<text x="488" y="46" class="blk">0<animate begin="1s" dur="6s" attributeName="x" from="488" to="619"/>
<animate begin="1s" dur="6s" attributeName="y" from="46" to="65"/>
</text>
</symbol>
<symbol id="vertC1">
<circle r="32" cx="631" cy="55" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="631" to="751"/>
<animate begin="1s" dur="6s" attributeName="cy" from="55" to="110"/>
</circle>
<text x="619" y="65" class="blk">1<animate begin="1s" dur="6s" attributeName="x" from="619" to="739"/>
<animate begin="1s" dur="6s" attributeName="y" from="65" to="120"/>
</text>
</symbol>
<symbol id="vertC2">
<circle r="32" cx="751" cy="110" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="751" to="851"/>
<animate begin="1s" dur="6s" attributeName="cy" from="110" to="196"/>
</circle>
<text x="739" y="120" class="blk">H<animate begin="1s" dur="6s" attributeName="x" from="739" to="839"/>
<animate begin="1s" dur="6s" attributeName="y" from="120" to="206"/>
</text>
</symbol>
<symbol id="vertC3">
<circle r="32" cx="851" cy="196" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="851" to="922"/>
<animate begin="1s" dur="6s" attributeName="cy" from="196" to="307"/>
</circle>
<text x="839" y="206" class="blk">I<animate begin="1s" dur="6s" attributeName="x" from="839" to="910"/>
<animate begin="1s" dur="6s" attributeName="y" from="206" to="317"/>
</text>
</symbol>
<symbol id="vertC4">
<circle r="32" cx="922" cy="307" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="922" to="959"/>
<animate begin="1s" dur="6s" attributeName="cy" from="307" to="434"/>
</circle>
<text x="910" y="317" class="blk">9<animate begin="1s" dur="6s" attributeName="x" from="910" to="947"/>
<animate begin="1s" dur="6s" attributeName="y" from="317" to="444"/>
</text>
</symbol>
<symbol id="vertC5">
<circle r="32" cx="959" cy="434" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="959" to="41"/>
<animate begin="1s" dur="6s" attributeName="cy" from="434" to="434"/>
</circle>
<text x="947" y="444" class="blk">8<animate begin="1s" dur="6s" attributeName="x" from="947" to="29"/>
<animate begin="1s" dur="6s" attributeName="y" from="444" to="444"/>
</text>
</symbol>
<symbol id="vertC6">
<circle r="32" cx="959" cy="566" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="959" to="41"/>
<animate begin="7s" dur="6s" attributeName="cy" from="566" to="566"/>
</circle>
<text x="947" y="576" class="blk">7<animate begin="7s" dur="6s" attributeName="x" from="947" to="29"/>
<animate begin="7s" dur="6s" attributeName="y" from="576" to="576"/>
</text>
</symbol>
<symbol id="vertC7">
<circle r="32" cx="922" cy="693" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="922" to="959"/>
<animate begin="7s" dur="6s" attributeName="cy" from="693" to="566"/>
</circle>
<text x="910" y="703" class="blk">A<animate begin="7s" dur="6s" attributeName="x" from="910" to="947"/>
<animate begin="7s" dur="6s" attributeName="y" from="703" to="576"/>
</text>
</symbol>
<symbol id="vertC8">
<circle r="32" cx="851" cy="804" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="851" to="922"/>
<animate begin="7s" dur="6s" attributeName="cy" from="804" to="693"/>
</circle>
<text x="839" y="814" class="blk">J<animate begin="7s" dur="6s" attributeName="x" from="839" to="910"/>
<animate begin="7s" dur="6s" attributeName="y" from="814" to="703"/>
</text>
</symbol>
<symbol id="vertC9">
<circle r="32" cx="751" cy="890" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="751" to="851"/>
<animate begin="7s" dur="6s" attributeName="cy" from="890" to="804"/>
</circle>
<text x="739" y="900" class="blk">G<animate begin="7s" dur="6s" attributeName="x" from="739" to="839"/>
<animate begin="7s" dur="6s" attributeName="y" from="900" to="814"/>
</text>
</symbol>
<symbol id="vertCa">
<circle r="32" cx="631" cy="945" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="631" to="751"/>
<animate begin="7s" dur="6s" attributeName="cy" from="945" to="890"/>
</circle>
<text x="619" y="955" class="blk">2<animate begin="7s" dur="6s" attributeName="x" from="619" to="739"/>
<animate begin="7s" dur="6s" attributeName="y" from="955" to="900"/>
</text>
</symbol>
<symbol id="vertCb">
<circle r="32" cx="500" cy="964" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="500" to="631"/>
<animate begin="7s" dur="6s" attributeName="cy" from="964" to="945"/>
</circle>
<text x="488" y="974" class="blk">B<animate begin="7s" dur="6s" attributeName="x" from="488" to="619"/>
<animate begin="7s" dur="6s" attributeName="y" from="974" to="955"/>
</text>
</symbol>
<symbol id="vertCc">
<circle r="32" cx="369" cy="945" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="369" to="500"/>
<animate begin="7s" dur="6s" attributeName="cy" from="945" to="964"/>
</circle>
<text x="357" y="955" class="blk">K<animate begin="7s" dur="6s" attributeName="x" from="357" to="488"/>
<animate begin="7s" dur="6s" attributeName="y" from="955" to="974"/>
</text>
</symbol>
<symbol id="vertCd">
<circle r="32" cx="249" cy="890" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="249" to="369"/>
<animate begin="7s" dur="6s" attributeName="cy" from="890" to="945"/>
</circle>
<text x="237" y="900" class="blk">6<animate begin="7s" dur="6s" attributeName="x" from="237" to="357"/>
<animate begin="7s" dur="6s" attributeName="y" from="900" to="955"/>
</text>
</symbol>
<symbol id="vertCe">
<circle r="32" cx="149" cy="804" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="149" to="249"/>
<animate begin="7s" dur="6s" attributeName="cy" from="804" to="890"/>
</circle>
<text x="137" y="814" class="blk">3<animate begin="7s" dur="6s" attributeName="x" from="137" to="237"/>
<animate begin="7s" dur="6s" attributeName="y" from="814" to="900"/>
</text>
</symbol>
<symbol id="vertCf">
<circle r="32" cx="78" cy="693" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="78" to="149"/>
<animate begin="7s" dur="6s" attributeName="cy" from="693" to="804"/>
</circle>
<text x="66" y="703" class="blk">C<animate begin="7s" dur="6s" attributeName="x" from="66" to="137"/>
<animate begin="7s" dur="6s" attributeName="y" from="703" to="814"/>
</text>
</symbol>
<symbol id="vertCg">
<circle r="32" cx="41" cy="566" class="mover">
<animate begin="7s" dur="6s" attributeName="cx" from="41" to="78"/>
<animate begin="7s" dur="6s" attributeName="cy" from="566" to="693"/>
</circle>
<text x="29" y="576" class="blk">F<animate begin="7s" dur="6s" attributeName="x" from="29" to="66"/>
<animate begin="7s" dur="6s" attributeName="y" from="576" to="703"/>
</text>
</symbol>
<symbol id="vertCh">
<circle r="32" cx="41" cy="434" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="41" to="78"/>
<animate begin="1s" dur="6s" attributeName="cy" from="434" to="307"/>
</circle>
<text x="29" y="444" class="blk">E<animate begin="1s" dur="6s" attributeName="x" from="29" to="66"/>
<animate begin="1s" dur="6s" attributeName="y" from="444" to="317"/>
</text>
</symbol>
<symbol id="vertCi">
<circle r="32" cx="78" cy="307" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="78" to="149"/>
<animate begin="1s" dur="6s" attributeName="cy" from="307" to="196"/>
</circle>
<text x="66" y="317" class="blk">D<animate begin="1s" dur="6s" attributeName="x" from="66" to="137"/>
<animate begin="1s" dur="6s" attributeName="y" from="317" to="206"/>
</text>
</symbol>
<symbol id="vertCj">
<circle r="32" cx="149" cy="196" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="149" to="249"/>
<animate begin="1s" dur="6s" attributeName="cy" from="196" to="110"/>
</circle>
<text x="137" y="206" class="blk">4<animate begin="1s" dur="6s" attributeName="x" from="137" to="237"/>
<animate begin="1s" dur="6s" attributeName="y" from="206" to="120"/>
</text>
</symbol>
<symbol id="vertCk">
<circle r="32" cx="249" cy="110" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="249" to="369"/>
<animate begin="1s" dur="6s" attributeName="cy" from="110" to="55"/>
</circle>
<text x="237" y="120" class="blk">5<animate begin="1s" dur="6s" attributeName="x" from="237" to="357"/>
<animate begin="1s" dur="6s" attributeName="y" from="120" to="65"/>
</text>
</symbol>
<symbol id="vertCl">
<circle r="32" cx="369" cy="55" class="mover">
<animate begin="1s" dur="6s" attributeName="cx" from="369" to="500"/>
<animate begin="1s" dur="6s" attributeName="cy" from="55" to="36"/>
</circle>
<text x="357" y="65" class="blk">L<animate begin="1s" dur="6s" attributeName="x" from="357" to="488"/>
<animate begin="1s" dur="6s" attributeName="y" from="65" to="46"/>
</text>
</symbol>
</defs>
<g>
<line x1="500" y1="36" x2="631" y2="55" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="500" to="631"/>
<animate begin="1s" dur="6s" attributeName="y1" from="36" to="55"/>
<animate begin="1s" dur="6s" attributeName="x2" from="631" to="751"/>
<animate begin="1s" dur="6s" attributeName="y2" from="55" to="110"/>
</line>
<line x1="500" y1="36" x2="500" y2="964" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="500" to="631"/>
<animate begin="1s" dur="6s" attributeName="y1" from="36" to="55"/>
<animate begin="1s" dur="6s" attributeName="x2" from="500" to="631"/>
<animate begin="1s" dur="6s" attributeName="y2" from="964" to="945"/>
</line>
<line x1="500" y1="36" x2="369" y2="55" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="500" to="631"/>
<animate begin="1s" dur="6s" attributeName="y1" from="36" to="55"/>
<animate begin="1s" dur="6s" attributeName="x2" from="369" to="500"/>
<animate begin="1s" dur="6s" attributeName="y2" from="55" to="36"/>
</line>
<line x1="631" y1="55" x2="631" y2="945" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="631" to="751"/>
<animate begin="1s" dur="6s" attributeName="y1" from="55" to="110"/>
<animate begin="1s" dur="6s" attributeName="x2" from="631" to="751"/>
<animate begin="1s" dur="6s" attributeName="y2" from="945" to="890"/>
</line>
<line x1="631" y1="55" x2="751" y2="110" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="631" to="751"/>
<animate begin="1s" dur="6s" attributeName="y1" from="55" to="110"/>
<animate begin="1s" dur="6s" attributeName="x2" from="751" to="851"/>
<animate begin="1s" dur="6s" attributeName="y2" from="110" to="196"/>
</line>
<line x1="631" y1="945" x2="149" y2="804" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="631" to="751"/>
<animate begin="7s" dur="6s" attributeName="y1" from="945" to="890"/>
<animate begin="7s" dur="6s" attributeName="x2" from="149" to="249"/>
<animate begin="7s" dur="6s" attributeName="y2" from="804" to="890"/>
</line>
<line x1="631" y1="945" x2="959" y2="566" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="631" to="751"/>
<animate begin="7s" dur="6s" attributeName="y1" from="945" to="890"/>
<animate begin="7s" dur="6s" attributeName="x2" from="959" to="41"/>
<animate begin="7s" dur="6s" attributeName="y2" from="566" to="566"/>
</line>
<line x1="149" y1="804" x2="149" y2="196" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="149" to="249"/>
<animate begin="7s" dur="6s" attributeName="y1" from="804" to="890"/>
<animate begin="7s" dur="6s" attributeName="x2" from="149" to="249"/>
<animate begin="7s" dur="6s" attributeName="y2" from="196" to="110"/>
</line>
<line x1="149" y1="804" x2="922" y2="693" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="149" to="249"/>
<animate begin="7s" dur="6s" attributeName="y1" from="804" to="890"/>
<animate begin="7s" dur="6s" attributeName="x2" from="922" to="959"/>
<animate begin="7s" dur="6s" attributeName="y2" from="693" to="566"/>
</line>
<line x1="149" y1="196" x2="249" y2="110" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="149" to="249"/>
<animate begin="1s" dur="6s" attributeName="y1" from="196" to="110"/>
<animate begin="1s" dur="6s" attributeName="x2" from="249" to="369"/>
<animate begin="1s" dur="6s" attributeName="y2" from="110" to="55"/>
</line>
<line x1="149" y1="196" x2="78" y2="307" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="149" to="249"/>
<animate begin="1s" dur="6s" attributeName="y1" from="196" to="110"/>
<animate begin="1s" dur="6s" attributeName="x2" from="78" to="149"/>
<animate begin="1s" dur="6s" attributeName="y2" from="307" to="196"/>
</line>
<line x1="249" y1="110" x2="249" y2="890" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="249" to="369"/>
<animate begin="1s" dur="6s" attributeName="y1" from="110" to="55"/>
<animate begin="1s" dur="6s" attributeName="x2" from="249" to="369"/>
<animate begin="1s" dur="6s" attributeName="y2" from="890" to="945"/>
</line>
<line x1="249" y1="110" x2="369" y2="55" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="249" to="369"/>
<animate begin="1s" dur="6s" attributeName="y1" from="110" to="55"/>
<animate begin="1s" dur="6s" attributeName="x2" from="369" to="500"/>
<animate begin="1s" dur="6s" attributeName="y2" from="55" to="36"/>
</line>
<line x1="249" y1="890" x2="959" y2="566" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="249" to="369"/>
<animate begin="7s" dur="6s" attributeName="y1" from="890" to="945"/>
<animate begin="7s" dur="6s" attributeName="x2" from="959" to="41"/>
<animate begin="7s" dur="6s" attributeName="y2" from="566" to="566"/>
</line>
<line x1="249" y1="890" x2="751" y2="890" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="249" to="369"/>
<animate begin="7s" dur="6s" attributeName="y1" from="890" to="945"/>
<animate begin="7s" dur="6s" attributeName="x2" from="751" to="851"/>
<animate begin="7s" dur="6s" attributeName="y2" from="890" to="804"/>
</line>
<line x1="959" y1="566" x2="959" y2="434" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="959" to="41"/>
<animate begin="7s" dur="6s" attributeName="y1" from="566" to="566"/>
<animate begin="7s" dur="6s" attributeName="x2" from="959" to="41"/>
<animate begin="7s" dur="6s" attributeName="y2" from="434" to="434"/>
</line>
<line x1="959" y1="434" x2="922" y2="307" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="959" to="41"/>
<animate begin="1s" dur="6s" attributeName="y1" from="434" to="434"/>
<animate begin="1s" dur="6s" attributeName="x2" from="922" to="959"/>
<animate begin="1s" dur="6s" attributeName="y2" from="307" to="434"/>
</line>
<line x1="959" y1="434" x2="41" y2="434" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="959" to="41"/>
<animate begin="1s" dur="6s" attributeName="y1" from="434" to="434"/>
<animate begin="1s" dur="6s" attributeName="x2" from="41" to="78"/>
<animate begin="1s" dur="6s" attributeName="y2" from="434" to="307"/>
</line>
<line x1="922" y1="307" x2="922" y2="693" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="922" to="959"/>
<animate begin="1s" dur="6s" attributeName="y1" from="307" to="434"/>
<animate begin="1s" dur="6s" attributeName="x2" from="922" to="959"/>
<animate begin="1s" dur="6s" attributeName="y2" from="693" to="566"/>
</line>
<line x1="922" y1="307" x2="851" y2="196" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="922" to="959"/>
<animate begin="1s" dur="6s" attributeName="y1" from="307" to="434"/>
<animate begin="1s" dur="6s" attributeName="x2" from="851" to="922"/>
<animate begin="1s" dur="6s" attributeName="y2" from="196" to="307"/>
</line>
<line x1="922" y1="693" x2="500" y2="964" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="922" to="959"/>
<animate begin="7s" dur="6s" attributeName="y1" from="693" to="566"/>
<animate begin="7s" dur="6s" attributeName="x2" from="500" to="631"/>
<animate begin="7s" dur="6s" attributeName="y2" from="964" to="945"/>
</line>
<line x1="500" y1="964" x2="78" y2="693" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="500" to="631"/>
<animate begin="7s" dur="6s" attributeName="y1" from="964" to="945"/>
<animate begin="7s" dur="6s" attributeName="x2" from="78" to="149"/>
<animate begin="7s" dur="6s" attributeName="y2" from="693" to="804"/>
</line>
<line x1="78" y1="693" x2="78" y2="307" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="78" to="149"/>
<animate begin="7s" dur="6s" attributeName="y1" from="693" to="804"/>
<animate begin="7s" dur="6s" attributeName="x2" from="78" to="149"/>
<animate begin="7s" dur="6s" attributeName="y2" from="307" to="196"/>
</line>
<line x1="78" y1="693" x2="851" y2="804" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="78" to="149"/>
<animate begin="7s" dur="6s" attributeName="y1" from="693" to="804"/>
<animate begin="7s" dur="6s" attributeName="x2" from="851" to="922"/>
<animate begin="7s" dur="6s" attributeName="y2" from="804" to="693"/>
</line>
<line x1="78" y1="307" x2="41" y2="434" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="78" to="149"/>
<animate begin="1s" dur="6s" attributeName="y1" from="307" to="196"/>
<animate begin="1s" dur="6s" attributeName="x2" from="41" to="78"/>
<animate begin="1s" dur="6s" attributeName="y2" from="434" to="307"/>
</line>
<line x1="41" y1="434" x2="41" y2="566" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="41" to="78"/>
<animate begin="1s" dur="6s" attributeName="y1" from="434" to="307"/>
<animate begin="1s" dur="6s" attributeName="x2" from="41" to="78"/>
<animate begin="1s" dur="6s" attributeName="y2" from="566" to="693"/>
</line>
<line x1="41" y1="566" x2="751" y2="890" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="41" to="78"/>
<animate begin="7s" dur="6s" attributeName="y1" from="566" to="693"/>
<animate begin="7s" dur="6s" attributeName="x2" from="751" to="851"/>
<animate begin="7s" dur="6s" attributeName="y2" from="890" to="804"/>
</line>
<line x1="41" y1="566" x2="369" y2="945" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="41" to="78"/>
<animate begin="7s" dur="6s" attributeName="y1" from="566" to="693"/>
<animate begin="7s" dur="6s" attributeName="x2" from="369" to="500"/>
<animate begin="7s" dur="6s" attributeName="y2" from="945" to="964"/>
</line>
<line x1="751" y1="890" x2="751" y2="110" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="751" to="851"/>
<animate begin="7s" dur="6s" attributeName="y1" from="890" to="804"/>
<animate begin="7s" dur="6s" attributeName="x2" from="751" to="851"/>
<animate begin="7s" dur="6s" attributeName="y2" from="110" to="196"/>
</line>
<line x1="751" y1="110" x2="851" y2="196" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="751" to="851"/>
<animate begin="1s" dur="6s" attributeName="y1" from="110" to="196"/>
<animate begin="1s" dur="6s" attributeName="x2" from="851" to="922"/>
<animate begin="1s" dur="6s" attributeName="y2" from="196" to="307"/>
</line>
<line x1="851" y1="196" x2="851" y2="804" class="mover">
<animate begin="1s" dur="6s" attributeName="x1" from="851" to="922"/>
<animate begin="1s" dur="6s" attributeName="y1" from="196" to="307"/>
<animate begin="1s" dur="6s" attributeName="x2" from="851" to="922"/>
<animate begin="1s" dur="6s" attributeName="y2" from="804" to="693"/>
</line>
<line x1="851" y1="804" x2="369" y2="945" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="851" to="922"/>
<animate begin="7s" dur="6s" attributeName="y1" from="804" to="693"/>
<animate begin="7s" dur="6s" attributeName="x2" from="369" to="500"/>
<animate begin="7s" dur="6s" attributeName="y2" from="945" to="964"/>
</line>
<line x1="369" y1="945" x2="369" y2="55" class="mover">
<animate begin="7s" dur="6s" attributeName="x1" from="369" to="500"/>
<animate begin="7s" dur="6s" attributeName="y1" from="945" to="964"/>
<animate begin="7s" dur="6s" attributeName="x2" from="369" to="500"/>
<animate begin="7s" dur="6s" attributeName="y2" from="55" to="36"/>
</line>
</g>
<g>
<polygon class="twist" points="631,945 751,890 851,804 922,693 959,566 41,566 78,693 149,804 249,890 369,945 500,964" marker-start="url(#arrow)" id="perm2"/>
<polygon class="twist" points="500,36 631,55 751,110 851,196 922,307 959,434 41,434 78,307 149,196 249,110 369,55" marker-start="url(#arrow)" id="perm1"/>
</g>
<g>
<use href="#vertC0" class="orb0" transform="" style=""/>
<use href="#vertC1" class="orb0" transform="" style=""/>
<use href="#vertC2" class="orb0" transform="" style=""/>
<use href="#vertC3" class="orb0" transform="" style=""/>
<use href="#vertC4" class="orb0" transform="" style=""/>
<use href="#vertC5" class="orb0" transform="" style=""/>
<use href="#vertC6" class="orb1" transform="" style=""/>
<use href="#vertC7" class="orb1" transform="" style=""/>
<use href="#vertC8" class="orb1" transform="" style=""/>
<use href="#vertC9" class="orb1" transform="" style=""/>
<use href="#vertCa" class="orb1" transform="" style=""/>
<use href="#vertCb" class="orb1" transform="" style=""/>
<use href="#vertCc" class="orb1" transform="" style=""/>
<use href="#vertCd" class="orb1" transform="" style=""/>
<use href="#vertCe" class="orb1" transform="" style=""/>
<use href="#vertCf" class="orb1" transform="" style=""/>
<use href="#vertCg" class="orb1" transform="" style=""/>
<use href="#vertCh" class="orb0" transform="" style=""/>
<use href="#vertCi" class="orb0" transform="" style=""/>
<use href="#vertCj" class="orb0" transform="" style=""/>
<use href="#vertCk" class="orb0" transform="" style=""/>
<use href="#vertCl" class="orb0" transform="" style=""/>
</g>
</svg>
</figure>
</div>
</div>
<p>
The identity permutation - formally (0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L) but abbreviated to () since permutations which move something to itself are conventionally omitted - and the two generator permutations (1L)(2K)(3J)(4I)(5H)(6G)(7F)(8E)(9D)(AC) and (01HI98ED45L)(2GJA7FC36KB) are only three of the twenty two elements of this group.
</p>
<p>We can usefully notate those operations as 'e' for the identity (it's a convention), as 'f' for the flip and as 'r' for the twist/rotator permutations. In particular, r twists its way around the two eleven stage zig-zaggy polygonal paths - not the single twenty-two stage circumference. Don't be overly misled by the term 'rotation'.</p>
<p>You may even, if so inclined, write r as the product of two mutually exclusive, non-interfering, rotations 'p' and 'q' - respectively the permutation cycles (01HI98ED45L) - the blue 11-gon - and (2GJA7FC36KB) - the green one. Acting independently their product, r = pq = qp, is commutative. One sees that p<sup>2</sup> = (0H9E4L1I8D5), that q<sup>2</sup> = (2J7C6BGAF3K) and hence that r<sup>2</sup> = p<sup>2</sup>q<sup>2</sup> = q<sup>2</sup>p<sup>2</sup> - and so on, for higher powers.</p>
<p>Reversing the strings inside the parentheses inverts the operation, explaining why 'flippers' involving solely permutation cycles of length two are self-inverting. Thus r<sup>-1</sup> = p<sup>-1</sup>q<sup>-1</sup> = (0L54DE89IH1)(2BK63CF7AJG). So a flip followed by a rotation followed by a further flip is equivalent to the reverse rotation - true of all dihedrals.</p>
<p>You might also have noticed that p itself is a Hamiltonian cycle of length 11 - eleven of the blue cubic graph's edges form its 'circumference'. We also see that q is <em>not</em> a Hamiltonian, but that q<sup>4</sup> = (276GFKJCBA3) <em>is</em> a Hamiltonian (as is, naturally, q<sup>-4</sup>).</p>
<p>The following table shows all 22 of the group's elements written in terms of r and f, their orders (i.e. how many of that operation would have to be performed in sequence to be equivalent to the identity), the equivalent permutation product (in cycle notation) and the vertex action (the resulting reorder if the group were acting on a set of vertex labels).</p>
<p>
Bear in mind that the labels on the vertices are there for our convenience only - the group operations 'see' only a bunch of (in this case 22) points abstractly linked with each other (with, in this case, 33 relations) for 'whatever reason'. There's no 'geography' but only an invariant structure which can be operated upon in 22 distinct ways whilst preserving their connectivities in exactly the same symmetric pattern.</p>
<figure>
<figcaption>The (D<sub>22</sub>) Automorphism Group's 22 Operations</figcaption>
<table cellspacing="0" cellpadding="2em">
<thead>
<tr>
<th>operation</th>
<th>order</th>
<th>permutation</th>
<th>vertex action</th>
</tr>
</thead>
<tbody>
<tr class="z1-22"><td>e</td><td align='right'>1</td><td>()</td><td>0123456789ABCDEFGHIJKL</td></tr>
<tr class="z1-2z2-10"><td>f</td><td align='right'>2</td><td>(1L)(2K)(3J)(4I)(5H)(6G)(7F)(8E)(9D)(AC)</td><td>0LKJIHGFEDCBA987654321</td></tr>
<tr class="z1-2z2-10"><td>fr</td><td align='right'>2</td><td>(01)(2B)(3A)(49)(5I)(6J)(7C)(8D)(GK)(HL)</td><td>10BA9IJCD43278EFKL56GH</td></tr>
<tr class="z1-2z2-10"><td>fr<sup>2</sup></td><td align='right'>2</td><td>(0H)(37)(48)(59)(6A)(BG)(CF)(DE)(IL)(JK)</td><td>H12789A3456GFEDCB0LKJI</td></tr>
<tr class="z1-2z2-10"><td>fr<sup>3</sup></td><td align='right'>2</td><td>(0I)(1H)(2G)(3F)(4E)(58)(67)(9L)(AK)(BJ)</td><td>IHGFE8765LKJCD43210BA9</td></tr>
<tr class="z1-2z2-10"><td>fr<sup>4</sup></td><td align='right'>2</td><td>(09)(1I)(2J)(3C)(4D)(5E)(6F)(7K)(8L)(AB)</td><td>9IJCDEFKL0BA3456GH1278</td></tr>
<tr class="z1-2z2-10"><td>fr<sup>5</sup></td><td align='right'>2</td><td>(08)(19)(2A)(5D)(6C)(7B)(EL)(FK)(GJ)(HI)</td><td>89A34DCB012765LKJIHGFE</td></tr>
<tr class="z1-2z2-10"><td>rf</td><td align='right'>2</td><td>(0L)(15)(26)(3G)(4H)(9E)(AF)(BK)(CJ)(DI)</td><td>L56GH1278EFKJI9A34DCB0</td></tr>
<tr class="z1-2z2-10"><td>r<sup>2</sup>f</td><td align='right'>2</td><td>(05)(14)(23)(6B)(7A)(89)(CG)(DH)(EI)(FJ)</td><td>543210BA9876GHIJCDEFKL</td></tr>
<tr class="z1-2z2-10"><td>r<sup>3</sup>f</td><td align='right'>2</td><td>(04)(1D)(2C)(3B)(5L)(6K)(7J)(8I)(EH)(FG)</td><td>4DCB0LKJI9A321HGFE8765</td></tr>
<tr class="z1-2z2-10"><td>r<sup>4</sup>f</td><td align='right'>2</td><td>(0D)(1E)(2F)(3K)(4L)(7G)(8H)(9I)(AJ)(BC)</td><td>DEFKL56GHIJCB012789A34</td></tr>
<tr class="z1-2z2-10"><td>r<sup>5</sup>f</td><td align='right'>2</td><td>(0E)(18)(27)(36)(45)(9H)(AG)(BF)(CK)(DL)</td><td>E87654321HGFKL0BA9IJCD</td></tr>
<tr class="z11-2"><td>r</td><td align='right'>11</td><td>(01HI98ED45L)(2GJA7FC36KB)</td><td>1HG65LKFE87234DCJI9AB0</td></tr>
<tr class="z11-2"><td>frf</td><td align='right'>11</td><td>(0L54DE89IH1)(2BK63CF7AJG)</td><td>L0BCD43A9IJKFE8721HG65</td></tr>
<tr class="z11-2"><td>r<sup>2</sup></td><td align='right'>11</td><td>(0H9E4L1I8D5)(2J7C6BGAF3K)</td><td>HIJKL0BCDEFG6543A98721</td></tr>
<tr class="z11-2"><td>fr<sup>2</sup>f</td><td align='right'>11</td><td>(05D8I1L4E9H)(2K3FAGB6C7J)</td><td>5LKFEDCJIHG6789AB01234</td></tr>
<tr class="z11-2"><td>r<sup>3</sup></td><td align='right'>11</td><td>(0IE519DLH84)(2ACKG73BJF6)</td><td>I9AB01234DCJKL5678EFGH</td></tr>
<tr class="z11-2"><td>fr<sup>3</sup>f</td><td align='right'>11</td><td>(048HLD915EI)(26FJB37GKCA)</td><td>45678EFGH123A9IJKL0BCD</td></tr>
<tr class="z11-2"><td>r<sup>4</sup></td><td align='right'>11</td><td>(094185HELID)(276GFKJCBA3)</td><td>98721HG6543AB0LKFEDCJI</td></tr>
<tr class="z11-2"><td>fr<sup>4</sup>f</td><td align='right'>11</td><td>(0DILEH58149)(23ABCJKFG67)</td><td>D43A987210BCJIHG65LKFE</td></tr>
<tr class="z11-2"><td>r<sup>5</sup></td><td align='right'>11</td><td>(08L95I4HD1E)(2FB7KA6J3GC)</td><td>8EFGHIJKL567210BCD43A9</td></tr>
<tr class="z11-2"><td>r<sup>6</sup></td><td align='right'>11</td><td>(0E1DH4I59L8)(2CG3J6AK7BF)</td><td>EDCJI9AB0LKFGH12345678</td></tr>
</tbody>
</table>
<p>The <a href="https://en.wikipedia.org/wiki/Cycle_index" target="wiki">Cycle Index</a> of the group is pretty much what you'd expect of such a group, i.e. <sup>1</sup>⁄<sub>22</sub>(<span class="attend" onmouseover="hili(this, 'z1-22','#F88')" onmouseout="loli(this, 'z1-22')">z<sub>1</sub><sup>22</sup></span> + 11 <span class="attend" onmouseover="hili(this, 'z1-2z2-10','#F88')" onmouseout="loli(this, 'z1-2z2-10')">z<sub>1</sub><sup>2</sup>z<sub>2</sub><sup>10</sup></span> + 10 <span class="attend" onmouseover="hili(this, 'z11-2','#F88')" onmouseout="loli(this, 'z11-2')">z<sub>11</sub><sup>2</sup></span>).</p>
<p>Operations of order 2 are their own inverses - applied twice in succession, they 'do nothing'. This is naturally to be expected of the single flip, but we can see this also results from a flip-twist-flip-twist, or a flip-twist-twist-flip-twist-twist etc. And 11 consecutive rotations, for example, return you to whence you started.</p>
<p>These permutation actions by the group upon the set of labels 0 … L show that there are 22 different Hamiltonian circuits around the 22 blocks via the 33 links. But as 11 of them are just reversals (flips) of the other 11, we'd consider that there are really only 11. And as 11 is a prime number, those 11 are truly 'different' and can't be further subfactored.</p>
<h3>Applications</h3>
<p>There's quite a lot to play with here - its group representation shows that there are many more than simply the one way of ordering the 22 hexads (here's another one of the same ordering, but split between three instruments): </p>
<figure>
<figcaption>Rendering hexads with common tetrads across bars with a trio</figcaption>
<img src="http://image.storistry.com/gappy/3Instruments.png" width="710px"/><br/>
<audio controls volume="0.1"><source src="http://sonic.storistry.com/hexatrio.flac"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
</figure>
<p>Permuting the cycle a further 10 times (or even 21 if you're happy to include reversals) will get you further 'new' sequences of tetradically linked hexads, all of them with equally occurring PC and IC frequencies. Not only that, but you may also consider splitting the sequences into separate groups of eleventh order Hamiltonian sequences. The 'democracy' of pitch class and interval class will be maintained as long as the appropriately related cycles are kept together (as per the last ten rows of the above table). That would give you 11-lengthed sequences of 12 PCs - though not all distinct. All this from just one block design. Enjoy.</p>
</div>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-10234949590435326152018-09-02T19:26:00.000+01:002018-09-15T00:07:08.130+01:00The GAP Mined for Music<style>
p.code {
font-size: 12px; color: #822; font-family: monospace;
margin-left: 5mm;
margin-right: 5mm;
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
border-left:2px solid #fff;
border-right:2px solid #fff;
padding:2px;
}
p.pic {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:white;
}
.pairs {
display: grid;
grid-template-columns: 2fr 1fr;
grid-gap: 1em;
grid-auto-rows: minmax(20px, auto);
}
.pair {
display: grid;
grid-template-columns: 1fr 2fr;
grid-auto-rows: minmax(20px, auto);
text-align: center;
padding-top: 6px;
padding-bottom: 3px;
}
.pair > div {
background: #eee;
}
.blops {
display: grid;
grid-template-columns: 1fr 2fr;
grid-gap: 1em;
}
.blop {
display: grid;
padding-top: 6px;
padding-bottom: 3px;
}
</style>
<p>The <a href="/2018/08/pitching-democracy.html" target="_new" title="Pitching Democracy">previous post</a> presented some introduction to (Balanced Incomplete) Block Designs with a simple musical application. It did not, however, provide much in the way of obtaining block designs in the first place, other than by using extant published material. It would be nice to find some software capable of producing block designs.</p>
<p>I've been aware of the <a href="https://www.gap-system.org/" title="Groups, Algorithms, Programming" target="_gap">GAP computer algebra software</a>, and have even occasionally used it, for some years now but did not realise that it included software for block designs. Perhaps that should not come as a surprise as it is growing all the time.</p>
<p>It is free to download and install, is <a href="https://www.gap-system.org/Releases/index.html">multi-platform</a> and is fun to play with in any case. It's a command line console based system and therefore very useful for generating (and processing) text files. I'm certainly not going to say anything about it here - other than those bits of it I'll be using in this note. Don't ask me for any help on installation or use - I'll probably mislead you and, anyway, there are far more authoritative guides than I.</p>
<p>This post will present not just results of the use of GAP/DESIGN, but will attempt - at the risk of boring the already knowledgeable - to represent the voyage itself. Also note that I've taken a few liberties with the representation of GAP's typical output; which is a stream of unformatted text. There's certainly enough syntax to make the output completely unambiguous, but there's no syntactic sugar - it just flops out. So for clarity's sake I've tidied it up a bit.</p>
<p>The current (v4.9.2 at the time of writing) GAP release includes Soicher's DESIGN package (v1.6 @tow), but does not load it by default. For any particular GAP session you will therefore need to import the software with:</p>
<p class="code">LoadPackage("design");</p>
<p>If the package loads successfully, then GAP reports 'true'. The method used by the package is based on what is known as the <span style="white-space:nowrap;">'*-construction'</span> - far too abstruse to go into here but still <a href="https://www.sciencedirect.com/science/article/pii/S0195669805001149" target="_elsevier" title="Constructing t-designs from t-wise balanced designs">available to the adventurous</a>. Basically, one employs a slightly simpler <span style="white-space:nowrap;"><em>t</em>-(<em>v</em>-1,<em>k</em>-1,(<em>k</em>-<em>t</em>)<em>λ</em>)</span> design to generate a bunch of <span style="white-space:nowrap;"><em>t</em>-(<em>v</em>,<em>k</em>,<em>nλ</em>)</span> designs, which will work (in our case, where we are interested in block sizes of 2, 3, 4 and 6) if n is the lowest common multiple of
<sub>(<em>k</em>-<em>t</em>)</sub>C<sub>(<em>2</em>-<em>t</em>)</sub>,
<sub>(<em>k</em>-<em>t</em>)</sub>C<sub>(<em>3</em>-<em>t</em>)</sub>,
<sub>(<em>k</em>-<em>t</em>)</sub>C<sub>(<em>4</em>-<em>t</em>)</sub>,
<sub>(<em>k</em>-<em>t</em>)</sub>C<sub>(<em>6</em>-<em>t</em>)</sub>,
which is to say of
<sub><em>k-2</em></sub>C<sub>0</sub>,
<sub><em>k-2</em></sub>C<sub>1</sub>,
<sub><em>k-2</em></sub>C<sub>2</sub>
and <sub><em>k-2</em></sub>C<sub>4</sub> for each of the k with which we're treating. The DESIGN package will therefore require the use of an eleventh, not twelfth, order group which we will create with</p>
<p class="code">G11:=CyclicGroup(IsPermGroup, 11);</p>
<h2>The Two Tone Tour</h2>
<p>First of all, we should verify the existence of the (12,2,1) design which essentially lists all 66 of the <em>t</em>=2 design's pitch class pairs. The above conditioning of <em>n</em> for <em>k</em>=2 requires only that it be the lowest common multiple of <sub><em>k-2</em></sub>C<sub>0</sub> as it's the only one which can apply (yet). This clearly has <em>n</em> = 1 with a *-construction using 2-(11,1,0) - a trivial design used to generate a 2-(<em>v</em>=12,<em>k</em>=2,<em>nλ</em>=1) design. We know that <em>λ</em>=1 and are required to provide this information by defining a record:</p>
<p class="code">tlamb:=rec(t:=2, lambdas:=[1]);</p>
<p>which information is passed into another record specifying the desired block size and using the earlier defined permutation group:</p>
<p class="code">basis:=rec(v:=12, blockSizes:=[2], tSubsetStructure:=tlamb, requiredAutSubgroup:=G11);</p>
<p>Once this basis is defined it may be used directly:</p>
<p class="code">D:=BlockDesigns(basis);</p>
<p>upon which GAP emits the following list of length 1:</p>
<p class="code">
[
rec(autGroup:=Group([(1,2,3,4,5,6,7,8,9,10,11,12),(1,2)]),<br/>
blockNumbers:=[66], blockSizes:=[2],<br/>
blocks:=[
[1,2], [1,3], [1,4], [1,5], [1,6], [1,7], [1,8], [1,9], [1,10], [1,11], [1,12],
[2,3], [2,4], [2,5], [2,6], [2,7], [2,8], [2,9], [2,10], [2,11], [2,12], [3,4],
[3,5], [3,6], [3,7], [3,8], [3,9], [3,10], [3,11], [3,12], [4,5], [4,6], [4,7],
[4,8], [4,9], [4,10], [4,11], [4,12], [5,6], [5,7], [5,8], [5,9], [5,10], [5,11],
[5,12], [6,7], [6,8], [6,9], [6,10], [6,11], [6,12], [7,8], [7,9], [7,10], [7,11],
[7,12], [8,9], [8,10], [8,11], [8,12], [9,10], [9,11], [9,12], [10,11], [10,12], [11,12]
],<br/>
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11,<br/>
tSubsetStructure:=rec(lambdas:=[1], t:=2), v:=12)
]
</p>
<p>And there you are. The information provided - as well as showing all possible pitch class pairs exactly once (<em>λ</em>=1) as requested - reports the number of blocks as (the expected) 66 and the <em>r</em> = 11, being the number of occurrences of each of the 12 pitch classes in all blocks (recall <em>vr</em> = <em>bk</em>, in this case 12×11 = 66×2).
</p>
<h2>Triadic Transitions</h2>
<p>
For <em>k</em>=3 block designs, which we used to construct a sequence of triads each carrying a common diad (to provide a binding musical integrity, some kind of voice-leading) between consecutive chords, we'll again need <em>r</em>=11 and <em>v</em>=12. The <em>k</em>=3 triadic requirement means we will expect 132/3 = 44 blocks. In this case <em>n</em> is required to be the lowest common multiple of both
<sub><em>1</em></sub>C<sub>0</sub> and <sub><em>1</em></sub>C<sub>1</sub>. As this is also just 1 there's no change there and <em>nλ</em> remains unaffected.
Setting up the required tSubsetStructure for a <em>λ</em> of 2, this time, and resetting basis to use the new record (otherwise it will - by default - remember the old value:
</p>
<p class="code">tlamb:=rec(t:=2, lambdas:=[2]);<br/>
basis:=rec(v:=12, blockSizes:=[3], tSubsetStructure:=tlamb, requiredAutSubgroup:=G11);</p>
<p>In fact you may skip the 'tlamb' construction and use its (now nameless) value directly, e.g:</p>
<p class="code">basis:=rec(v:=12, blockSizes:=[3], tSubsetStructure:=rec(t:=2, lambdas:=[2]), requiredAutSubgroup:=G11);</p>
<p>Now you may generate the designs with the new basis:</p>
<p class="code">D:=BlockDesigns(basis);</p>
<p>Alternatively you may skip the named 'basis' construction and use <em>its</em> value directly (although arguably with less clarity):</p>
<p class="code">D:=BlockDesigns(rec(v:=12, blockSizes:=[3], tSubsetStructure:=rec(t:=2, lambdas:=[2]), requiredAutSubgroup:=G11));</p>
<p>The result is a list of five 2-(12,3,2) block designs, of which we'll display only the first and last:</p>
<p class="code">
[rec(autGroup:=Group([(1,11,10,9,8,7,6,5,4,3,2)]), blockNumbers:=[44], blockSizes:=[3],<br/>
blocks:=[[1,2,3], [1,2,11], [1,3,8], [1,4,7], [1,4,9], [1,5,7], [1,5,12],
[1,6,9], [1,6,10], [1,8,12], [1,10,11], [2,3,4], [2,4,9], [2,5,8],
[2,5,10], [2,6,8], [2,6,12], [2,7,10], [2,7,11], [2,9,12], [3,4,5],
[3,5,10], [3,6,9], [3,6,11], [3,7,9], [3,7,12], [3,8,11], [3,10,12],
[4,5,6], [4,6,11], [4,7,10], [4,8,10], [4,8,12], [4,11,12], [5,6,7],
[5,8,11], [5,9,11], [5,9,12], [6,7,8], [6,10,12], [7,8,9], [7,11,12],
[8,9,10], [9,10,11]],
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11, tSubsetStructure:=rec(lambdas:=[2], t:=2), v:=12),</p>
<p class="code">… (three further records) …</p>
<p class="code">rec(autGroup:=Group([(1,11,10,9,8,7,6,5,4,3,2)]), blockNumbers:=[44], blockSizes:=[3],
blocks:=[[1,2,4], [1,2,6], [1,3,9], [1,3,11], [1,4,6], [1,5,11], [1,5,12],
[1,7,8], [1,7,10], [1,8,12], [1,9,10], [2,3,5], [2,3,7], [2,4,10], [2,5,7],
[2,6,12], [2,8,9], [2,8,11], [2,9,12], [2,10,11], [3,4,6], [3,4,8],
[3,5,11], [3,6,8], [3,7,12], [3,9,10], [3,10,12], [4,5,7], [4,5,9],
[4,7,9], [4,8,12], [4,10,11], [4,11,12], [5,6,8], [5,6,10], [5,8,10],
[5,9,12], [6,7,9], [6,7,11], [6,9,11], [6,10,12], [7,8,10], [7,11,12],
[8,9,11]],
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11, tSubsetStructure:=rec(lambdas:=[2], t:=2), v:=12)]</p>
<p>You may look for the usual things like Hamiltonian circuits.</p>
<h2>Foursomes</h2>
<p>Now we can get a little more adventurous and look for designs with tetrads (<em>k</em>=4), where the number of blocks in the design will be <span style="white-space:nowrap;"><em>b</em> = <em>vr/k</em> = 33</span>. This will require <em>n</em> now being the lowest common multiple of <sub><em>2</em></sub>C<sub>0</sub>, <sub><em>2</em></sub>C<sub>1</sub> and <sub><em>2</em></sub>C<sub>2</sub> which is <em>again</em> simply the value of 1 and thus we'll not be forced into more than the <em>λ</em>=<em>r</em>(<em>k</em>-1)/(<em>v</em>-1) = 3 that we wish for, which would require consequently larger <em>b</em> and <em>r</em> values (some simply impossible).</p>
<p>Upon entering into GAP the required calculation:</p>
<p class="code">D:=BlockDesigns(rec(v:=12, blockSizes:=[4], tSubsetStructure:=rec(t:=2, lambdas:=[3]), requiredAutSubgroup:=G11));</p>
<p>We get a list of eight records of 2-(12,4,3) designs. Again, we'll show only the first and last:</p>
<p class="code">
[rec(autGroup:=Group([(1,9,6,3,11,8,5,2,10,7,4)]), blockNumbers:=[33], blockSizes:=[4],
blocks:=[[1,2,4,5], [1,2,7,12], [1,2,9,10], [1,3,4,11], [1,3,5,8], [1,3,6,10],
[1,4,8,10], [1,5,7,9], [1,6,7,12], [1,6,11,12], [1,8,9,11], [2,3,5,6],
[2,3,8,12], [2,3,10,11], [2,4,6,9], [2,4,7,11], [2,5,9,11], [2,6,8,10],
[2,7,8,12], [3,4,6,7], [3,4,9,12], [3,5,7,10], [3,7,9,11], [3,8,9,12],
[4,5,7,8], [4,5,10,12], [4,6,8,11], [4,9,10,12], [5,6,8,9], [5,6,11,12],
[5,10,11,12], [6,7,9,10], [7,8,10,11]],
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11, tSubsetStructure:=rec(lambdas:=[3], t:=2), v:=12),</p>
<p class="code">… (six further records) …</p>
<p class="code">rec(autGroup:=Group([(1,9,6,3,11,8,5,2,10,7,4)]), blockNumbers:=[33], blockSizes:=[4],
blocks:=[[1,2,4,5], [1,2,6,8], [1,2,9,10], [1,3,4,11], [1,3,6,12], [1,3,7,8],
[1,4,10,12], [1,5,6,10], [1,5,7,11], [1,7,9,12], [1,8,9,11], [2,3,5,6],
[2,3,7,9], [2,3,10,11], [2,4,7,12], [2,4,8,9], [2,5,11,12], [2,6,7,11],
[2,8,10,12], [3,4,6,7], [3,4,8,10], [3,5,8,12], [3,5,9,10], [3,9,11,12],
[4,5,7,8], [4,5,9,11], [4,6,9,12], [4,6,10,11], [5,6,8,9], [5,7,10,12],
[6,7,9,10], [6,8,11,12], [7,8,10,11]],
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11, tSubsetStructure:=rec(lambdas:=[3], t:=2), v:=12)]</p>
<a name="hex"><h2>Hexachords</h2></a>
<p>The last designs we can attempt to find, without requiring large numbers of blocks, is the 22 block sized 2-(12,6,5) set of hexads. Remembering to check the lowest common multiple constraint, we see that when <em>k</em>=6, <sub><em>4</em></sub>C<sub>0</sub> = 1,
<sub><em>4</em></sub>C<sub>1</sub> = 4,
<sub><em>4</em></sub>C<sub>2</sub> = 6
and <sub><em>4</em></sub>C<sub>4</sub> = 1 yet again have us needing only an <em>n</em>=1. Thus we can expect the *-construction to work, as indeed it does.</p>
<p class="code">D:=BlockDesigns(rec(v:=12, blockSizes:=[6], tSubsetStructure:=rec(t:=2, lambdas:=[5]), requiredAutSubgroup:=G11));</p>
<p>Yields a list of four 2-(12,6,5) designs.</p>
<p class="code">
[rec(autGroup:=Group([(1,11,10,9,8,7,6,5,4,3,2)]), blockNumbers:=[22], blockSizes:=[6],<br/>
blocks:=[[1,2,3,4,8,12], [1,2,3,7,11,12], [1,2,4,5,7,9], [1,2,4,6,9,10],
[1,2,6,10,11,12], [1,3,4,6,8,11], [1,3,5,8,9,11], [1,3,6,7,9,10],
[1,4,5,7,8,10], [1,5,6,7,8,12], [1,5,9,10,11,12], [2,3,4,5,9,12],
[2,3,5,6,8,10], [2,3,5,7,10,11], [2,4,7,8,10,11], [2,5,6,8,9,11],
[2,6,7,8,9,12], [3,4,5,6,10,12], [3,4,6,7,9,11], [3,7,8,9,10,12],
[4,5,6,7,11,12], [4,8,9,10,11,12]],<br/>
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11,<br/>
tSubsetStructure:=rec(lambdas:=[5], t:=2), v:=12),<br/>
rec(autGroup:=Group([(1,11,10,9,8,7,6,5,4,3,2)]), blockNumbers:=[22], blockSizes:=[6],<br/>
blocks:=[[1,2,3,4,7,12], [1,2,3,6,11,12], [1,2,4,6,8,9], [1,2,5,6,8,10],
[1,2,5,10,11,12], [1,3,4,7,8,10], [1,3,5,6,9,10], [1,3,5,7,8,11],
[1,4,5,7,9,11], [1,4,9,10,11,12], [1,6,7,8,9,12], [2,3,4,5,8,12],
[2,3,5,7,9,10], [2,3,6,7,9,11], [2,4,5,8,9,11], [2,4,6,7,10,11],
[2,7,8,9,10,12], [3,4,5,6,9,12], [3,4,6,8,10,11], [3,8,9,10,11,12],
[4,5,6,7,10,12], [5,6,7,8,11,12]],<br/>
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11,<br/>
tSubsetStructure:=rec(lambdas:=[5], t:=2), v:=12),<br/>
rec(autGroup:=Group([(1,5,8,2,3)(4,10,9,11,7),(1,4,9,10,8)(3,11,6,5,7)]), blockNumbers:=[22], blockSizes:=[6],<br/>
blocks:=[[1,2,3,5,6,8], [1,2,3,5,8,12], [1,2,4,5,7,11],
[1,2,4,7,11,12], [1,2,4,8,9,10], [1,3,4,6,10,11], [1,3,6,10,11,12],
[1,3,7,8,9,11], [1,4,8,9,10,12], [1,5,6,7,9,10], [1,5,6,7,9,12],
[2,3,4,6,7,9], [2,3,4,6,9,12], [2,3,5,9,10,11], [2,5,9,10,11,12],
[2,6,7,8,10,11], [2,6,7,8,10,12], [3,4,5,7,8,10], [3,4,5,7,10,12],
[3,7,8,9,11,12], [4,5,6,8,9,11], [4,5,6,8,11,12]],<br/>
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11,<br/>
tSubsetStructure:=rec(lambdas:=[5], t:=2), v:=12),<br/>
rec(autGroup:=Group([(2,3)(4,11)(5,6)(7,10),(2,3)(6,8)(7,12)(9,11),(1,3,2)(5,6,8)(7,10,12),(1,5,3)(4,9,12)(7,11,10),(1,2,3)(5,7,6,10,8,12)(9,11)]), blockNumbers:=[22], blockSizes:=[6], <br/>
blocks:=[[1,2,3,5,6,8], [1,2,3,7,10,12], [1,2,4,5,7,11], [1,2,4,8,9,10],
[1,2,6,9,11,12], [1,3,4,5,9,12], [1,3,4,6,10,11], [1,3,7,8,9,11],
[1,4,6,7,8,12], [1,5,6,7,9,10], [1,5,8,10,11,12], [2,3,4,6,7,9],
[2,3,4,8,11,12], [2,3,5,9,10,11], [2,4,5,6,10,12], [2,5,7,8,9,12],
[2,6,7,8,10,11], [3,4,5,7,8,10], [3,5,6,7,11,12], [3,6,8,9,10,12],
[4,5,6,8,9,11], [4,7,9,10,11,12]],<br/>
isBinary:=true, isBlockDesign:=true, isSimple:=true, r:=11,<br/>
tSubsetStructure:=rec(lambdas:=[5], t:=2), v:=12)]</p>
<h3>More Triads</h3>
<p>We can present these block designs as 22 columns of 12 pitch classes, indicating presence or absence thereof with a blue ball. For example the fourth design would look like:</p>
<div class='blops'>
<div class='blop'>
<p class="pic"><img src="http://image.storistry.com/gappy/Block4.png" alt="Fourth Block Design"/></p>
</div>
<div class='blop'>
<p>Notice that, in deference to musicians, the blocks have been vertically flipped so that GAP's block design's set element labellings 1 … 12 read upwards from bottom to top and have simultaneously been re-labelled on the right with more familiar note names. Naturally, the corresponding pitch class numbers 0 … 11 may be read as starting from other than the conventional C.</p>
</div>
</div>
<p>What may be of some interest in this kind of block design is that it gives plenty of scope for ordering the blocks in such a way as to carry several pitch classes at once from one block to the next, were one minded to place the blocks in some 22 bar sequence. For example, there are <sub>6</sub>C<sub>3</sub> = 20 triads available from each hexad. GAP may be used to list them - for example the final design's first emitted block is [1,2,3,5,6,8] and we can get GAP to list all its 3-sets with:</p>
<p class="code">
T:=Combinations([1,2,3,5,6,8], 3);
</p>
<p>And GAP obliges with the list of that hexad's 20 triads:</p>
<p class="code">
[ [1,2,3], [1,2,5], [1,2,6], [1,2,8], [1,3,5], [1,3,6], [1,3,8], [1,5,6], [1,5,8], [1,6,8], [2,3,5], [2,3,6], [2,3,8], [2,5,6], [2,5,8], [2,6,8], [3,5,6], [3,5,8], [3,6,8], [5,6,8] ]
</p>
<p>If we pick another block, at random, out of that same design, say [2,4,5,6,10,12], we may list <em>its</em> triads:</p>
<p class="code">
T:=Combinations([2,4,5,6,10,12], 3);
</p>
<p>And GAP provides:</p>
<p class="code">
[ [2,4,5], [2,4,6], [2,4,10], [2,4,12], [2,5,6], [2,5,10], [2,5,12], [2,6,10], [2,6,12], [2,10,12], [4,5,6], [4,5,10], [4,5,12], [4,6,10], [4,6,12], [4,10,12], [5,6,10], [5,6,12], [5,10,12], [6,10,12] ]
</p>
<p>Visual inspection tells us that these two lists have only [2,5,6] in common, but GAP may be used to confirm this with</p>
<p class="code">
Intersection(Combinations([1,2,3,5,6,8], 3), Combinations([2,4,5,6,10,12], 3));
</p>
<p>by emitting:</p>
<p class="code">
[ [2,5,6] ]
</p>
<p>The DESIGN package presents what we need ideally suited for passing as arguments to GAP's more basic functions. For instance the aforementioned [1,2,3,5,6,8] and [2,4,5,6,10,12] are available to us directly from D as D[4].blocks[1] and D[4].blocks[15] and it's easy to see that we can find all common triads between each of the 22 hexads with a simple nested for loop:</p>
<p class="code">
for i in [1..21] do one:=Combinations(D[4].blocks[i], 3); for j in [i+1..22] do two:=Combinations(D[4].blocks[j], 3); Print(i, " - ", j, " : ", Intersection(one, two), "\n"); od; od;
</p>
<p>And 21×22/2 = 231 lines of output are printed, almost all of which show exactly one triad common between each pair of hexads - excepting 11 cases where <em>no</em> triad is held in common. We can also discern that each of the remaining 220 common triads is distinct with <em>no</em> repeats. In fact all possible <sub>12</sub>C<sub>3</sub> = 12!/(9!3!) = 220 triads are accounted for (as common links between hexad pairs) in this structure. The 22 blocks may thus be represented as a 22 node graph wherein each node is a hexad with 20 triadic edges to other nodes. A <em>complete</em> 22 node graph would connect each node with its 21 neighbours. Our graph has, apparently, each node singling out one particular unloved neighbour. This latter property means that the nodes come in pairs because - for example - any node's one and only disconnected neighbour must be a node whose one and only disconnected neighbour must be that first node since it cannot be not-connected to a third, different, node.</p>
<h3>Make GAP work for you</h3>
<p>At this point it is worth defining our own GAP function to construct lists of node pairs connected by edges representing any commonly contained k-chords:</p>
<p class="code">
BlockLinks := function(des, k)<br/>
local blx, blc, lis, i, j, one, two, com;<br/>
blx := des.blocks;;<br/>
blc := des.blockNumbers[1];;<br/>
lis := [];;<br/>
for i in [1 .. blc-1] do<br/>
one := Combinations(blx[i], k);;<br/>
for j in [i+1 .. blc] do<br/>
two := Combinations(blx[j], k);;<br/>
com := Intersection(one, two);;<br/>
if Length(com) > 0 then Add(lis, [ i, j, com]);; fi;<br/>
od;<br/>
od;<br/>
return lis;<br/>
end;
</p>
<p>By invoking this function in GAP with:</p>
<p class="code">L43 := BlockLinks(D[4], 3);<br/>Length(L43);</p>
<p>we can confirm that it generates a list with 220 members (the 11 'empties' have been filtered out), one of which is <span style="white-space:nowrap;">[1, 15, [[2,5,6]]]</span>, representing the fact that the first and fifteenth blocks in the fourth design each share the single common triad [2,5,6] - as noted above. Note that the items are no longer printed (one per line) with punctuating '-' and ':' marks as the output is now a proper GAP object.</p>
<div class='blops'>
<div class='blop'>
<p class="pic"><img src="http://image.storistry.com/gappy/Block4Circuit.png" alt="Fourth Block Design reordered for Circuit"/></p>
</div>
<div class='blop'>
<p>As this particular design, viewed as a graph of hexadic nodes and common-triadic edges between then is so well-connected, it's not at all difficult to find Hamiltonian Circuits. In fact the design as presented is <em>almost</em> such a circuit (i.e. from block 1 to block 2 via [1,2,3], from block 2 to block 3 via [1,2,5] … etc. One needs only to swap block 12 with 13 and block 21 with 22 to recover this design to the left.</p>
<p>The horizontal bars show the common triads linked across successive columns (vertically flipped as before), including the wraparound at the final column back to the first.</p>
</div>
</div>
<p>If we look at the third block design however, with a completely different set of 22 hexads -</p>
<p class="code">L33 := BlockLinks(D[3], 3);<br/>Length(L33);</p>
<p>We recover this time a list containing only 176 members. This time we can see that the inter-node triadic commonalities form a more complex network. Here is a 'bleeding chunk' of it, showing all non-empty triadic commonalities at node 14:</p>
<p class="code">
…<br/>
[1,14,[[2,3,5]]],<br/>
[2,14,[[2,3,5]]],<br/>
[3,14,[[2,5,11]]],<br/>
[5,14,[[2,9,10]]],<br/>
[6,14,[[3,10,11]]],<br/>
[7,14,[[3,10,11]]],<br/>
[8,14,[[3,9,11]]],<br/>
[10,14,[[5,9,10]]],<br/>
[12,14,[[2,3,9]]],<br/>
[13,14,[[2,3,9]]],<br/>
[14,15,[[2,5,9], [2,5,10], [2,5,11], [2,9,10], [2,9,11], [2,10,11], [5,9,10], [5,9,11], [5,10,11], [9,10,11]]],<br/>
[14,16,[[2,10,11]]],<br/>
[14,18,[[3,5,10]]],<br/>
[14,19,[[3,5,10]]],<br/>
[14,20,[[3,9,11]]],<br/>
[14,21,[[5,9,11]]],<br/>
…</p>
<p>We can see that not only is node 14 (corresponding to the hexad [2,3,5,9,10,11]) disconnected from five nodes instead of just one, it is connected to node 15 (hexad [2,5,9,10,11,12]) by <em>ten</em> common triads rather than just one. Furthermore, nodes 1 and 2 are connected to 14 by the <em>same</em> triad (as are nodes 6 and 7, 12 and 13 etc). Design 3 is clearly a very different musical animal to design 4.</p>
<h3>Tetradic Bridges Across the Hexachords</h3>
<p>We can use our homebrew function to look for common <em>tetrad</em> links between the hexads of the second design:</p>
<p class="code">L24:=BlockLinks(D[2],4);<br/>
[[1,2,[[1,2,3,12]]],<br/>
[1,6,[[1,3,4,7]]],<br/>
[1,12,[[2,3,4,12]]],<br/>
[2,5,[[1,2,11,12]]],<br/>
[2,14,[[2,3,6,11]]],<br/>
[3,4,[[1,2,6,8]]],<br/>
[3,11,[[1,6,8,9]]],<br/>
[3,15,[[2,4,8,9]]],<br/>
[4,5,[[1,2,5,10]]],<br/>
[4,7,[[1,5,6,10]]],<br/>
[5,10,[[1,10,11,12]]],<br/>
[6,8,[[1,3,7,8]]],<br/>
[6,19,[[3,4,8,10]]],<br/>
[7,13,[[3,5,9,10]]],<br/>
[7,18,[[3,5,6,9]]],<br/>
[8,9,[[1,5,7,11]]],<br/>
[8,22,[[5,7,8,11]]],<br/>
[9,10,[[1,4,9,11]]],<br/>
[9,15,[[4,5,9,11]]],<br/>
[10,20,[[9,10,11,12]]],<br/>
[11,17,[[7,8,9,12]]],<br/>
[11,22,[[6,7,8,12]]],<br/>
[12,15,[[2,4,5,8]]],<br/>
[12,18,[[3,4,5,12]]],<br/>
[13,14,[[2,3,7,9]]],<br/>
[13,17,[[2,7,9,10]]],<br/>
[14,16,[[2,6,7,11]]],<br/>
[16,19,[[4,6,10,11]]],<br/>
[16,21,[[4,6,7,10]]],<br/>
[17,20,[[8,9,10,12]]],<br/>
[18,21,[[4,5,6,12]]],<br/>
[19,20,[[3,8,10,11]]],<br/>
[21,22,[[5,6,7,12]]]<br/>
]<br/>
Length(L24);<br/>
33
</p>
<div class='blops'>
<div class='blop'>
<p class="pic"><img src="http://image.storistry.com/gappy/Block2GraphRaw.png" alt="Second Block Design as (tetradically edged) Graph"/></p>
</div>
<div class='blop'>
<p>The above GAP output looks reasonably promising for just 22 barsworth, and with three edges per node it seems worth presenting here, left, as a graph. We've distributed the 22 hexadic nodes evenly, in the design's order, circularly clockwise from the top. Then we've linked them by their common tetradic edges. There's no point in labelling anything yet.</p>
<p>This graph is connected enough to be worth running through <a href="http://www.dharwadker.org/hamilton/" target="new" title="Hamiltonian Circuit Detection">Prof Dharwadker's Hamiltonian Circuit detection software</a></p>
</div>
</div>
<div class='blops'>
<div class='blop'>
<p class="pic"><img src="http://image.storistry.com/gappy/Block2GraphCircuit.png" alt="Second Block Design Reordered as (tetradically edged Circuit) Graph"/></p>
</div>
<div class='blop'>
<p>The software finds eight circuits. Here is the fifth (clockwise through blocks 16 21 22 8 9 15 12 18 7 13 17 11 3 4 5 10 20 19 6 1 2 14 and back to 16 at top)</p>
<p>The light blue boxes carry the six pitch classes of the hexachord as a hexadecimal string where each of the design's block's set element value has been reduced by 1, to bring it into our more conventional modulo 12 territory. Thus block 16, at the top, originally presented as [2,4,6,7,10,11] is here notated as 13569A. The common tetrads between joined nodes are similarly hexadecimally reduced and lie midway along the edge adjoining the two nodes sharing the tetrad.</p>
</div>
</div>
<p>It has not escaped our attention that the remaining 11 non-circuit edges (i.e. those edges not on the circumference but crossing the circle) of the re-ordered block exhibit an unexpected symmetry along the diametrically dividing line situated from 4 to 15 on the 22 hour clock topped at 0 (or at roughly ten past two across to ten past eight on a 12 hour clock). This rather suggests that a musical composition might start on one of those nodes - it would then, halfway through the run, essentially reverse.</p>
<div class='blops'>
<div class='blop'>
<p class="pic"><img src="http://image.storistry.com/gappy/Block2ReorientedBarred.png" alt="Second Block Design Reordered"/></p>
</div>
<div class='blop'>
<p>The design looks like this, with the design's blocks reordered according to the discovered Hamiltonian circuit, and with the aforementioned symmetry point (originally block [1,4,9,10,11,12], now labelled as 0389AB) moved to the first place.</p>
</div>
</div>
<div class='blops'>
<div class='blop'>
<p>We can also rotate the graph to make its tetradic-link symmetry more plain as a north-south reflection. The leftmost, westernmost, 9 o'clockiest point corresponds to that new first block, and it thence clockwisely follows the new block order.</p>
</div>
<div class='blop'>
<p class="pic"><img src="http://image.storistry.com/gappy/Block2GraphRotated.png" alt="Second Block Design Graph Rotated"/></p>
</div>
</div>
<figure>
<figcaption>The Tetrads common to the successive Hexachords in the re-ordered Block Design #2</figcaption>
<p class="pic"><img src="http://image.storistry.com/gappy/22CommonTetrads.png" alt="The Tetrads common to successive Hexachords" width="640"/></p>
</figure>
<h3>Common Pentads - A Bridge too far?</h3>
<p>If we now have a look at common <em>pentads</em> between the hexads, by invoking BlockLinks(D[4], 5), we get a completely disconnected graph - there are no common pentads between any of the hexads. But if we try the third design we have a little more luck:</p>
<p class="code">L35:=BlockLinks(D[3],5);<br/>
[[1,2,[[1,2,3,5,8]]],<br/>
[3,4,[[1,2,4,7,11]]],<br/>
[5,9,[[1,4,8,9,10]]],<br/>
[6,7,[[1,3,6,10,11]]],<br/>
[8,20,[[3,7,8,9,11]]],<br/>
[10,11,[[1,5,6,7,9]]],<br/>
[12,13,[[2,3,4,6,9]]],<br/>
[14,15,[[2,5,9,10,11]]],<br/>
[16,17,[[2,6,7,8,10]]],<br/>
[18,19,[[3,4,5,7,10]]],<br/>
[21,22,[[4,5,6,8,11]]]<br/>
]</p>
<p>But just not very much. One might expect that 5 is possibly a little too close to 6 for common PC sets in such a small population of 22 blocks. But remember that the initial purpose of block designs was to provide sufficiently large test environments for conducting experiments without introduction of accidental bias. One is quite free to bump up the <em>λ</em> and the <em>r</em> values (subject to those constraints between the parameters) and generate designs with large numbers of blocks, and which still give equal opportunity to all pitch classes and intervals.</p>
<p>So, musically speaking, there's an awful lot to play with here and GAP can help you research the features you may wish to examine. As for converting these designs and any derivatives or transformations thereof into actual music, well, you know what to do. At the risk of pointing out the obvious, all of the integers in these set representations are ranged from 1 to 12, so just subtract 1 from each to recover the musician's traditional PC modulo 12 notations - or just live with it and treat the 12 as a 0. Everything else is just transposition anyway.</p>
<p>Remember that block designs are not restricted to using 12-sets and there's no need to bind yourself inside a twelve-tone universe.</p>
<h3>More GAP code</h3>
<p>A modification of the BlockLinks function can also provide an adjacency matrix since it may as well be calculated at the same time as the common subsets. First of all, we provide an 'object labelling' function:</p>
<pre>
OrdList36 := function(lords)
local s, l, i, u;
s := [];;
u := "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if IsList(lords) then
l := Length(lords);;
if l > 0 then
if IsInt(lords[1]) then
for i in [1 .. l] do
Add(s, u[lords[i]]);;
od;
else
for i in [1 .. l] do
Add(s, OrdList36(lords[i]));;
od;
fi;
fi;
fi;
return s;
end;
</pre>
<p>This provides us with PC-Set friendly labels, allowing us to replace the rather bulky (and 1-based) set denotations such as [1,3,5,7,10,11] with a sugar-free (and 0-based, hex-encoded) label 02469A.</p>
<p>The new function, BlockDesignGraph, produces a record carrying node and edge counts and names using the friendlier labels as well as an adjacency matrix which may be used to find those Hamiltonian paths and circuits:</p>
<pre>
BlockDesignGraph := function(design, subsiz)
local blx, blc, lis, i, j, k, len, one, two, com, mat;
blx := design.blocks;;
blc := design.blockNumbers[1];;
mat := NullMat(blc, blc);
lis := [];;
for i in [1 .. blc-1] do
one := Combinations(blx[i], subsiz);;
for j in [i+1 .. blc] do
two := Combinations(blx[j], subsiz);;
com := Intersection(one, two);;
len := Length(com);
if len > 0 then
for k in [1 .. len] do
Add(lis, [ i, j, OrdList36(com)[k]]);;
od;
mat[i][j] := mat[i][j] + len;;
mat[j][i] := mat[j][i] + len;;
fi;
od;
od;
return rec(nNames:= OrdList36(blx), nCount := Length(blx), eNames:=lis, eCount:=Length(lis), incidenceMatrix:=mat);
end;
</pre>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-77846500467776475692018-08-15T01:01:00.000+01:002018-08-21T03:54:14.348+01:00Pitching Democracy<style>
p.catlog {
font-size: 9px; color: #822; font-family: monospace;
margin-left: 5mm;
margin-right: 5mm;
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
border-left:2px solid #fff;
border-right:2px solid #fff;
padding:2px;
}
p.image img {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
height: 90px;
}
p.image2 img {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
height: 180px;
}
p.svg img {
box-shadow:0px 0px 35px #222;
border-radius: 5px;
background-color:#ffe;
}
</style>
<p>
The term <em>twelve tone music</em> suggests we treat each of those tones equally to eliminate bias. But this does not limit us to any of the 836017<a name="rtrows" href="#trows"><sup>[1]</sup></a> essential patterns of serial music's twelve tone rows, with their derivative inversions, retrogrades, retrograde-inversions and cyclic-shiftings, all regarded as equivalencies. There are numerous other ways of 'democratising' twelve elements, for example statistically rather than serially.
</p>
<p>
We could have equal numbers of instances of each of the twelve elements and throw them up into the air. The resultant scatter will be expected to be uniformly distributed. And very likely musically uninteresting. We need some way of introducing structure by building composite objects out of those elements, but without giving undue weight to any particular one of them.
</p>
<h3>… that all intervals are created equal</h3>
<p>
The next obvious candidate (many will argue it's actually the principal) is the interval, characterised as a set of pitch class pairs, a <em>duple</em>, <em>p</em><sub>ij</sub> ≝ {<em>p</em><sub>i</sub>, <em>p</em><sub>j</sub>}. We need hardly state explicitly that <em>j</em> ≠ <em>i</em> and <em>p</em><sub>ij</sub> ≡ <em>p</em><sub>ji</sub> (but there it is anyway). There are <sub>n</sub>C<sub>2</sub> = <em>n</em>(<em>n</em>-1)/2 such pairs chooseable from <em>n</em> objects in general, so from 12 pitch classes (labelled 0 … 11) we have:
</p>
<p class="catlog">
{0,1}, {1,2}, {2,3}, {3,4}, {4,5}, {5,6}, {6,7}, {7,8}, {8,9}, {9,10}, {10,11}, {0,2}, {1,3}, {2,4}, {3,5}, {4,6}, {5,7}, {6,8}, {7,9}, {8,10}, {9,11}, {0,3}, {1,4}, {2,5}, {3,6}, {4,7}, {5,8}, {6,9}, {7,10}, {8,11}, {0,4}, {1,5}, {2,6}, {3,7}, {4,8}, {5,9}, {6,10}, {7,11}, {0,5}, {1,6}, {2,7}, {3,8}, {4,9}, {5,10}, {6,11}, {0,6}, {1,7}, {2,8}, {3,9}, {4,10}, {5,11}, {0,7}, {1,8}, {2,9}, {3,10}, {4,11}, {0,8}, {1,9}, {2,10}, {3,11}, {0,9}, {1,10}, {2,11}, {0,10}, {1,11}, {0,11}
</p>
<p>
This is a well-defined set of sets in that it comprises a complete accounting of all possible 2-sets contained within a 12-set. As such, it is a simple enough animal. But simple things are ofttimes just manifestations of something more complicated.
</p>
<h3>A Confederacy of Duples</h3>
<p>
<em>This</em> animal is also an instance of a more complex artifice comprising - more generally - <strong>66</strong> subsets of <strong>2</strong> elements each, drawn from a set of <strong>12</strong> elements, each of which appears <strong>11</strong> times and where each and every <strong>2</strong>-form appears exactly <strong>1</strong> time.
</p>
<p>
These specifications - which will first seem a rather over-engineered-for-purpose definition - make it more than just a set of sets. This structure also happens to be, and is known as, a <a href="https://en.wikipedia.org/wiki/Block_design" target="_wiki"><em>balanced incomplete block design</em></a>. This one is specifically a <em><strong>2</strong>-design</em> and the above specifying quantities, or enumerations, are usually notated with the following letters (ordered as they're found within the above description):
</p>
<ul>
<li><em>b</em> … <strong>66</strong> subsets …</li>
<li><em>k</em> … <strong>2</strong> elements …</li>
<li><em>v</em> … <strong>12</strong> elements …</li>
<li><em>r</em> … <strong>11</strong> times …</li>
<li><em>t</em> … <strong>2</strong>-form …</li>
<li><em>λ</em> … <strong>1</strong> time …</li>
</ul>
<p>
Hitherto we've used <em>n</em> to denote the size of the pitch class universe, and also <em>k</em> for the smaller sizes of pitch class sets used for scales or chords. Block (or <em>t-</em>) design combinatorics (for that is where we are now) continues to use <em>k</em> for the subset size, but uses <em>v</em> instead of <em>n</em>. The structure itself is notated as the 5-tuple (<em>v</em>,<em>b</em>,<em>r</em>,<em>k</em>,<em>λ</em>) - where the <em>t</em> is understood to be 2. Often it's just the triple (<em>v</em>,<em>k</em>,<em>λ</em>) when <em>b</em> and <em>r</em> are inferred from the specific construction.
</p>
<p>It's important to be aware that <em>t</em> is not the same as <em>k</em>, though they have - in this case coincidentally - the same value of 2. The <em>t</em> refers to the size of the <em>duple</em> (the size of the pitch class pair, the abstract <em>2-form</em> - represented by <em>another</em> 2-set - it's what this structure is 'about'). The <em>k</em>, on the other hand, refers to the size of the subsets containing it (or, in general, them). The above set of 2-sets, each in one to one correspondence with its 2-form, is the simplest, most transparent design one could have.
</p>
<p>The above structure carries each of the 66 possible duples exactly once. If we wished to instantiate a piece of music from that, then what could we do with such a collection? Again, like the elements themselves (the pitch classes available in the simpler structure, the universal 12-set that we started with), we could maybe play the 66 dichords, or (admittedly rather tiny) scale patterns, in some order with some rhythm and with some dynamics.
</p>
<p>
Or we could decide we need more instances of the pairs, to give us a little more scope to play with. Such as <em>two</em> of each duple - we can't single any one of them out, so each duple should appear in equal quantity. Naturally this could mean just using two of these structures and we'd have 132 little musical objects to deploy in some interesting way.
</p>
<h3>Repackaging without Bias</h3>
<p>
However, we might notice that 3-sets can carry 3 duples (i.e. <em>p</em><sub>1</sub>~<em>p</em><sub>2</sub>, <em>p</em><sub>2</sub>~<em>p</em><sub>3</sub>, <em>p</em><sub>3</sub>~<em>p</em><sub>1</sub>) in one bag, as it were. So instead of toting around 132 bags we can manage with only a third of them - i.e. 44 (admittedly 50% bigger) bags. We can't toss just any old trio of elements into each bag (which we'll call a block from now on) but must arrange their contents in such a way as to ensure that exactly two instances of each of our 66 duples (t-forms) turn up altogether. In other words we must construct a design out of <em>b</em>=44 blocks of <em>k</em>=3-sets (drawn from our universe of the <em>v</em>=12 set) so that exactly <em>λ</em>=2 of each duple/interval appear in it. Thus the <em>t</em>-set is no longer explicitly visible, whereas the <em>k</em>-set remains very much so.
</p>
<p>
It should be relatively easy to see that, when forming an exhaustive <em>b</em> sized list of <em>k</em>-sized subsets of <em>v</em> elements, you'll need <em>r</em> = <em>bk/v</em> each of the elements to build it. We have seen that <em>vr</em> = 12×11 = 132 = 2×66 = <em>kb</em>. With 3-sets we can instead have 132 = 3×44 = <em>kb</em>. Which is an illustration of the invariance of <em>vr</em> = <em>kb</em> within such systems.
</p>
<p>
We note that there are <sub>12</sub>C<sub>3</sub> = 220 possible triples, which is 5 times as many as we want/need. So how do we go about gathering a valid collection of exhaustively and non-preferentially distributed embedded duples? We could start with the whole 220, list all the duples implied in each, and (very carefully) remove 176 triples carrying exactly 8 each of the 66 duples. Or find some other algorithm to start from the bottom up. But sometimes the simple answer is that we just find them in the literature<a href="#eggs" name="reggs"><sup>[2]</sup></a>.
</p>
<h3>Redistribution of Assets</h3>
<p>
Consider this set of (so far, magically generated) 44 3-sets, which happens to be such a (12,44,11,3,2) block design:
</p>
<p class="catlog">
{0,1,3}, {1,2,4}, {2,3,5}, {3,4,6}, {4,5,7}, {5,6,8}, {6,7,9}, {7,8,10}, {0,8,9}, {1,9,10}, {0,2,10}, {4,5,9}, {5,6,10}, {0,6,7}, {1,7,8}, {2,8,9}, {3,9,10}, {0,4,10}, {0,1,5}, {1,2,6}, {2,3,7}, {3,4,8}, {2,6,8}, {3,7,9}, {4,8,10}, {0,5,9}, {1,6,10}, {0,2,7}, {1,3,8}, {2,4,9}, {3,5,10}, {0,4,6}, {1,5,7}, {7,10,11}, {0,8,11}, {1,9,11}, {2,10,11}, {0,3,11}, {1,4,11}, {2,5,11}, {3,6,11}, {4,7,11}, {5,8,11}, {6,9,11}
</p>
<p>
If you cared to, you could verify that the 11 instances of each of our 12 pitch classes are present. For example pitch class 3 turns up in {0,1,<strong>3</strong>}, {2,<strong>3</strong>,5}, {<strong>3</strong>,4,6}, {<strong>3</strong>,9,10}, {2,<strong>3</strong>,7}, {<strong>3</strong>,4,8}, {<strong>3</strong>,7,9}, {1,<strong>3</strong>,8}, {<strong>3</strong>,5,10}, {0,<strong>3</strong>,11} and {<strong>3</strong>,6,11}. You might also check that each of the 66 pitch class pairs turn up twice each, e.g. {<strong>4</strong>,<strong>8</strong>} ⊂ {3,<strong>4</strong>,<strong>8</strong>} and {<strong>4</strong>,<strong>8</strong>} ⊂ {<strong>4</strong>,<strong>8</strong>,10} but in no others.
</p>
<h3>Abstraction to Application</h3>
<p>
One moderately musically interesting result of this latter property (a consequence of <em>λ</em>=2) is that we may conceivably write a piece of music comprising a sequence of triads (the blocks) in which each triad leads to the next carrying a common interval with the third pitch guaranteed as changing. For example the two successive bars with the above {4,8} (conventionally enough taking PC4 as E and PC8 as G#) in common:
</p>
<p class='image'>
<img src="http://image.storistry.com/pitch/12-3-2A.png"></p>
<p>
We may then choose the common pair {3,4} or {3,8} for the preceding bar's common interval connection, and either {8,10} or {4,10} for the following bar's. After electing {3,8} to the left (introducing PC3 = E♭) and {8,10} to the right (introducing PC10 = B♭) we'd get:
</p>
<p class='image'>
<img src="http://image.storistry.com/pitch/12-3-2B.png">
</p>
<p>
Now we're forced to complete the left hand bar with the only remaining triad containing {3,8} that we're assured we have by the design (i.e. {1,3,8}, introducing PC1 = C#) and also to complete the right hand bar as the only remaining triad containing {8,10}, which is {7,8,10} (bringing in a PC7 = G):
</p>
<p class='image'>
<img src="http://image.storistry.com/pitch/12-3-2C.png">
</p>
<p align='center'>
Here's what (a), (b) and (c) sound like:
<audio controls=""><source src="http://sonic.storistry.com/pitch/12-3-2.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
</p>
<p>
At this point we can pick either of {1,3} or {1,8} to continue the leftward process (since by now we have consumed both {3,8}) and either of {7,8} or {7,10} for the rightward (likewise both {8,10}).
</p>
<p>
I.e. what remains is:
</p>
<p class="catlog">
{0,1}, {1,2}, {2,3}, {3,4}, {4,5}, {5,6}, {6,7}, {7,8}, {8,9}, {9,10}, {10,11}, {0,2}, {1,3}, {2,4}, {3,5}, {4,6}, {5,7}, {6,8}, {7,9}, <strike>{8,10}</strike>, {9,11}, {0,3}, {1,4}, {2,5}, {3,6}, {4,7}, {5,8}, {6,9}, {7,10}, {8,11}, {0,4}, {1,5}, {2,6}, {3,7}, <strike>{4,8}</strike>, {5,9}, {6,10}, {7,11}, {0,5}, {1,6}, {2,7}, <strike>{3,8}</strike>, {4,9}, {5,10}, {6,11}, {0,6}, {1,7}, {2,8}, {3,9}, {4,10}, {5,11}, {0,7}, {1,8}, {2,9}, {3,10}, {4,11}, {0,8}, {1,9}, {2,10}, {3,11}, {0,9}, {1,10}, {2,11}, {0,10}, {1,11}, {0,11}
</p>
<p class="catlog">
{0,1,3}, {1,2,4}, {2,3,5}, {3,4,6}, {4,5,7}, {5,6,8}, {6,7,9}, <strike>{7,8,10}</strike>, {0,8,9}, {1,9,10}, {0,2,10}, {4,5,9}, {5,6,10}, {0,6,7}, {1,7,8}, {2,8,9}, {3,9,10}, {0,4,10}, {0,1,5}, {1,2,6}, {2,3,7}, <strike>{3,4,8}</strike>, {2,6,8}, {3,7,9}, <strike>{4,8,10}</strike>, {0,5,9}, {1,6,10}, {0,2,7}, <strike>{1,3,8}</strike>, {2,4,9}, {3,5,10}, {0,4,6}, {1,5,7}, {7,10,11}, {0,8,11}, {1,9,11}, {2,10,11}, {0,3,11}, {1,4,11}, {2,5,11}, {3,6,11}, {4,7,11}, {5,8,11}, {6,9,11}
</p>
<p>
The obvious question is whether or not we can continue in this fashion to consume all 44 triads exactly once without breaking the common duple rule tying successive bars together. I.e is there a <a href="http://mathworld.wolfram.com/HamiltonianPath.html" title="Wolfram Mathworld" target="_new">Hamiltonian path</a>, with the 3-sets regarded as the nodes of a graph? Or - even better - a Hamiltonian <em>circuit</em> in which the final, 44th, bar links neatly back to the 1st bar with a common duple.
</p>
<p>
Since at each stage of this construction we have two choices at both left and right edges, and bearing in mind that there are 44 3-sets to consume, along with 44 of the 66 duples (leaving 22 of them unemployed - one of the hazards of democracy?), it seems unlikely that the current example will succeed since it was begun somewhat arbitrarily, and grown via what amounts to a sequence of coin-tosses.
</p>
<p>
So, rather than (possibly) waste time working blindly, we can attempt to draw a graph of the design, with the 44 3-sets as nodes and the 66 duples as edges. Each edge will therefore connect two nodes (a direct consequence of <em>λ</em>=2) and each node will carry three edges (since each 3-set contains 3 2-sets and the 2-sets match the edges). With such a graph (although it's a bit of a mess) it may be easier to visualise a path or circuit which visits each (blue) node exactly once. We've emphasised the three edges we've used so far with three heavy reddish lines.
</p>
<p class='svg'>
<img src="http://image.storistry.com/pitch/4466designRandom.jpg">
</p>
<p>
But visual path detection seems by no means such an easy task. It would be helpful if we could find some software to do this. It doesn't take long to dig up an algorithm from the early 2000s (thank you <a href="http://www.dharwadker.org/hamilton/" target="_new" title="downloadable windows console application">Ashay Dharwadker</a>). All this particular piece of software requires is a text file containing an <a href="http://mathworld.wolfram.com/IncidenceMatrix.html" target="_new">incidence matrix</a> for the graph, which takes only minutes to prepare.
</p>
<p>
With our graph, the program produces 45 results almost instantly. Searching those results for circuits with the particular choices made above - perhaps not surprisingly - reveals nothing. However, the single circuit presented employs our last three bars (blocks {3,8,4} via {4,8} to {4,8,10} via {8,10} to {7,8,10}). Had we chosen {3,4} rather than the {3,8} we did, the previous bar (the first of four, above) would have been {3,4,6} instead of {3,1,8}, and we would at that point have remained on course - doubtless to hit the rocks not much later. But now we know better and the complete circuit is
</p>
<p class="catlog">
{0,1,3}, {1,3,8}, {1,7,8}, {1,5,7}, {4,5,7}, {4,5,9}, {2,4,9}, {1,2,4}, {1,2,6}, {1,6,10}, {5,6,10}, {3,5,10}, {2,3,5}, {2,5,11}, {2,10,11}, {0,2,10}, {0,4,10}, {0,4,6}, {3,4,6}, {3,4,8}, {4,8,10}, {7,8,10}, {7,10,11}, {4,7,11}, {1,4,11}, {1,9,11}, {1,9,10}, {3,9,10}, {3,7,9}, {2,3,7}, {0,2,7}, {0,6,7}, {6,7,9}, {6,9,11}, {3,6,11}, {0,3,11}, {0,8,11}, {5,8,11}, {5,6,8}, {2,6,8}, {2,8,9}, {0,8,9}, {0,5,9}, {0,1,5}
</p>
<p>
Which, as you can see, cycles from the final {0,1,5} via a {0,1} to the initial {0,1,3} (not that {0,1,3} must be initial - we could now start anywhere).
</p>
<p>
In the following figure, we present the circuit - labeling the edges only - with the triads occupying 44 nodes as blue discs. We do not need to clutter-label the nodes as the three pitch classes within each disc simply comprise the union of the pitch class pairs on the large circle's arcs on either side of it. For example, right at the top we have a disc/node with {0,1} to its left and {1,3} to its right, so we know this block is {0,1,3}. Note that the third edge's (every disc supports three edges) label, i.e. {0,3}, can be found halfway along the line tracing off down and to the left towards block/disc {0,3,11}.</p>
<p>
Placing edge labels automatically (halfway) may occasionally lead to confusion. Beware, for example, the {1,5} in proximity to the {1,3,8} node at the top. This may appear to suggest, erroneously, that pitch class 5 should be in that block. In fact that {1,5} labels an edge from two completely different nodes on either side and just happens to land inconveniently close by. It's true third edge's label, {3,8} is halfway along a line tracing to the south east.
</p>
<p class='svg'>
<img src="http://image.storistry.com/pitch/4466designRing.jpg">
</p>
<p>
Here is a simple musical manifestation of the circuit, along with a pair of audio files
</p>
<p class='svg'>
<img src="http://image.storistry.com/pitch/4466chant2.png" width="575">
<audio controls=""><source src="http://sonic.storistry.com/pitch/BlockChoir.mp3"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<audio controls=""><source src="http://sonic.storistry.com/pitch/BlockTutti.mp3"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
</p>
<p>
The second playable example is a faster manifestation with tuned percussion and a bit of rhythmic interest (just not very much). It lasts longer only because it's played twice around the Hamiltonian circuit.
</p>
<p>
Note that the above block design - essentially the set of 44 3-sets, from which we have serialised the blocks in a sequence of our own choosing to satisfy some musical whim is only one of the 242995846<a href="#counts"><sup>[3]</sup></a> purported (12,44,11,3,2) block designs. One may apprehend the size of the solution space by considering the 22 unused edges criss-crossing the large circle above. There is no obvious pattern and one should not expect one. Indeed it would be a little unnerving to find one.
</p>
<h3>The Higher Strata</h3>
<p>
Other factorisations of the <em>vr</em>=<em>bk</em> invariant (in this case equal to 132) allow us to propose designs of 33 blocks of 4-sets (tetrachords or tetratonic scales/arpeggios), for example the following (12,33,11,4,3) design, where our 66 duples each turn up 3 times (there are more than 17 million<a href="#counts"><sup>[3]</sup></a> of these, this is just one of them):
</p>
<p class="catlog">
{0,1,3,7}, {1,2,4,8}, {2,3,5,9}, {3,4,6,10}, {0,4,5,7}, {1,5,6,8}, {2,6,7,9}, {3,7,8,10}, {0,4,8,9}, {1,5,9,10}, {0,2,6,10}, {2,4,9,10}, {0,3,5,10}, {0,1,4,6}, {1,2,5,7}, {2,3,6,8}, {3,4,7,9}, {4,5,8,10}, {0,5,6,9}, {1,6,7,10}, {0,2,7,8}, {1,3,8,9}, {5,6,8,11}, {6,7,9,11}, {7,8,10,11}, {0,8,9,11}, {1,9,10,11}, {0,2,10,11}, {0,1,3,11}, {1,2,4,11}, {2,3,5,11}, {3,4,6,11}, {4,5,7,11}
</p>
<p>
There's another invariant of such systems, <em>viz.</em> <em>λ</em>(<em>v</em>-1) = <em>r</em>(<em>k</em>-1). The first has 1×(12-1) = 11×(2-1) and the last 5×(12-1) = 11×(6-1). You may wish to confirm this with the other two designs.
</p>
<p>
Designs comprising 22 blocks of 6-sets (hexachords and/or hexatonic arpeggios) exist. E.g. the (12,22,11,6,5) design where our 66 duples each turn up 5 times (1 of 11603<a href="#counts" name="rcounts"><sup>[3]</sup></a> possible designs):
</p>
<p class="catlog">
{0,2,3,4,8,10}, {0,1,3,4,5,9}, {1,2,4,5,6,10}, {0,2,3,5,6,7}, {1,3,4,6,7,8}, {2,4,5,7,8,9}, {3,5,6,8,9,10}, {0,4,6,7,9,10}, {0,1,5,7,8,10}, {0,1,2,6,8,9}, {1,2,3,7,9,10}, {1,5,6,7,9,11}, {2,6,7,8,10,11}, {0,3,7,8,9,11}, {1,4,8,9,10,11}, {0,2,5,9,10,11}, {0,1,3,6,10,11}, {0,1,2,4,7,11}, {1,2,3,5,8,11}, {2,3,4,6,9,11}, {3,4,5,7,10,11}, {0,4,5,6,8,11}
</p>
<p>
In a block design such as this, transitioning between blocks via duples would be modelled by a graph with the 22 blocks (nodes) and 165 (duples) edges, with each node carrying <sub>6</sub>C<sub>2</sub> = 15 edges.
</p>
<p>
At first glance a design using 5-sets, with pentatonics, seems impossible since <em>k</em>=5 doesn't divide evenly into <em>v</em>=12. But we may accomodate pentatonic designs by relaxing the <em>vr</em>=132 constraint (it must still equal <em>bk</em> though!). I.e. have <em>r</em>=55 of each pitch class turn up in a (rather larger) structure of <em>b</em>=132 <em>k</em>=5-sets with <em>λ</em>=20 instances each of our intervalic duples in a (12, 132, 55, 5, 20) design.
</p>
<h3>Realpolitik</h3>
<p>
We finally note here that - with these 2-designs - no particular pitch classes or intervals stand out against each other <em>in the design</em>. But particular musical applications of it may - for example by keeping 22 nominally equal citizens out of work as we did above. Other musical economies may be more successful in employing everyone. Additionally, in any application of a <em>particular</em> design, it will be the case that one (12,44,11,3,2) block design will draw attention to only 44 of the 220 possible <em>triads</em> mentioned above. And another will favour a different 44. It's fair(-ish) to say, then, that musical democracy extends upwards in the <em>aggregations of all possible 2-designs</em>, i.e. not simply any one of them. Naturally, you may <em>actually</em> democratise triples by building 3-designs, quadruples with 4-designs, etc. The problem with 'equal opportunities' for a design employing all 220 3-set citizens in equal numbers (via that design's λ value) is that no pre-singularity human being will be able to apprehend the structure. It's certainly not likely that even the 'mere' 44-ness presented here would be noticed as some kind of integrable musical idea - the 40 parts available to listeners of <a href="https://en.wikipedia.org/wiki/Spem_in_alium" target="_new"><em>Spem In Alium</em></a> notwithstanding (thanks due to <a href="https://denhaag.remonstranten.nl/blog/actueel/hans-jacobi-componist-van-de-maand/" target="_new">Hans Jacobi</a> for this thought).
</p>
<p>
I'm extremely grateful to <a href="https://en.wikipedia.org/wiki/Tom_Johnson_(composer)" title="An American in Paris" tag="_new">Tom Johnson</a>, with whom I spent a pleasant and mathematically engrossing couple of hours at the end of June, 2018. For it was he who introduced me to the world of block designs, both at his <a href="https://www.instagram.com/p/BknKGYdHsXe/" target="_new">fortress of <em>solfège-étude</em></a> and via his book<a href="#blocks" name="rblocks"><sup>[4]</sup></a>. The field presents a vast source of ideas, with which I'm now mildly obsessed.
</p>
<p><a href="#rtrows" name="trows">
<sup>[1]</sup>
<a href="https://core.ac.uk/download/pdf/82043504.pdf" target="_new"><em>Combinatorial problems in the theory of music</em></a>, R C Read, Elsevier Discrete Mathematics 1997, table 2 page 547.</a>
</p>
<p><a href="#reggs" name="eggs">
<sup>[2]</sup>
<a href="https://www.jstor.org/stable/1402466" target="_new"><em>A Survey of Resolvable Solutions of Balanced Incomplete Block Designs</em></a>, Kageyama Sanpei, Longman Int Stat Rev Vol 40#3 1972, table on page 270.</a>
</p>
<p><a href="#rcounts" name="counts">
<sup>[3]</sup>
<a href="https://books.google.co.uk/books?id=S9FA9rq1BgoC" target="_new"><em>Handbook of Combinatorial Designs, IIed</em></a>, Charles J Colbourn and Jeffrey H Dinitz, CRC Press 2010, page 37.</a>
</p>
<p><a href="#rblocks" name="blocks">
<sup>[4]</sup>
<a href="http://oh.editions75.com/" target="_new"><em>Other Harmony - beyond tonal and atonal</em></a>, Tom Johnson, Editions 75 2014, block designs page 191.</a>
</p>
LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-40614617059717692942018-07-05T18:01:00.001+01:002018-07-30T00:34:07.039+01:00All The Intervals<style>span.tite {white-space: nowrap} th { border: 2px outset #FDA; } td { text-align: center; } td.inst { font-family: 'Lucida Console', Courier; font-weight: 300; }</style>
<p>The so-called <a href="https://en.wikipedia.org/wiki/All-interval_tetrachord" target="_new" title="Forte 4-Z15 and 4-Z29">'all interval tetrachord'</a> is not exactly news to musicians, although that this news is only dozens, and not hundreds, of years old is possibly surprising. Its (or more accurately <i>their</i>, since there's more than one) 'interestingness' having been exposed only (relatively) recently is due to pitch class set theorists who invented the 'interval-class-vector' (<span title="I.e. it's not a goddam vector">scare-quotes because of course it's in only the loosest, most informal, mathematically-anathematical, way any kind of a vector</span>). This <i>intervalency</i> is the thing which usually turns up in PC set theory as a comma separated list of numbers between a pair of angled brackets, such as <2,5,4,3,6,1>. It lists - in order - the frequency of occurence of differences between each pair of pitch classes in the set it's being used to characterise, where the differences range from 1 to 6 in the 12 tone system (because the shortest distance between any two 'hour points' on a clock is always going to be between 1 and 6).</p>
<h3>History</h3>
<p>Although it would have easily been possible for any (say) 15th century musician to notice that the tetrad comprising (say) the pitches B, C, E♭ and F carried (between B and C, B and E♭, B and F, C and E♭, C and F, E♭ and F) respective separations of 1, 4, 6, 3, 5, 2 semitones - which is to say <i>exactly one of each possible separation between any pair of notes</i>, it's not clear that this would have been considered in any way remarkable.</p>
<p>Indeed there seems little evidence that musicians - or even mathematicians - were considerate of the number of possible tetrachords (or chords of any size) possible within a universe of twelve pitches before the middle of the 19th century. <a href="http://www.perspectivesofnewmusic.org/TOC451.pdf" target="_Verdi" title="Article, 2007">Luigi Verdi's survey article</a> of proto, pre-USAnian if you will, pitch class set theories "<a href="http://www.worldcat.org/title/proceedings-of-the-symposium-around-set-theory-a-french-american-musicological-meeting-ircam-october-15-16-2003/oclc/420938820" target="_Verdi" title="IRCAM Conference, 2008"><i>The History of Set Theory from a European point of view</i></a>" is well worth a read in this regard. There are, by the way, <a href="https://www.blogger.com/p/all-scales.html#48Sets" target="_new">43 such tetrachords</a> and only 4 of these have this property.</p>
<p>Note that when <i>we</i> say 43, it depends on what you are counting - in this case it's <i>all</i> of the distinct shapes, their reflections, and <i title="Thanks to Tom Johnson who, via Franck Jedrzejewski, introduced me to a superior (to Z-forms), scalable crystallographic terminology historically connected to Rosalind Franklyn's Patterson Maps of DNA">homometries</i>. If you ignore reflections (i.e. if you accept the essential identity of <i>congruent</i> shapes regardless of mirroring) it drops to 29 since 15 of the quadrilaterals have (at least) bilateral symmetry, and the remaining 28 turn up as 14 asymmetric mirror-image pairs. If, further, you ignore homometries (differently-shaped tetrads with the same intervalency) it drops to 28 because 2 of those 14 pairs of mutually inversional tetrads - which happen to be the subject of this very post - carry the same interval-class distribution, which is to say one instance of each interval class 1 to 6.</p>
<h3>The 'classic' case</h3>
<p>
<figure><figcaption>The Four All-Interval Tetratonic sets out of <strong>ℤ</strong><sub>12</sub></figcaption>
<svg height="100" width="400" xmlns="http://www.w3.org/2000/svg">
<style>text.anno {stroke-width: 0; fill: white; font: 'Lucida Sans Typewriter' 9; }</style>
<symbol id="base12">
<polygon class="ring" points="50,4 73,10 90,27 96,50 90,73 73,90 50,96 27,90 10,73 4,50 10,27 27,10"/>
<polygon class="back" points="50,8 71,14 86,29 92,50 86,71 71,86 50,92 29,86 14,71 8,50 14,29 29,14"/>
</symbol>
<symbol id="A1326">
<polygon class="asym" points="50,8 71,14 86,71 50,92"/>
<text class="anno" x="57" y="15">1</text>
<text class="anno" x="75" y="46">3</text>
<text class="anno" x="64" y="86">2</text>
<text class="anno" x="46" y="54">6</text>
</symbol>
<symbol id="A2316">
<polygon class="asym" points="50,8 86,29 71,86 50,92"/>
<text class="anno" x="64" y="23">2</text>
<text class="anno" x="75" y="62">3</text>
<text class="anno" x="56" y="93">1</text>
<text class="anno" x="46" y="54">6</text>
</symbol>
<symbol id="A1245">
<polygon class="asym" points="50,8 71,14 92,50 29,86"/>
<text class="anno" x="57" y="15">1</text>
<text class="anno" x="78" y="36">2</text>
<text class="anno" x="56" y="72">4</text>
<text class="anno" x="35" y="51">5</text>
</symbol>
<symbol id="A4215">
<polygon class="asym" points="50,8 86,71 50,92 29,86"/>
<text class="anno" x="64" y="44">4</text>
<text class="anno" x="64" y="86">2</text>
<text class="anno" x="35" y="93">1</text>
<text class="anno" x="35" y="51">5</text>
</symbol>
<use href="#base12" x="0" y="0"></use>
<use href="#base12" x="100" y="0"></use>
<use href="#base12" x="200" y="0"></use>
<use href="#base12" x="300" y="0"></use>
<use href="#A1326" x="0" y="0"></use>
<use href="#A2316" x="100" y="0"></use>
<use href="#A1245" x="200" y="0"></use>
<use href="#A4215" x="300" y="0"></use>
</svg></figure>
<figure>
<figcaption>The above four PC sets applied as chords (with F ≡ Pitch Class 0)</figcaption>
<img src="http://image.storistry.com/adhoc/AllInSets.jpg" width="640" alt="PC Sets 4-Z15 and 4-Z29"/>
</figure>
</p>
<h3>1326 chord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/1326-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<h3>1245 chord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/1245-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<h3>Wherefore art thou audio?</h3>
<p>So what exactly is so remarkable about these chords anyway? They don't sound all that great, especially when instantiated in their most compacted forms as a Fortean Prime Form Cluster (4-Z15 ≡ {0, 1, 4, 6} and 4-Z29 ≡ {0, 1, 3, 7}). One may, reasonably easily, see in the second of these forms certain jazziness since the root, minor 3rd, 5th and (the '1' being bumped up an octave) the minor 9th are applicable (<i>sans</i> the 7th). And an inversion of the first set (subtracting 1 from each element makes its second member a new root) {11, 0, 3, 5} carries a minor 3rd, a 4th and a major 7th in plain sight, as it were.</p>
<p><figure>
<figcaption>A pair of jazzy applications of 4-Z29A and 4Z-15A</figcaption>
<img src="http://image.storistry.com/adhoc/AllInJazzi.jpg" width="640" alt="A Displacement and an Inversion"/>
</figure>
</p>
<p>But mainly the interest is in its very rarity as a musical (or geometric) object, in that out of all possible PC sets (<a href="https://www.blogger.com/p/351-versus-2048.html" target="_CVO" title="cyclic group 12">351 distinct polygonal shapes</a>, <a href="https://www.blogger.com/p/224-versus-351.html" target="_CVO" title="dihedral group 12">223 distinct polygonal congruences</a>, <a href="https://www.blogger.com/p/200-versus-223.html" target="_CVO" title="homometric group 12">200 distinct polygonal homometries</a>) that one may pull out of a 12 pitch class universe, only these 4 (2 if you equivalence reflections, 1 if you equivalence intervalencies) have the property that the frequency distribution (or, more simply, 'counts') of differences between every single pair of pitch classes in the set occur exactly once.</p>
<p>Actually, the term 'all-interval set' is rather a weak description of the kind of object we're considering since, with enough pitch class pairs to play with (i.e. given sufficiently large k for a particular N), it's almost impossible to avoid all interval (classes) turning up between them. A better term would bring out not only the completeness of the coverage but also its parsimony, i.e. with exactly one instance of each. It's <i>that</i> property which makes these objects interesting, and this term doesn't really do it justice. The closest we seem to have is from <a href="https://books.google.co.uk/books/about/Music_and_Mathematics.html?id=kFH69I4Y_l0C" title="Microtones and Projective Planes. in Music and Mathematics: From Pythagoras to Fractals" target="_new">Gamer and Wilson, in 2003</a>, who recognise and define "a difference set (modulo n) to be a set of distinct integers c<sub>1</sub>, …, c<sub><i>k</i></sub> (modulo n) for which the differences c<sub><i>i</i></sub> − c<sub><i>j</i></sub> (for <i>i</i> ≠ <i>j</i>) include each non-zero integer (modulo n) exactly once" - but these are not the words you are looking for. Combinatorial Mathematics has the term "planar difference set", but this terminology would likely be completely opaque to a musician.</p>
<p>Such a property cannot simply happen for any set. Firstly, the things being counted are difference classes (i.e. the smaller of the two values |c<sub>i</sub>-c<sub>j</sub>| and N-|c<sub>i</sub>-c<sub>j</sub>| separating numbers c<sub>i</sub> and c<sub>j</sub> on an N-houred clock) between pairs of integers (c<sub>i</sub>, c<sub>j</sub> in the range 0 … N-1) drawn from the finite set <strong>ℤ</strong><sub>N</sub>. In the above example, N is of course 12 and only (absolute) differences of 1 to 6 may turn up. In general, the number of possible values one may have for differences is N/2 for even N and (N-1)/2 for odd N. For instance, when N = 13 the differences from the 'top of the clock, at 0 [or any multiple of 13]' range from 1 - 0 to 6 - 0 clockwise, then 7 - 0 (having passed the halfway point of 6½) is the same distance or separation as 13 - 7 = 6; 8 - 0 is the same separation as 13 - 8 = 5, etc.</p>
<p>Secondly, the number of interval classes is not arbitrary. A set containing <i>k</i> pitch classes (i.e. a set P<sub>k</sub> = { c<sub>1</sub>, c<sub>2</sub>, c<sub>3</sub>, … c<sub>k-1</sub>, c<sub>k</sub> }) can carry only <span class="tite">k(k-1)/2</span> - a <a href="https://en.wikipedia.org/wiki/Triangular_number" title="numbers 1, 3, 6, 10, 15, 21, 28, ..." target="_new">triangular number</a> - pitch class differences |c<sub>i</sub> - c<sub>j</sub>| (i ≠ j). Thus if the <i>distribution</i> of these <span class="tite">k(k-1)/2</span> differences is to be a <span class="tite">k(k-1)/2</span> length list of 'all-exactly' 1s, it's clear that the only tonalities which can possibly carry these objects are modelled by <strong>ℤ</strong><sub>2</sub>, <strong>ℤ</strong><sub>3</sub>, <strong>ℤ</strong><sub>6</sub>, <strong>ℤ</strong><sub>7</sub>, <strong>ℤ</strong><sub>12</sub>, <strong>ℤ</strong><sub>13</sub>, <strong>ℤ</strong><sub>20</sub>, <strong>ℤ</strong><sub>21</sub>, <strong>ℤ</strong><sub>30</sub>, <strong>ℤ</strong><sub>31</sub>, etc where the corresponding all-interval k-sets are of dichords in <strong>ℤ</strong><sub>2</sub> & <strong>ℤ</strong><sub>3</sub>, trichords in <strong>ℤ</strong><sub>6</sub> & <strong>ℤ</strong><sub>7</sub>, tetrachords in <strong>ℤ</strong><sub>12</sub> & <strong>ℤ</strong><sub>13</sub>, pentachords in <strong>ℤ</strong><sub>20</sub> & <strong>ℤ</strong><sub>21</sub>, hexachords in <strong>ℤ</strong><sub>30</sub> & <strong>ℤ</strong><sub>31</sub> etc.</p>
<p>As it happens, <strong>ℤ</strong><sub>13</sub> has a similar quartet:</p>
<p>
<figure><figcaption>The Four All-Interval Tetratonic sets out of <strong>ℤ</strong><sub>13</sub></figcaption>
<svg height="100" width="400" xmlns="http://www.w3.org/2000/svg">
<symbol id="base13">
<polygon class="ring" points="50,4 71,9 88,24 96,44 93,66 81,84 61,95 39,95 19,84 7,66 4,44 12,24 29,9"/>
<polygon class="back" points="50,8 70,13 85,26 92,45 89,65 78,81 60,91 40,91 22,81 11,65 8,45 15,26 30,13"/>
</symbol>
<symbol id="A1327">
<polygon class="asym" points="50,8 70,13 89,65 60,91"/>
<text class="anno" x="56" y="14">1</text>
<text class="anno" x="75" y="43">3</text>
<text class="anno" x="71" y="82">2</text>
<text class="anno" x="51" y="53">7</text>
</symbol>
<symbol id="A2317">
<polygon class="asym" points="50,8 85,26 78,81 60,91"/>
<text class="anno" x="63" y="21">2</text>
<text class="anno" x="77" y="58">3</text>
<text class="anno" x="65" y="90">1</text>
<text class="anno" x="51" y="53">7</text>
</symbol>
<symbol id="A2146">
<polygon class="asym" points="50,8 85,26 92,45 40,91"/>
<text class="anno" x="63" y="21">2</text>
<text class="anno" x="84" y="40">1</text>
<text class="anno" x="62" y="72">4</text>
<text class="anno" x="41" y="53">6</text>
</symbol>
<symbol id="A4126">
<polygon class="asym" points="50,8 89,65 78,81 40,91"/>
<text class="anno" x="66" y="40">4</text>
<text class="anno" x="80" y="77">1</text>
<text class="anno" x="55" y="90">2</text>
<text class="anno" x="41" y="53">6</text>
</symbol>
<use href="#base13" x="0" y="0"></use>
<use href="#base13" x="100" y="0"></use>
<use href="#base13" x="200" y="0"></use>
<use href="#base13" x="300" y="0"></use>
<use href="#A1327" x="0" y="0"></use>
<use href="#A2317" x="100" y="0"></use>
<use href="#A2146" x="200" y="0"></use>
<use href="#A4126" x="300" y="0"></use>
</svg></figure>
</p>
<p>It's evident that the shapes are pretty similar to those found in <strong>ℤ</strong><sub>12</sub>. That they are in adjacent tonalities does not necessarily mean that 'all interval' shapes would be expected to be broadly similar.</p>
<h3>Interval Strings</h3>
<p>The white numerical annotations (along the polygonal edges) are simply the number of skips between each pitch class in the ordered set (the polygonal vertices). This <i>interval skip</i>, or <i>interval string</i> notation is a <a href="p/4115-hexatonic-pc-sets.html#instradvoc">vastly superior method of denoting pitch class sets</a>, far out-transparenting the structure-hiding and equivalence-hiding opacity of listing pitch class numbers between braces - which should only ever be needed when you're on the verge of committing music to paper (performers do - after all - usually need to know what actual notes to play).</p>
<p>Its superiority as an 'interval showcase' is achieved by first tabulating all of its <i>k</i>(<i>k</i>-1) substrings (<i>k</i> of length 1, <i>k</i> of length 2, <i>k</i> of length 3 … <i>k</i> of length <i>k</i>-2 and <i>k</i> of length <i>k</i>-1), e.g. for one of the modes of 2317, such as 1723 (a mode being just a rotation of the set's polygonal representation within its 'N hour clock' space, keeping its top, 'noon', slot occupied):</p>
<p><table cellpadding="0" cellspacing="0" width="50%">
<thead>
<tr><th colspan="3">substrings of '1723' of length</th></tr>
<tr><th>1</th><th>2</th><th>3</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>17</td><td>172</td></tr>
<tr><td>7</td><td>72</td><td>723</td></tr>
<tr><td>2</td><td>23</td><td>317</td></tr>
<tr><td>3</td><td>31</td><td>231</td></tr>
</tbody>
</table></p>
<p>Then we just 'sum' each substring (by adding up its digits):</p>
<p><table cellpadding="0" cellspacing="0" width="50%">
<thead>
<tr><th colspan="3">substring sums</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>8</td><td>10</td></tr>
<tr><td>7</td><td>9</td><td>12</td></tr>
<tr><td>2</td><td>5</td><td>11</td></tr>
<tr><td>3</td><td>4</td><td>6</td></tr>
</tbody>
</table></p>
<p>It is then evident by inspection that each interval in the set 1, 2, … 10, 11, 12 turns up exactly once. You may satisfy yourself that this works also for the pattern 2146 and any of its rotations. Pick any other interval string consistent with <strong>ℤ</strong><sub>13</sub> and you will easily see either missing or duplicated intervals in the sum table.</p>
<p>As a matter of (possibly minor - since the tonal universes are so small) interest, the tonal space <strong>ℤ</strong><sub>6</sub> - in which the all-interval sets are perforce triads - is the only space where an all-interval set could be the same size as its complementary set. As it happens there are a pair of such sets, 132 and 123 (interval string-wise) which are indeed not only self-inverse but self-complementary. If you insist on explicit Pitch Class Set representations (where their inversional relationships are much less immediately evident), they are {0,1,4} and {0,1,3}. The heptaphonic space <strong>ℤ</strong><sub>7</sub> also admits of a pair of all-interval sets 142 and 124 ({0,1,5} and {0,1,3}) - also clearly (from their interval string representations) mutual inverses.</p>
<h3>More solutions</h3>
<p>The next possible tonality where we could find an all-interval set would be where the triangular number is 10 (where <i>k</i> = 5), which would have to be half the number of possible interval classes carried by it (i.e. where N = 20 or 21). But it turns out that there are no such sets to be found in <strong>ℤ</strong><sub>20</sub>. There is, however a single pair of mutually inverse 5-sets in <strong>ℤ</strong><sub>21</sub> and it
is 2513A (and its inverse 3152A), in interval-string denotation (where 'A' stands for an interval of 10). These are PC sets {0, 2, 7, 8, 11} and {0, 3, 4, 9, 11} in what would be their prime form, had Forte considered tonalities other than dodecaphonic, with a corresponding intervalency (interval-vector »<i>choke</i>«) of <1,1,1,1,1,1,1,1,1,1>. We can draw their polygons, but cannot reasonably represent them on a musical staff without use of microtonal notations.</p>
<p>
<figure>
<figcaption>The only pair of all-interval pentachords in <strong>ℤ</strong><sub>21</sub>ville</figcaption>
<svg height="100" width="200" xmlns="http://www.w3.org/2000/svg">
<symbol id="base21">
<polygon class="ring" points="50,4 64,6 76,12 86,21 93,33 96,47 95,60 90,73 81,84 70,91 57,95 43,95 30,91 19,84 10,73 5,60 4,47 7,33 14,21 24,12 36,6"/>
<polygon class="back" points="50,8 62,10 74,15 83,24 89,35 92,47 91,59 86,71 79,81 68,88 56,92 44,92 32,88 21,81 14,71 9,59 8,47 11,35 17,24 26,15 38,10"/>
</symbol>
<symbol id="A2513A">
<polygon class="asym" points="50,8 74,15 86,71 79,81 44,92"/>
<text class="anno" x="58" y="16">2</text>
<text class="anno" x="76" y="47">5</text>
<text class="anno" x="78" y="80">1</text>
<text class="anno" x="57" y="90">3</text>
<text class="anno" x="43" y="54">A</text>
</symbol>
<symbol id="A3152A">
<polygon class="asym" points="50,8 83,24 89,35 68,88 44,92"/>
<text class="anno" x="62" y="20">3</text>
<text class="anno" x="82" y="33">1</text>
<text class="anno" x="75" y="65">5</text>
<text class="anno" x="52" y="94">2</text>
<text class="anno" x="43" y="54">A</text>
</symbol>
<use href="#base21" x="0" y="0"></use>
<use href="#base21" x="100" y="0"></use>
<use href="#A2513A" x="0" y="0"></use>
<use href="#A3152A" x="100" y="0"></use>
</svg>
</figure>
</p>
<p>By now, we can see a definite 'meat cleaver' shape common to many of these polygons (the triangles from <strong>ℤ</strong><sub>6</sub> and <strong>ℤ</strong><sub>7</sub>, being so geometrically limited, could be said to resemble either 4-Z15 or 4-Z29).</p>
<p>Next up would be <strong>ℤ</strong><sub>30</sub>, but again there are no sets to be found. This is somewhat over-compensated for in <strong>ℤ</strong><sub>31</sub> where we jump to 5 homometric pairs - 13278A and 87231A, 47215C and 51274C, 12546D and 64521D, 17324E and 42371E, and finally 13625E and 52631E. Here they are (though this time we'll place the inversions underneath rather than to the right), each carrying exactly one instance of interval classes 1 to 15:</p>
<figure>
<figcaption>Five pairs of all-interval hexachords in <strong>ℤ</strong><sub>31</sub>ville</figcaption>
<svg height="200" width="500" xmlns="http://www.w3.org/2000/svg">
<symbol id="base31">
<polygon class="ring" points="50,4 59,5 68,8 76,12 83,18 89,26 93,34 95,43 96,52 95,62 91,70 86,78 80,85 72,90 64,94 55,96 45,96 36,94 28,90 20,85 14,78 9,70 5,62 4,52 5,43 7,34 11,26 17,18 24,12 32,8 41,5"/>
<polygon class="back" points="50,8 58,9 67,11 74,16 80,21 86,28 89,35 92,44 92,52 91,61 88,68 83,76 77,82 70,87 63,90 54,92 46,92 37,90 30,87 23,82 17,76 12,68 9,61 8,52 8,44 11,35 14,28 20,21 26,16 33,11 42,9"/>
</symbol>
<symbol id="A13278A">
<polygon class="asym" points="50,8 58,9 80,21 89,35 70,87 12,68"/>
<text class="anno" x="50" y="12">1</text>
<text class="anno" x="65" y="19">3</text>
<text class="anno" x="81" y="32">2</text>
<text class="anno" x="76" y="65">7</text>
<text class="anno" x="37" y="82">8</text>
<text class="anno" x="27" y="42">A</text>
</symbol>
<symbol id="A87231A">
<polygon class="asym" points="50,8 92,52 54,92 37,90 17,76 12,68"/>
<text class="anno" x="67" y="34">8</text>
<text class="anno" x="69" y="76">7</text>
<text class="anno" x="42" y="95">2</text>
<text class="anno" x="23" y="87">3</text>
<text class="anno" x="11" y="76">1</text>
<text class="anno" x="27" y="42">A</text>
</symbol>
<symbol id="A47215C">
<polygon class="asym" points="50,8 80,21 83,76 70,87 63,90 23,82"/>
<text class="anno" x="61" y="19">4</text>
<text class="anno" x="78" y="52">7</text>
<text class="anno" x="73" y="85">2</text>
<text class="anno" x="62" y="92">1</text>
<text class="anno" x="39" y="90">5</text>
<text class="anno" x="32" y="49">C</text>
</symbol>
<symbol id="A51274C">
<polygon class="asym" points="50,8 86,28 89,35 92,52 54,92 23,82"/>
<text class="anno" x="64" y="22">5</text>
<text class="anno" x="84" y="36">1</text>
<text class="anno" x="87" y="48">2</text>
<text class="anno" x="69" y="76">7</text>
<text class="anno" x="34" y="91">4</text>
<text class="anno" x="32" y="49">C</text>
</symbol>
<symbol id="A12546D">
<polygon class="asym" points="50,8 58,9 74,16 92,52 77,82 30,87"/>
<text class="anno" x="50" y="12">1</text>
<text class="anno" x="62" y="16">2</text>
<text class="anno" x="79" y="38">5</text>
<text class="anno" x="81" y="71">4</text>
<text class="anno" x="49" y="88">6</text>
<text class="anno" x="36" y="51">D</text>
</symbol>
<symbol id="A64521D">
<polygon class="asym" points="50,8 89,35 88,68 54,92 37,90 30,87"/>
<text class="anno" x="66" y="26">6</text>
<text class="anno" x="85" y="56">4</text>
<text class="anno" x="67" y="84">5</text>
<text class="anno" x="42" y="95">2</text>
<text class="anno" x="30" y="92">1</text>
<text class="anno" x="36" y="51">D</text>
</symbol>
<symbol id="A13625E">
<polygon class="asym" points="50,8 58,9 80,21 88,68 77,82 37,90"/>
<text class="anno" x="50" y="12">1</text>
<text class="anno" x="65" y="19">3</text>
<text class="anno" x="80" y="49">6</text>
<text class="anno" x="79" y="79">2</text>
<text class="anno" x="53" y="90">5</text>
<text class="anno" x="40" y="53">E</text>
</symbol>
<symbol id="A52631E">
<polygon class="asym" points="50,8 86,28 92,44 70,87 46,92 37,90"/>
<text class="anno" x="64" y="22">5</text>
<text class="anno" x="85" y="40">2</text>
<text class="anno" x="77" y="69">6</text>
<text class="anno" x="54" y="93">3</text>
<text class="anno" x="38" y="95">1</text>
<text class="anno" x="40" y="53">E</text>
</symbol>
<symbol id="A17324E">
<polygon class="asym" points="50,8 58,9 92,52 83,76 70,87 37,90"/>
<text class="anno" x="50" y="12">1</text>
<text class="anno" x="71" y="34">7</text>
<text class="anno" x="84" y="68">3</text>
<text class="anno" x="73" y="85">2</text>
<text class="anno" x="50" y="92">4</text>
<text class="anno" x="40" y="53">E</text>
</symbol>
<symbol id="A42371E">
<polygon class="asym" points="50,8 80,21 89,35 91,61 46,92 37,90"/>
<text class="anno" x="61" y="19">4</text>
<text class="anno" x="81" y="32">2</text>
<text class="anno" x="86" y="52">3</text>
<text class="anno" x="64" y="80">7</text>
<text class="anno" x="38" y="95">1</text>
<text class="anno" x="40" y="53">E</text>
</symbol>
<use href="#base31" x="0" y="0"></use>
<use href="#base31" x="100" y="0"></use>
<use href="#base31" x="200" y="0"></use>
<use href="#base31" x="300" y="0"></use>
<use href="#base31" x="400" y="0"></use>
<use href="#base31" x="0" y="100"></use>
<use href="#base31" x="100" y="100"></use>
<use href="#base31" x="200" y="100"></use>
<use href="#base31" x="300" y="100"></use>
<use href="#base31" x="400" y="100"></use>
<use href="#A13625E" x="0" y="0"></use>
<use href="#A52631E" x="0" y="100"></use>
<use href="#A17324E" x="100" y="0"></use>
<use href="#A42371E" x="100" y="100"></use>
<use href="#A12546D" x="200" y="0"></use>
<use href="#A64521D" x="200" y="100"></use>
<use href="#A47215C" x="300" y="0"></use>
<use href="#A51274C" x="300" y="100"></use>
<use href="#A13278A" x="400" y="0"></use>
<use href="#A87231A" x="400" y="100"></use>
</svg>
</figure>
</p>
<h3>13625E hexachord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/13625e-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<h3>17324E hexachord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/17324e-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<h3>12546D hexachord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/12546d-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<h3>47215C hexachord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/47215c-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<h3>13278A hexachord (rooted on 440Hz)</h3> <audio controls=""><source src="http://sonic.storistry.com/13278a-440.wav"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio>
<p>The polygons are ordered in, again, what would be their Fortean prime forms; i.e. interval strings are descending reverse alphabetically ordered horizontally (which is, essentially, how prime form is calculated) and vertically (the upper reverse-sorting before its corresponding lower inversion). Note that by 'reverse alphabetically' we mean the <i>reversed</i> strings are ordered descendingly. Blame Forte.</p>
<p>It is the author's fancy that the meat cleaver remains visible in one of these pairs.</p>
<h3>Systematic Solutions</h3>
<p>Jedrzejewski and Johnson's useful 2013 paper, <a href="https://www.researchgate.net/publication/236274486_The_Structure_of_Z-Related_Sets" target="_new" title="Montreal 2013 International Conference on Mathematics and Computation in Music"><i>The Structure of Z-Related Sets</i></a>, presents polynomials capable of representing both pitch class sets and their consequent intervalic distributions. These derive from the realm of crystallography and Patterson Functions. Briefly, it means that a pitch class set {<i>p<sub>1</sub></i>, <i>p<sub>2</sub></i>, … <i>p<sub>k-1</sub></i>, <i>p<sub>k</sub></i>} - as usual of size k and drawn from a tonality of order n - and its inversion may be represented by a polynomial in <i>x</i>:</p>
<p><i>P</i>(<i>x</i>; <i>k</i>, <i>n</i>) = <i>x</i><sup>p<sub>1</sub></sup> + <i>x</i><sup>p<sub>2</sub></sup> + … + <i>x</i><sup>p<sub><i>k</i>-1</sub></sup> + <i>x</i><sup>p<sub><i>k</i></sub></sup></p>
<p><i>P</i><sup>-1</sup>(<i>x</i>; <i>k</i>, <i>n</i>) = <i>P</i>(<i>x</i><sup>-1</sup>; <i>k</i>, <i>n</i>) = <i>x</i><sup>-p<sub>1</sub></sup> + <i>x</i><sup>-p<sub>2</sub></sup> + … + <i>x</i><sup>-p<sub><i>k</i>-1</sub></sup> + <i>x</i><sup>-p<sub><i>k</i></sub></sup></p>
<p>where, without loss of generality, 0 ≤ <i>p</i><sub>1</sub> < <i>p</i><sub>2</sub> < … <i>p</i><sub><i>k</i>-1</sub> < <i>p</i><sub><i>k</i></sub> < <i>n</i> are the <i>k</i> pitch classes in the set and where the consequent interval distribution between those pairs of pitch classes is measured as the coefficients of the <i>k</i>(<i>k</i>-1) powers of x in the expression <span class="tite"><i>P</i>(<i>x</i>; <i>k</i>, <i>n</i>)<i>P</i><sup>-1</sup>(<i>x</i>; <i>k</i>, <i>n</i>)</span>. Note that all exponents of <i>x</i> are taken modulo <i>n</i>. Thus <i>x</i><sup>-p<sub>2</sub></sup>, for example, may be rewritten as <i>x</i><sup><i>n</i>-p<sub>2</sub></sup> to regain positive exponents.</p>
<p>In our particular case we seek pitch class sets which carry exactly one instance of each interval from 1 to <i>n</i>-1. For this purpose we don't particularly care whether or not the set is in prime form (since we can always turn it into its prime form after we have found it) and so we might as well fix the first two pitch classes as 0 and 1 - or in other words have our sets be at least in normal form (with pitch class 0 at the beginning) and with the shortest interval of 1 - between those two pitch classes - right at the beginning of the set. Thus we seek those particular <span class="tite"><i>P</i>(<i>x</i>; <i>k</i>, <i>n</i>)</span> looking like:</p>
<p>1 + <i>x</i> + <i>x</i><sup>p<sub>3</sub></sup> + … + <i>x</i><sup>p<sub><i>k</i>-1</sub></sup> + <i>x</i><sup>p<sub><i>k</i></sub></sup></p>
<p>with 3 ≤ <i>p</i><sub>3</sub> < … <i>p</i><sub><i>k</i>-1</sub> < <i>p</i><sub><i>k</i></sub> < <i>n</i>. We can assume <i>p</i><sub>3</sub> > 2 since we've already accounted for the interval of 1 which would otherwise appear twice due to <i>x</i><sup>2</sup> and <i>x</i>. And of course <i>k</i> fixes <i>n</i> (as either the even <i>k</i>(<i>k</i>-1) or the odd <i>k</i>(<i>k</i>-1) + 1) because we're looking specifically for the resultant interval polynomial <span class="tite"><i>P(x; k, n)P(x<sup>-1</sup>; k, n)</i></span></p>
<p>= (1 + <i>x</i> + <i>x<sup>p<sub>3</sub></sup></i> + … + <i>x<sup>p<sub><i>k</i>-1</sub></sup></i> + <i>x<sup>p<sub><i>k</i></sub></sup></i>)(1 + <i>x<sup>-1</sup></i> + <i>x<sup>-p<sub>3</sub></sup></i> + … + <i>x<sup>-p<sub><i>k</i>-1</sub></sup></i> + <i>x<sup>-p<sub><i>k</i></sub></sup></i>)<br/>
= (1 + <i>x<sup>-1</sup></i> + <i>x<sup>-p<sub>3</sub></sup></i> + … + <i>x<sup>-p<sub><i>k</i>-1</sub></sup></i> + <i>x<sup>-p<sub><i>k</i></sub></sup></i>)
+ (<i>x</i> + 1 + <i>x<sup>1-p<sub>3</sub></sup></i> + … + <i>x<sup>1-p<sub><i>k</i>-1</sub></sup></i> + <i>x<sup>1-p<sub><i>k</i></sub></sup></i>)<br/>
+ (<i>x<sup>p<sub>3</sub></sup></i> + <i>x<sup>p<sub>3</sub>-1</sup></i> + 1 + … + <i>x<sup>p<sub>3</sub>-p<sub><i>k</i>-1</sub></sup></i> + <i>x<sup>p<sub>3</sub>-p<sub><i>k</i></sub></sup></i>)
+ …
+ (<i>x<sup>p<sub>k</sub></sup></i> + <i>x<sup>p<sub>k</sub>-1</sup></i> + <i>x<sup>p<sub>k</sub>-p<sub>3</sub></sup></i> + … + <i>x<sup>p<sub>k</sub>-p<sub><i>k</i>-1</sub></sup></i> + 1)
</p>
<p>which we would wish to have equal <i>k</i> + <i>x</i> + <i>x</i><sup>2</sup> + <i>x</i><sup>3</sup> + <i>x</i><sup>4</sup> + … + <i>x</i><sup>-3</sup> + <i>x</i><sup>-2</sup> + <i>x</i><sup>-1</sup> by finding the right <i>k</i>-2 values for the remaining <i>p<sub>i</sub></i></p>
<p>We note that when <i>k</i> = 7, the consequent embedding tonality will be either 42 or 43. All-interval sets from the latter would, one supposes, be especially interesting to fans of Harry Partch.</p>
<p>Here are the solutions we get for <i>k</i> = 3 to 9. The <i>p<sub>i</sub></i> are the pitch classes in the set and the iString column presents the interval string representation of the set (letters A-Z representing intervals of 10 to 35) from which one may readily recover prime forms by rotating the largest letters to the end of the string, and thence unpacking into the explicit set, if desired.</p>
<table cellspacing="0" cellpadding="0">
<thead>
<tr>
<th colspan="10">k = 3, n = 6</th>
<th colspan="10">k = 3, n = 7</th>
</tr>
<tr>
<th width="20"><i>p<sub>1</sub></i></th>
<th width="20"><i>p<sub>2</sub></i></th>
<th width="20"><i>p<sub>3</sub></i></th>
<th width="20"><i>p<sub>4</sub></i></th>
<th width="20"><i>p<sub>5</sub></i></th>
<th width="20"><i>p<sub>6</sub></i></th>
<th width="20"><i>p<sub>7</sub></i></th>
<th width="20"><i>p<sub>8</sub></i></th>
<th width="20"><i>p<sub>9</sub></i></th>
<th width="100">iString</th>
<th width="20"><i>p<sub>1</sub></i></th>
<th width="20"><i>p<sub>2</sub></i></th>
<th width="20"><i>p<sub>3</sub></i></th>
<th width="20"><i>p<sub>4</sub></i></th>
<th width="20"><i>p<sub>5</sub></i></th>
<th width="20"><i>p<sub>6</sub></i></th>
<th width="20"><i>p<sub>7</sub></i></th>
<th width="20"><i>p<sub>8</sub></i></th>
<th width="20"><i>p<sub>9</sub></i></th>
<th width="100">iString</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>1</td>
<td>3</td>
<td colspan="6"> </td>
<td class="inst">123</td>
<td>0</td>
<td>1</td>
<td>3</td>
<td colspan="6"> </td>
<td class="inst">124</td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td>4</td>
<td colspan="6"> </td>
<td class="inst">132</td>
<td>0</td>
<td>1</td>
<td>5</td>
<td colspan="6"> </td>
<td class="inst">142</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="10">k = 4, n = 12</th>
<th colspan="10">k = 4, n = 13</th>
</tr>
<tr>
<th><i>p<sub>1</sub></i></th>
<th><i>p<sub>2</sub></i></th>
<th><i>p<sub>3</sub></i></th>
<th><i>p<sub>4</sub></i></th>
<th><i>p<sub>5</sub></i></th>
<th><i>p<sub>6</sub></i></th>
<th><i>p<sub>7</sub></i></th>
<th><i>p<sub>8</sub></i></th>
<th><i>p<sub>9</sub></i></th>
<th>iString</th>
<th><i>p<sub>1</sub></i></th>
<th><i>p<sub>2</sub></i></th>
<th><i>p<sub>3</sub></i></th>
<th><i>p<sub>4</sub></i></th>
<th><i>p<sub>5</sub></i></th>
<th><i>p<sub>6</sub></i></th>
<th><i>p<sub>7</sub></i></th>
<th><i>p<sub>8</sub></i></th>
<th><i>p<sub>9</sub></i></th>
<th>iString</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>1</td>
<td>3</td>
<td>7</td>
<td colspan="5"> </td>
<td class="inst">1245</td>
<td>0</td>
<td>1</td>
<td>3</td>
<td>9</td>
<td colspan="5"> </td>
<td class="inst">1264</td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td>4</td>
<td>6</td>
<td colspan="5"> </td>
<td class="inst">1326</td>
<td>0</td>
<td>1</td>
<td>4</td>
<td>6</td>
<td colspan="5"> </td>
<td class="inst">1327</td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td>6</td>
<td>10</td>
<td colspan="5"> </td>
<td class="inst">1542</td>
<td>0</td>
<td>1</td>
<td>5</td>
<td>11</td>
<td colspan="5"> </td>
<td class="inst">1462</td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td>7</td>
<td>9</td>
<td colspan="5"> </td>
<td class="inst">1623</td>
<td>0</td>
<td>1</td>
<td>8</td>
<td>10</td>
<td colspan="5"> </td>
<td class="inst">1723</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="10" rowspan="2">k = 5, n = 20</th>
<th colspan="10">k = 5, n = 21</th>
</tr>
<tr>
<th><i>p<sub>1</sub></i></th>
<th><i>p<sub>2</sub></i></th>
<th><i>p<sub>3</sub></i></th>
<th><i>p<sub>4</sub></i></th>
<th><i>p<sub>5</sub></i></th>
<th><i>p<sub>6</sub></i></th>
<th><i>p<sub>7</sub></i></th>
<th><i>p<sub>8</sub></i></th>
<th><i>p<sub>9</sub></i></th>
<th>iString</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="9">no solutions</td>
<td class="inst">—</td>
<td>0</td>
<td>1</td>
<td>4</td>
<td>14</td>
<td>16</td>
<td colspan="4"> </td>
<td class="inst">13A25</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>6</td>
<td>8</td>
<td>18</td>
<td colspan="4"> </td>
<td class="inst">152A3</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="10" rowspan="2">k = 6, n = 30</th>
<th colspan="10">k = 6, n = 31</th>
</tr>
<tr>
<th><i>p<sub>1</sub></i></th>
<th><i>p<sub>2</sub></i></th>
<th><i>p<sub>3</sub></i></th>
<th><i>p<sub>4</sub></i></th>
<th><i>p<sub>5</sub></i></th>
<th><i>p<sub>6</sub></i></th>
<th><i>p<sub>7</sub></i></th>
<th><i>p<sub>8</sub></i></th>
<th><i>p<sub>9</sub></i></th>
<th>iString</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="9">no solutions</td>
<td class="inst">—</td>
<td>0</td>
<td>1</td>
<td>3</td>
<td>8</td>
<td>12</td>
<td>18</td>
<td colspan="3"> </td>
<td class="inst">12546D</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>3</td>
<td>10</td>
<td>14</td>
<td>26</td>
<td colspan="3"> </td>
<td class="inst">1274C5</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>4</td>
<td>6</td>
<td>13</td>
<td>21</td>
<td colspan="3"> </td>
<td class="inst">13278A</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>4</td>
<td>10</td>
<td>12</td>
<td>17</td>
<td colspan="3"> </td>
<td class="inst">13625E</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>6</td>
<td>18</td>
<td>22</td>
<td>29</td>
<td colspan="3"> </td>
<td class="inst">15C472</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>8</td>
<td>11</td>
<td>13</td>
<td>17</td>
<td colspan="3"> </td>
<td class="inst">17324E</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>11</td>
<td>19</td>
<td>26</td>
<td>28</td>
<td colspan="3"> </td>
<td class="inst">1A8723</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>14</td>
<td>20</td>
<td>24</td>
<td>29</td>
<td colspan="3"> </td>
<td class="inst">1D6452</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>15</td>
<td>19</td>
<td>21</td>
<td>24</td>
<td colspan="3"> </td>
<td class="inst">1E4237</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>15</td>
<td>20</td>
<td>22</td>
<td>28</td>
<td colspan="3"> </td>
<td class="inst">1E5263</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="10">k = 7, n = 42</th>
<th colspan="10">k = 7, n = 43</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="9">no solutions</td>
<td class="inst">—</td>
<td colspan="9">no solutions</td>
<td class="inst">—</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="10" rowspan="2">k = 8, n = 56</th>
<th colspan="10">k = 8, n = 57</th>
</tr>
<tr>
<th><i>p<sub>1</sub></i></th>
<th><i>p<sub>2</sub></i></th>
<th><i>p<sub>3</sub></i></th>
<th><i>p<sub>4</sub></i></th>
<th><i>p<sub>5</sub></i></th>
<th><i>p<sub>6</sub></i></th>
<th><i>p<sub>7</sub></i></th>
<th><i>p<sub>8</sub></i></th>
<th><i>p<sub>9</sub></i></th>
<th>iString</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="9">no solutions</td>
<td class="inst">—</td>
<td>0</td>
<td>1</td>
<td>3</td>
<td>13</td>
<td>32</td>
<td>36</td>
<td>43</td>
<td>52</td>
<td> </td>
<td class="inst">12AJ4795</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>4</td>
<td>9</td>
<td>20</td>
<td>22</td>
<td>34</td>
<td>51</td>
<td> </td>
<td class="inst">135B2CH6</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>4</td>
<td>12</td>
<td>14</td>
<td>30</td>
<td>37</td>
<td>52</td>
<td> </td>
<td class="inst">1382G7F5</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>5</td>
<td>7</td>
<td>17</td>
<td>35</td>
<td>38</td>
<td>49</td>
<td> </td>
<td class="inst">142AI3B8</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>5</td>
<td>27</td>
<td>34</td>
<td>37</td>
<td>43</td>
<td>45</td>
<td> </td>
<td class="inst">14M7362C</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>6</td>
<td>15</td>
<td>22</td>
<td>26</td>
<td>45</td>
<td>55</td>
<td> </td>
<td class="inst">15974JA2</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>6</td>
<td>21</td>
<td>28</td>
<td>44</td>
<td>46</td>
<td>54</td>
<td> </td>
<td class="inst">15F7G283</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>7</td>
<td>19</td>
<td>23</td>
<td>44</td>
<td>47</td>
<td>49</td>
<td> </td>
<td class="inst">16C4L328</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>7</td>
<td>24</td>
<td>36</td>
<td>38</td>
<td>49</td>
<td>54</td>
<td> </td>
<td class="inst">16HC2B53</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>9</td>
<td>11</td>
<td>14</td>
<td>35</td>
<td>39</td>
<td>51</td>
<td> </td>
<td class="inst">1823L4C6</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>9</td>
<td>20</td>
<td>23</td>
<td>41</td>
<td>51</td>
<td>53</td>
<td> </td>
<td class="inst">18B3IA24</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>13</td>
<td>15</td>
<td>21</td>
<td>24</td>
<td>31</td>
<td>53</td>
<td> </td>
<td class="inst">1C2637M4</td>
</tr>
</tbody>
<thead>
<tr>
<th colspan="10" rowspan="2">k = 9, n = 72</th>
<th colspan="10">k = 9, n = 73</th>
</tr>
<tr>
<th><i>p<sub>1</sub></i></th>
<th><i>p<sub>2</sub></i></th>
<th><i>p<sub>3</sub></i></th>
<th><i>p<sub>4</sub></i></th>
<th><i>p<sub>5</sub></i></th>
<th><i>p<sub>6</sub></i></th>
<th><i>p<sub>7</sub></i></th>
<th><i>p<sub>8</sub></i></th>
<th><i>p<sub>9</sub></i></th>
<th>iString</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="9">no solutions</td>
<td class="inst">—</td>
<td>0</td>
<td>1</td>
<td>3</td>
<td>7</td>
<td>15</td>
<td>31</td>
<td>36</td>
<td>54</td>
<td>63</td>
<td class="inst">1248G5I9A</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>5</td>
<td>12</td>
<td>18</td>
<td>21</td>
<td>49</td>
<td>51</td>
<td>59</td>
<td class="inst">14763S28E</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>7</td>
<td>11</td>
<td>35</td>
<td>48</td>
<td>51</td>
<td>53</td>
<td>65</td>
<td class="inst">164OD32C8</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>9</td>
<td>21</td>
<td>23</td>
<td>26</td>
<td>39</td>
<td>63</td>
<td>67</td>
<td class="inst">18C23DO46</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>11</td>
<td>20</td>
<td>38</td>
<td>43</td>
<td>59</td>
<td>67</td>
<td>71</td>
<td class="inst">1A9I5G842</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>12</td>
<td>20</td>
<td>26</td>
<td>30</td>
<td>33</td>
<td>35</td>
<td>57</td>
<td class="inst">1B86432MG</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>15</td>
<td>23</td>
<td>25</td>
<td>53</td>
<td>56</td>
<td>62</td>
<td>69</td>
<td class="inst">1E82S3674</td>
</tr>
<tr>
<td colspan="10"> </td>
<td>0</td>
<td>1</td>
<td>17</td>
<td>39</td>
<td>41</td>
<td>44</td>
<td>48</td>
<td>54</td>
<td>62</td>
<td class="inst">1GM23468B</td>
</tr>
</tbody>
</table>
<p>Odd tonalities appear to be favoured systems for all-interval chords. Except for the absence of solutions for <strong>ℤ</strong><sub>43</sub> - almost as if it had been singled out. Also, it has not escaped our notice that the above solution for <strong>ℤ</strong><sub>21</sub> <a href="https://slideplayer.com/slide/4408003/14/images/20/All-interval+sets+in+microtonal+scales.jpg" target="_new" title="Paul Hertz at Wyoming">appears to violate the Prime Power Conjecture</a>. Answers on a postcard, please, as to why it does not.</p>
<p>We can just squeeze out one more table for the 6 (inversional) pairs of all-interval sets using 10 pitch classes, in a <strong>ℤ</strong><sub>91</sub> tonality (there are none in <strong>ℤ</strong><sub>90</sub>). This now breaks at least one 'limit' (albeit an artificial one of our own making), which is to say the one involved in displaying the PC set's interval string. The alphabet is no longer big enough to carry one of the intervals and consequently an asterisk (*) is employed to represent an interval of 36 - <i>just</i> over the range provided by a letter Z.</p>
<table cellspacing="0" cellpadding="0">
<thead>
<tr>
<th colspan="11">k = 10, n = 91</th>
</tr>
<tr>
<th width="30"><i>p<sub>1</sub></i></th>
<th width="30"><i>p<sub>2</sub></i></th>
<th width="30"><i>p<sub>3</sub></i></th>
<th width="30"><i>p<sub>4</sub></i></th>
<th width="30"><i>p<sub>5</sub></i></th>
<th width="30"><i>p<sub>6</sub></i></th>
<th width="30"><i>p<sub>7</sub></i></th>
<th width="30"><i>p<sub>8</sub></i></th>
<th width="30"><i>p<sub>9</sub></i></th>
<th width="30"><i>p<sub>10</sub></i></th>
<th width="200">iString</th>
</tr>
</thead>
<tbody>
<tr><td>0</td><td>1</td><td>3</td><td>9</td><td>27</td><td>49</td><td>56</td><td>61</td><td>77</td><td>81</td><td class="inst">126IM75G4A</td></tr>
<tr><td>0</td><td>1</td><td>4</td><td>13</td><td>24</td><td>30</td><td>38</td><td>40</td><td>45</td><td>73</td><td class="inst">139B6825SI</td></tr>
<tr><td>0</td><td>1</td><td>5</td><td>7</td><td>27</td><td>35</td><td>44</td><td>67</td><td>77</td><td>80</td><td class="inst">142K89NA3B</td></tr>
<tr><td>0</td><td>1</td><td>5</td><td>8</td><td>18</td><td>20</td><td>29</td><td>43</td><td>59</td><td>65</td><td class="inst">143A29EG6Q</td></tr>
<tr><td>0</td><td>1</td><td>6</td><td>10</td><td>23</td><td>26</td><td>34</td><td>41</td><td>53</td><td>55</td><td class="inst">154D387C2*</td></tr>
<tr><td>0</td><td>1</td><td>7</td><td>16</td><td>27</td><td>56</td><td>60</td><td>68</td><td>70</td><td>73</td><td class="inst">169BT4823I</td></tr>
<tr><td>0</td><td>1</td><td>11</td><td>15</td><td>31</td><td>36</td><td>43</td><td>65</td><td>83</td><td>89</td><td class="inst">1A4G57MI62</td></tr>
<tr><td>0</td><td>1</td><td>12</td><td>15</td><td>25</td><td>48</td><td>57</td><td>65</td><td>85</td><td>87</td><td class="inst">1B3AN98K24</td></tr>
<tr><td>0</td><td>1</td><td>19</td><td>22</td><td>24</td><td>32</td><td>36</td><td>65</td><td>76</td><td>85</td><td class="inst">1I3284TB96</td></tr>
<tr><td>0</td><td>1</td><td>19</td><td>47</td><td>52</td><td>54</td><td>62</td><td>68</td><td>79</td><td>88</td><td class="inst">1IS5286B93</td></tr>
<tr><td>0</td><td>1</td><td>27</td><td>33</td><td>49</td><td>63</td><td>72</td><td>74</td><td>84</td><td>87</td><td class="inst">1Q6GE92A34</td></tr>
<tr><td>0</td><td>1</td><td>37</td><td>39</td><td>51</td><td>58</td><td>66</td><td>69</td><td>82</td><td>86</td><td class="inst">1*2C783D45</td></tr>
</tbody>
</table>
LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-40692291706128073092018-05-28T20:30:00.001+01:002018-07-16T23:07:25.801+01:00Unlucky 4 sum<style>
td.norm { text-align: left; }
td.scam { color: #F22; }
polygon.trac { stroke-width: 1; stroke: #FF0; fill: #AA0; }
.pairs {
display: grid;
grid-template-columns: 2fr 1fr;
grid-gap: 1em;
grid-auto-rows: minmax(20px, auto);
}
.pair {
display: grid;
grid-template-columns: 1fr 2fr;
grid-auto-rows: minmax(20px, auto);
text-align: center;
padding-top: 6px;
padding-bottom: 3px;
}
.pair > div {
background: #eee;
}
.pair > div:nth-child(3) {
background: #dde;
}
.setim {
grid-column: 2/3;
grid-row: 1/3;
}
.seteg {
grid-column: 1/3;
border-radius: 10px;
border-top: 2px black ridge;
border-bottom: 2px black ridge;
}
</style>
<script type="text/javascript">
function anipol(p)
{
var poly = p; // document.querySelector('polygon');
if (poly)
{
var len = poly.getTotalLength();
var box = poly.getBBox();
poly.style.transition = poly.style.WebkitTransition = 'none';
poly.style.strokeDasharray = len + ' ' + len;
poly.style.strokeDashoffset = len;
poly.getBoundingClientRect();
poly.style.transition = poly.style.WebkitTransition = 'stroke-dashoffset 5s ease-in-out';
poly.style.strokeDashoffset = '0';
}
return poly;
}
</script>
<h2>From pitches …</h2>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td><img src="http://image.storistry.com/thirts/c13.png" alt="C13 chord" width="100px"/></td>
<td class="norm"><p>A thirteenth chord is principally known as an all bells and whistles dominant which is expected to resolve to its tonic chord a fifth below. It usually turns up as a dominant seventh (say C7) topped off with its relative supertonic minor (which would be Dm) for something in F major.</p>
</td>
</tr>
</tbody>
</table>
<p>If we ignore the key it's in, we see that this chord comprises seven pitches separated by - in sequence - 4, 3, 3, 4, 3, 4 semitones. A final 3 semitones would 'round it off' to the top keynote 24 semitones above the root note.</p>
<img src="http://image.storistry.com/thirts/c13path.png" alt="C13 chord" width="70%"/>
<p>The chord's two-octave path is thus 4334343 - of length 7 and sum 24 (for a two octave span). We've got that eighth top note in parentheses to indicate that it's not intended to be included in the chord's 'definition' (the pitch class - of 0 - is already included).</p>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td><img src="http://image.storistry.com/thirts/cm13.png" alt="C13 chord" width="100px"/></td>
<td class="norm"><p>Now let's look instead at a Cm13th chord, perhaps resolving to F minor. <em>Its</em> key-independent two-octave path is 3434343 (see below - again with a parenthesised closing note).</p>
</td>
</tr>
</tbody>
</table>
<img src="http://image.storistry.com/thirts/cm13path.png" alt="Cm13 chord" width="70%"/>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td><img src="http://image.storistry.com/thirts/cmaj13s11.png" alt="C13 chord" width="100px"/></td>
<td class="norm"><p>Finally let's consider a more adventurous Cmajor13#11 chord, with a Lydian flavour imparted by that sharpened 11th. Despite the F#, it can still resolve quite nicely to F. <em>Its</em> key-independent two-octave path is 4343433 (see below - again with a parenthesised closing note). This time, however, we're colour-coding the notes because we're going to switch things around a bit.</p>
</td>
</tr>
</tbody>
</table>
<h2>… to Pitch Class Sets</h2>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td><img src="http://image.storistry.com/thirts/cmaj13s11path.png" alt="CM13#11 chord" width="500px"/></td>
<td class="norm"><p>To construct the pitch class set modelling this particular chord, we drop the second part of the chord (green note heads) by an octave - which essentially turns them into pitch classes alongside the first (red note headed) part.</p></td>
</tr>
<tr>
<td class="norm"><img src="http://image.storistry.com/thirts/cmaj13s11pd.png" alt="pitch classing" width="400px"/></td>
<td class="norm"><p>We'll now slide the green pitch heads to the left, where we can see that they sit between the red pitch heads, and that none of the pitch classes are duplicated.</p></td>
</tr>
<tr>
<td class="norm"><img src="http://image.storistry.com/thirts/cmaj13s11pred.png" alt="pitch class set" width="360px"/></td>
<td class="norm"><p>We now have a formal PC set, with the intervals - in semitones - between the PCs forming the key-independent interval path 2221221 (7 PCs in the set, summing correctly to 12).</p></td>
</tr>
</tbody>
</table>
<p>Again, that final green-headed parenthesised note is not in the set - it's shown only to elucidate the final 'wraparound' step (of 1 semitone) back to pitch class 0.</p>
<p>The alert reader will note that the PC set resulting directly from CΔ13<sup>#11</sup> is, in fact, the Lydian mode of the C Major (Ionian) scale. But that's not why we've seemingly drawn attention to its 'Lydianicity' by colouring the F# in blue. No - the <em>real</em> reason for drawing attention to the F# is because in order to get the <em>prime form</em> of this PC set, we have noticed that the set's largest interval skips (the three consecutive 2s) bring us to that F#. Since the prime form requires that the largest interval skips are to be placed at the end of the interval path, this means that the F# must become the prime form's pitch class zero (in other words, its first note). Accordingly (by transposing from C to F#) we obtain the prime form - with its interval path of 1221222 - shown below.</p>
<table cellspacing="0" cellpadding="0" width="100%">
<caption>CΔ13<sup>#11</sup> as an inversion of the F# Locrian mode (F#13<sup>♭5♭9♭13</sup>)</caption>
<tbody>
<tr>
<td class="norm"><img src="http://image.storistry.com/thirts/cmaj13s11prime.png" alt="PC set in prime form" width="400px"/></td>
<td class="norm"><p>It's fairly easy to demonstrate that the PC sets which embody both the ordinary 13th and the minor 13th (with which we opened) are all exactly the same.</p></td>
</tr>
</tbody>
</table>
<p>All of the C13ths discussed thus far 'prime form' (as Forte PC set 7-35 - the Locrian mode of the diatonic scale) - to some inversion of a Locrian, as the following two expositions show.</p>
<figure>
<img src="http://image.storistry.com/thirts/c13expo.png" alt="C13 as diatonic" width="640px"/>
<figcaption>C13 as an inversion of the E Locrian mode (Em13<sup>♭9♭13</sup>)</figcaption>
</figure>
<figure>
<img src="http://image.storistry.com/thirts/cm13expo.png" alt="Cm13 as diatonic" width="640px"/>
<figcaption>Cm13 as an inversion of the A Locrian mode (Am13<sup>♭5♭9♭13</sup>)</figcaption>
</figure>
<p>Can this mean that <em>all</em> 13th chords are some inversion of the Locrian mode of the diatonic scale?</p>
<h2>How many 13ths are there?</h2>
<p>It seems reasonable to proceed with such an enumeration only if we have some formal definition of exactly what constitutes a 13th chord. One of the most obvious qualities of the chord would appear to be that it comprises 7 distinct pitch classes. Another would appear to be that they should be constructed by stacking up six successive major or minor thirds after the initial root note.</p>
<p>The interval paths of such chords will thus be formed from six 3s or 4s and terminated by whatever value would take the path sum up to 24. Six '3s or 4s', being the same as six '3 + (0s or 1s)', it's reasonably clear that 64 distinct interval paths - labelled from 333333, 333334, 333343, 333344, … to 444433, 444434, 444443, 444444 will capture all possibilities.</p>
<p>It's also easy to see that any path containing either three consecutive 4s or four consecutive 3s must be rejected since the pitch classes on either side of such jumps are bound to be exactly an octave apart, thus being the same pitch class and violating the principle of distinctness. There are many other routes, within this procedure, which result in the duplication of pitch classes.</p>
<p>It turns out, therefore, that - after filtering out all of the interval paths which would result in pitch class duplication - only 28 ways of stacking major and minor thirds to build up some kind of 7 note 13th chord remain. These are, in ascending order of minor-major-thirdiness:</p>
<table cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr><td>3334344</td><td class='scam'>1212213</td><td>3433344</td><td class='scam'>1213122</td><td>3443343</td><td class='scam'>2122221</td><td>4343334</td><td class='scam'>2212131</td></tr>
<tr><td>3334434</td><td class='scam'>1221213</td><td>3433434</td><td class='scam'>1222122</td><td>3443433</td><td class='scam'>2131221</td><td>4343343</td><td class='scam'>2212221</td></tr>
<tr><td>3343344</td><td class='scam'>1212222</td><td>3433443</td><td class='scam'>1222212</td><td>4333434</td><td class='scam'>1312122</td><td>4343433</td><td class='scam'>2221221</td></tr>
<tr><td>3343434</td><td class='scam'>1221222</td><td>3434334</td><td class='scam'>2122122</td><td>4333443</td><td class='scam'>1312212</td><td>4344333</td><td class='scam'>3121221</td></tr>
<tr><td>3343443</td><td class='scam'>1221312</td><td>3434343</td><td class='scam'>2122212</td><td>4334334</td><td class='scam'>2212122</td><td>4433343</td><td class='scam'>2213121</td></tr>
<tr><td>3344334</td><td class='scam'>2121222</td><td>3434433</td><td class='scam'>2131212</td><td>4334343</td><td class='scam'>2212212</td><td>4433433</td><td class='scam'>2222121</td></tr>
<tr><td>3344343</td><td class='scam'>2121312</td><td>3443334</td><td class='scam'>2122131</td><td>4334433</td><td class='scam'>2221212</td><td>4434333</td><td class='scam'>3122121</td></tr></tbody>
</table>
<p>Also shown, in red to the right of each 3|4 construction, is the interval path signature of the PC set which contains the 7 distinct PCs of the resulting chord. These are - of course - in normal form because interval path signatures give you that for nothing. A quick inspection should demonstrate that these are by no means all just variations of the seven modes of the diatonic scale. The presence of 3s in such signatures is enough to disabuse one of such notions. There are also several with runs of four 2s.</p>
<p>By rotating all 28 of the (red) PC set signatures into their prime forms (with their largest skips packing to the right, as per Forte), we quickly uncover the fact that there are four distinct PC sets in play here:</p>
<table cellspacing="0" cellpadding="0" width="100%">
<thead>
<tr><th colspan="8">Four Prime Form PC Sets</th></tr>
<tr><th colspan="2">1212213</th><th colspan="2">1212222</th><th colspan="2">1221213</th><th colspan="2">1221222</th></tr>
<tr>
<th colspan="2"><svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<polygon class="ring" points="50,3 74,9 91,27 97,50 91,74 73,91 50,97 26,91 9,73 3,50 9,26 27,9"/>
<polygon class="back" points="50,7 72,13 87,29 93,50 87,72 71,87 50,93 28,87 13,71 7,50 13,28 29,13"/>
<polygon class="asym" points="50,7 72,13 93,50 87,72 50,93 13,71 7,50"/>
</svg></th>
<th colspan="2"><svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<polygon class="ring" points="50,3 74,9 91,27 97,50 91,74 73,91 50,97 26,91 9,73 3,50 9,26 27,9"/>
<polygon class="back" points="50,7 72,13 87,29 93,50 87,72 71,87 50,93 28,87 13,71 7,50 13,28 29,13"/>
<polygon class="symm" points="50,7 72,13 93,50 87,72 50,93 13,71 13,28"/>
</svg></th>
<th colspan="2"><svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<polygon class="ring" points="50,3 74,9 91,27 97,50 91,74 73,91 50,97 26,91 9,73 3,50 9,26 27,9"/>
<polygon class="back" points="50,7 72,13 87,29 93,50 87,72 71,87 50,93 28,87 13,71 7,50 13,28 29,13"/>
<polygon class="asym" points="50,7 72,13 93,50 71,87 50,93 13,71 7,50"/>
</svg></th>
<th colspan="2"><svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<polygon class="ring" points="50,3 74,9 91,27 97,50 91,74 73,91 50,97 26,91 9,73 3,50 9,26 27,9"/>
<polygon class="back" points="50,7 72,13 87,29 93,50 87,72 71,87 50,93 28,87 13,71 7,50 13,28 29,13"/>
<polygon class="symm" points="50,7 72,13 93,50 71,87 50,93 13,71 13,28"/>
</svg></th>
</tr>
<tr><th colspan="2">7-32A</th><th colspan="2">7-34</th><th colspan="2">7-32B</th><th colspan="2">7-35</th></tr>
<tr><th colspan="2"><3,3,5,4,4,2></th><th colspan="2"><2,5,4,4,4,2></th><th colspan="2"><3,3,5,4,4,2></th><th colspan="2"><2,5,4,3,6,1></th></tr>
<tr><th colspan="2">Harmonic Minor</th><th colspan="2">Locrian Super</th><th colspan="2">Indian/Ethiopian</th><th colspan="2">Locrian Diatonic</th></tr>
</thead>
<tbody>
<tr><td>3334344</td><td class='scam'>1212213</td><td>3343344</td><td class='scam'>1212222</td><td>3334434</td><td class='scam'>1221213</td><td>3343434</td><td class='scam'>1221222</td></tr>
<tr><td>3343443</td><td class='scam'>1221312</td><td>3344334</td><td class='scam'>2121222</td><td>3344343</td><td class='scam'>2121312</td><td>3433434</td><td class='scam'>1222122</td></tr>
<tr><td>3434433</td><td class='scam'>2131212</td><td>3433443</td><td class='scam'>1222212</td><td>3433344</td><td class='scam'>1213122</td><td>3434334</td><td class='scam'>2122122</td></tr>
<tr><td>3443334</td><td class='scam'>2122131</td><td>3443343</td><td class='scam'>2122221</td><td>3443433</td><td class='scam'>2131221</td><td><strong>3434343</strong></td><td class='scam'>2122212</td></tr>
<tr><td>4333434</td><td class='scam'>1312122</td><td>4334334</td><td class='scam'>2212122</td><td>4333443</td><td class='scam'>1312212</td><td><strong>4334343</strong></td><td class='scam'>2212212</td></tr>
<tr><td>4344333</td><td class='scam'>3121221</td><td>4334433</td><td class='scam'>2221212</td><td>4343334</td><td class='scam'>2212131</td><td>4343343</td><td class='scam'>2212221</td></tr>
<tr><td>4433343</td><td class='scam'>2213121</td><td>4433433</td><td class='scam'>2222121</td><td>4434333</td><td class='scam'>3122121</td><td><strong>4343433</strong></td><td class='scam'>2221221</td></tr>
</tbody>
</table>
<p>They occur in four groups of seven arrangements - the seven modes of each of their common prime PC sets. The first (which includes the Harmonic Minor scale, 2122131, in its fourth row) and third (including Indian and Ethiopian scales in its third and sixth rows) column pairs are asymmetric PC sets (inverses of each other). The second and fourth are both symmetric PC sets, the first being the prime form of the half-diminished scale (arguably <a href="/2017/11/flipping-heaven.html#pcset1212222" title="Flipping Heaven">the next most popular heptatonic division</a> of the octave, encompassing as it does the hindi, melodic minor, overtone, javanese, and both locrian natural and super scales). The fourth is the various rotations (i.e. modes) of PC Set 7-35, i.e. Locrian-Diatonic. The three types of 13th chords we dealt with above are in <strong>boldface</strong>.</p>
<h2>Relationships between 13ths and the Diatonic Modes</h2>
<p>The 13th chord patterns in the fourth, diatonic, group are - starting from the top, and not based on any particular scale</p>
<ul>
<li>3343434 ≡ m13<sup>♭5♭9♭13</sup> ['Locrian 13th']</li>
<li>3433434 ≡ m13<sup>♭9♭13</sup> ['Phrygian 13th']</li>
<li>3434334 ≡ m13<sup>♭13</sup> ['Aeolian 13th']</li>
<li>3434343 ≡ m13 ['Dorian 13th']</li>
<li>4334343 ≡ 13 ['Mixolydian 13th' = the standard 'dominant 7th' mode]</li>
<li>4343343 ≡ Δ13 ['Ionian 13th' = the major 7th dominant series]</li>
<li>4343433 ≡ Δ13<sup>#11</sup> ['Lydian 13th']</li>
</ul>
<p>But naturally, upon actual transcription, one must commit to a key - say C:</p>
<img src="http://image.storistry.com/thirts/ModalDiatonic13ths.png" alt="the Modal bases for 7 diatonic 13ths" width="640"/>
<p align="center"><audio controls=""><source src="http://sonic.storistry.com/Thirteen.mp3"><font color="#ff0000"><strong>unsupported audio element</strong></font></audio> </p>
<p>Stepping away from the diatonic 13ths, if we based a 13th chord on the Ethiopian scale (row 6 column 3) - with its PC Set interval path signature 2212131 - we would generate a major/minor 3rd stacking of 4343334 ≡ Δ13<sup>♭13</sup>. The Indian scale (1213122 → 3433344) would yield a distinctly weird m13<sup>♭9♭11♭13</sup>. We feel reasonably certain that there will be a circumstance where every one of these 28 possible 13ths will sound fantastic.</p>
<h2>Squeezed 'Thirteenths'</h2>
<p>The 28 13ths above are constrained to be contained within 3 or 4 semitones of a double octave span. As such, their top notes will always be a 'true' 13th, possibly flattened. The notes within the chord are not subject to undue 'stress' and the 7ths, 9ths and 11ths turn up in their expected places - perhaps occasionally bumped sideways as flattened or sharpened creatures as it were. However if this 'thirteenth pegging' is relaxed, there are - technically speaking - eight further 13ths. The first two are rather 'squashed' as the top notes are 5 semitones down from a double octave, giving us a <em>double</em>-flattened 13th - which a musician will consider illegitimate (a double-flattened 13th being - enharmonically - just a plain old 5th, the chord's 'internal' 5th already being flattened).</p>
<div class="pairs">
<div class="pair">
<div>333433</div>
<div>m13<sup>♭5♭♭7♭9♭11♭♭13</sup></div>
<div class="seteg">e.g. Cm13<sup>♭5♭♭7♭9♭11♭♭13</sup> = C–E♭–G♭–A–D♭–E–G</div>
</div>
<div class="pair">
<div>334333</div>
<div>m13<sup>♭5♭9♭11♭♭13</sup></div>
<div class="seteg">e.g. Cm13<sup>♭5♭9♭11♭♭13</sup> = C–E♭–G♭–B♭–D♭–E–G</div>
</div>
<div class="setim">
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<symbol class="backing" id="qtrbase">
<polygon class="ring" points="50,3 74,9 91,27 97,50 91,74 73,91 50,97 26,91 9,73 3,50 9,26 27,9"></polygon>
<polygon class="back" points="50,7 72,13 87,29 93,50 87,72 71,87 50,93 28,87 13,71 7,50 13,28 29,13"></polygon>
</symbol>
<use xlink:href="#qtrbase" x="0" y="0"></use>
<use xlink:href="#qtrbase" x="100" y="0"></use>
<use xlink:href="#qtrbase" x="0" y="100"></use>
<use xlink:href="#qtrbase" x="100" y="100"></use>
<polygon class="trac" points="50,7 93,50 50,93 7,50 72,13 87,72 28,87" onclick="anipol(this);"></polygon>
<polygon class="asym" points="150,7 172,13 193,50 187,72 150,93 128,87 107,50"></polygon>
<polygon class="trac" points="50,107 93,150 50,193 13,128 72,113 87,172 28,187" onclick="anipol(this);"></polygon>
<polygon class="asym" points="150,107 172,113 193,150 187,172 150,193 128,187 113,128"></polygon>
</svg>
</div>
</div>
<p>We note that the initial four notes of the first form a full-diminished chord. It thereby already contains the 13th as a pitch <em>class</em>, albeit an octave lower (so not actually a 13th but a 6th). It's as if the chord has been put under so much compressive force that the 9th, 11th, 13th (and even the 7th) begin to crash into each other (as pitch classes). In both cases, the top flat 11th and double-flat 13th are effectively the major 3rd and major 5th of the tonic. The flat nine is really the only 'novelty' in these chords and to call these chords 13ths is rather stretching a point (actually the opposite - it's <em>compressing</em> a point). As pitch class sets, these are mutual inverses, the first being characterised as an interval path signature 1212123 (Forte's 7-31A) and the second (its inverse, 7-31B) as 1212132 (which would of course 'prime form path' as 2121213), both sharing interval vector <3,3,6,3,3,3>, 'maxing out' with their 6 minor thirds.</p>
<h2>Stretched 'Thirteenths'</h2>
<p>The remaining 6 chords are - in contrast - stretched, and their top notes are only two semitones below the double octave. Thus a dominant 7thness turns up at the top end, rather than in the middle, of the chord (where the internal 7thnesses are all Δ, i.e. major 7ths). The first couple of these are the antisymmetric pair (path signatures of 2131311 and 3131211, corresponding to prime form signatures of 1121313 (Forte 7-21A) and 1211313 (Forte 7-21B) respectively, sharing interval vector <4,2,4,6,4,1> with maximal major-thirdy content.</p>
<div class="pairs">
<div class="pair">
<div>344344</div>
<div>mΔ13<sup>#11#13</sup></div>
<div class="seteg">e.g. CmΔ13<sup>#11#13</sup> = C–E♭–G–B–D–F#–A#</div>
</div>
<div class="pair">
<div>443443</div>
<div>+Δ13<sup>#9##11#13</sup></div>
<div class="seteg">e.g. C+Δ13<sup>#9##11#13</sup> = C–E–G#–B–D#–G–A#</div>
</div>
<div class="setim">
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<use xlink:href="#qtrbase" x="0" y="0"/>
<use xlink:href="#qtrbase" x="100" y="0"/>
<use xlink:href="#qtrbase" x="0" y="100"/>
<use xlink:href="#qtrbase" x="100" y="100"/>
<polygon class="trac" points="50,7 93,50 28,87 29,13 87,29 50,93 13,28" onclick="anipol(this);"/>
<polygon class="asym" points="150,7 187,29 193,50 150,93 128,87 113,28 129,13"/>
<polygon class="trac" points="50,107 87,172 13,171 29,113 93,150 28,187 13,128" onclick="anipol(this);"/>
<polygon class="asym" points="150,107 193,150 187,172 128,187 113,171 113,128 129,113"/>
</svg>
</div>
</div>
<p>In fact by now it's becoming rather difficult to 'spell' these as 13th chords, since the pitches tread on each others' toes so much. The above '+Δ13#9##11#13' is pure guesswork on this author's part.</p>
<p>The second pair of 'stretchy' 13ths have path signatures of 2221311 (prime path 1122213 ≡ Forte 7-30A) and 3122211 (prime path 1222113 ≡ Forte 7-30B) - again mutual inverses - with interval content <3,4,3,5,4,2></p>
<div class="pairs">
<div class="pair">
<div>434344</div>
<div>Δ13<sup>#11#13</sup></div>
<div class="seteg">e.g. CΔ13<sup>#11#13</sup> = C–E–G–B–D–F#–A#</div>
</div>
<div class="pair">
<div>443434</div>
<div>+Δ13<sup>#9#11#13</sup></div>
<div class="seteg">e.g. C+Δ13<sup>#9#11#13</sup> = C–E–G#–B–D#–F#–A#</div>
</div>
<div class="setim">
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<use xlink:href="#qtrbase" x="0" y="0"/>
<use xlink:href="#qtrbase" x="100" y="0"/>
<use xlink:href="#qtrbase" x="0" y="100"/>
<use xlink:href="#qtrbase" x="100" y="100"/>
<polygon class="trac" points="50,7 87,72 28,87 29,13 87,29 50,93 13,28" onclick="anipol(this);"/>
<polygon class="asym" points="150,7 187,29 187,72 150,93 128,87 113,28 129,13"/>
<polygon class="trac" points="50,107 87,172 13,171 29,113 93,150 50,193 13,128" onclick="anipol(this);"/>
<polygon class="asym" points="150,107 193,150 187,172 150,193 113,171 113,128 129,113"/>
</svg>
</div>
</div>
<p>There remain two further '13ths'. They each represent symmetric (self-inverting) PC sets, the first with a path signature of 3121311 (prime form path as 1131213 ≡ Forte 7-22, interval content <4,2,4,5,4,2>) and the second with path signature 2222211 (prime form path as 1122222 ≡ Forte 7-33, interval content <2,6,2,6,2,3> replete with major 2nds and major 3rds).</p>
<div class="pairs">
<div class="pair">
<div>434434</div>
<div>Δ13<sup>#9#11#13</sup></div>
<div class="seteg">e.g. CΔ13<sup>#9#11#13</sup> = C–E–G–B–D#–F#–A#</div>
</div>
<div class="pair">
<div>443344</div>
<div>+Δ13<sup>#11#13</div>
<div class="seteg">e.g. C+Δ13<sup>#11#13</sup> = C–E–G#–B–D–F#–A#</div>
</div>
<div class="setim">
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<use xlink:href="#qtrbase" x="0" y="0"/>
<use xlink:href="#qtrbase" x="100" y="0"/>
<use xlink:href="#qtrbase" x="0" y="100"/>
<use xlink:href="#qtrbase" x="100" y="100"/>
<polygon class="trac" points="50,7 87,72 28,87 29,13 93,50 50,93 13,28" onclick="anipol(this);"/>
<polygon class="symm" points="150,7 193,50 187,72 150,93 128,87 113,28 129,13"/>
<polygon class="trac" points="50,107 87,172 13,171 29,113 87,129 50,193 13,128" onclick="anipol(this);"/>
<polygon class="symm" points="150,107 187,129 187,172 150,193 113,171 113,128 129,113"/>
</svg>
</div>
</div>
<h2>Terminological Conclusions</h2>
<p>Are <em>any</em> of these eight stretched or squeezed chords <em>really</em> 13ths? Insofar as they comprise heptachords they are. Insofar as their construction involved upward skips of only major and minor thirds they are. But musically, they just aren't. They have too much internal compression or tension. This is due to not 'nailing down' - for the want of a better term - a (possibly flattened) 13th at the <em>top</em> of the runs of thirds and leaving the end of the chord flapping around in the breeze (as <a href="https://www.eevblog.com/" target="_new" title="He of the EEVBlog">David Jones</a> would say). Such freedom permits an absence of what one might expect of 'thirteenthness'.</p>
<p>So the 28 unstretched and unsqueezed 13ths above, distributed between only four PC Sets, are all (assuming fully populated ones) there really are. We note that this means there are only <em>three</em> distinct interval contents (two being identical since non-symmetric PC Sets' forms - A and B - always share a common interval vector) available to carry the various flavours of all 28. These are <3,3,5,4,4,2>, <2,5,4,4,4,2>, and <2,5,4,3,6,1>.</p>
<p>Interval classwise, then, we have that a 13th contains either 2 or 3 minor 2nds [or major 7ths], with - correspondingly - 5 or 3 major 2nds [minor 7ths] and (also correspondingly) 5 or 4 minor 3rds [major 6ths]. We also have that if the 13th contains only a single tritone then it must also contain the maximum number of perfect 4ths [or perfect 5ths] possible within a heptachord, i.e. 6, and must also contain 3 major 3rds [or minor 6ths]. Otherwise a 13th must contain 2 tritones and 4 each of major 3rds and perfect 4ths [or minor 6ths and perfect 5ths].</p>
<p><em>This</em> means that if you elect a 13th chord constrained to containing only a single tritone then all else follows, i.e you cannot help but have 2 m2/M7, 5 M2/m7, 4m3/M6, 5 M3/m6 and 6 P4/P5, which further means that you have elected one of the 7 diatonic 13ths. If, however, you choose one with <em>two</em> tritones (the only remaining kind) then you have forced it to contain 4 P4/P5 and 4 M3/m6 and <em>at least</em> 4 m3/M6 and 2 m2/M7. The only choice you have left is a chord with 5 m3/M6, 3 M2/m7 and 3 m2/M7 or one with only 4 m3/M6 and 5 M2/m7 and 2 m2/M7.</p>
<p>It would appear, therefore, that there are - at most - two degrees of freedom available to anyone constructing a 13th chord from its interval content alone. Is that interesting or is that interesting?</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-12334210672636941342017-11-22T15:40:00.000+00:002018-06-08T00:25:50.778+01:00Flipping Heaven<style>
polygon {stroke: black; stroke-width: 0; fill: #99aaff; }
line { stroke: yellow; stroke-width: 1; }
line.skip { stroke: #99aaff; stroke-width: 2; }
text { font-family: 'Franklin Gothic'; font-size: 10pt; }
polygon.back { stroke: #ffffaa; fill: #222277; }
polygon.ring { stroke: #555500; fill: #cccc77; }
polygon.symm { stroke: #223388; fill: #99aaff; transition: all 0.25s ease-out; }
polygon.asym { stroke: #884422; fill: #ffbb99; transition: all 0.25s ease-out; }
polygon.symm:hover { fill: #6677ff; transform: scale(1.123); transform-origin: 50% 50%; }
polygon.asym:hover { fill: #ff8866; transform: scale(1.123); transform-origin: 50% 50%; }
.whinot { fill: white; stroke: black; stroke-width: 1; rx:2; ry:4; }
.blanot { fill: black; stroke: white; stroke-width: 2; rx:4; ry:4; }
table { padding: 0; }
td {
font-family: 'Franklin Gothic';
font-size: 9pt;
text-align: center;
vertical-align: center;
}
.hed { border-top: 2px solid black; border-left: 2px solid black; border-right: 2px solid black; }
.key { border-left: 1px dotted black; border-right: 1px dotted black; border-bottom: 1px dotted black; }
.keybol { border-left: 1px dotted black; border-right: 1px dotted black; border-bottom: 1px dotted black; font-weight: bold; background-color: #ccffcc; }
.lab { font-weight: bold; }
.ann {
font-weight: 300;
font-size: 11pt;
text-align: left;
vertical-align: text-top;
padding-left: 5px;
padding-top: 5px;
}
img {margin-right: auto; margin-left: auto; float: none; }
</style>
<p>
It has been a while since we looked at invertible scales and it might be worth a brief recap, starting with the Dorian mode of the diatonic pitch class set. This being the one with which we in the West are most familiar in its guises as the major and minor scales – or Ionian and Aeolian modes. From hereon in, we’ll abbreviate pitch class with PC.</p>
<p>By inversion, we mean reflection – or more accurately subtraction (see our earlier <a title="Longish, but we don't want to repeat everything" href="https://www.blogger.com/2015/04/pitch-axis-considered-harmful.html" target="_blank">Pitch Axis Considered Harmful</a>). By an invertible PC set, we specifically mean that the act of inversion – i.e. subtracting (modulo 12) each of its PCs from a certain fixed number - <em>does not take you out of the set</em>.</p>
<p>We start with the Dorian mode as it’s the most obviously invertible <em>scale mode</em> by anyone familiar with a piano, starting on a middle D and playing up and down the white keys either side of it. The piano keyboard is at its most obviously symmetric when you gaze at any D or A♭ key. If the D is PC 0 - usually represented on a twelve-hour clock-face as 12 o’clock (i.e. n00n!) - then the scale (which is to say the Dorian mode) seen as a seven note ‘motif’ is 0 2 3 5 7 9 10 (DEFGABC). Moving left (or anticlockwise) we also start at 0 but subtract and end up with the inverted sequence of negative numbers 0 –2 –3 –5 –7 –9 –10 (DCBAGFE) which, after adding 12 (an octave) to each (which is equivalent to adding 0, itself equivalent to doing nothing whatever to alter the essential nature of the inversion), gets us 0 10 9 7 5 3 2. And all of those numbers (and notes) remain a Dorian PC set’s PC numbers (and white keys).</p>
<p><table>
<tbody>
<tr><td class="lab" colspan="3">dorian - <em>the</em> polar symmetric diatonic</td></tr>
<tr><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 60,32 46,56 18,56 4,32 8,18" />
<line x1="32" y1="32" x2="32" y2="4" /></svg>
</td><td class="ann">interval skip pattern 2122212</td><td style="padding-left: 8px;">
<svg xmlns="http://www.w3.org/2000/svg" width="210" height="64">
<rect class="whinot" x="0" y="0" width="15" height="64" />
<rect class="whinot" x="15" y="0" width="15" height="64" />
<rect class="whinot" x="30" y="0" width="15" height="64" />
<rect class="whinot" x="45" y="0" width="15" height="64" />
<rect class="whinot" x="60" y="0" width="15" height="64" />
<rect class="whinot" x="75" y="0" width="15" height="64" />
<rect class="whinot" x="90" y="0" width="15" height="64" />
<rect class="whinot" x="105" y="0" width="15" height="64" />
<rect class="whinot" x="120" y="0" width="15" height="64" />
<rect class="whinot" x="135" y="0" width="15" height="64" />
<rect class="whinot" x="150" y="0" width="15" height="64" />
<rect class="whinot" x="165" y="0" width="15" height="64" />
<rect class="whinot" x="180" y="0" width="15" height="64" />
<rect class="whinot" x="195" y="0" width="15" height="64" />
<rect class="blanot" x="0" y="2" width="6" height="36" />
<rect class="blanot" x="7" y="2" width="15" height="36" />
<rect class="blanot" x="37" y="2" width="15" height="36" />
<rect class="blanot" x="52" y="2" width="15" height="36" />
<rect class="blanot" x="67" y="2" width="15" height="36" />
<rect class="blanot" x="97" y="2" width="15" height="36" />
<rect class="blanot" x="112" y="2" width="15" height="36" />
<rect class="blanot" x="142" y="2" width="15" height="36" />
<rect class="blanot" x="157" y="2" width="15" height="36" />
<rect class="blanot" x="172" y="2" width="15" height="36" />
<rect class="blanot" x="202" y="2" width="8" height="36" />
<line class="skip" x1="55" y1="56" x2="110" y2="56" />
<line class="skip" x1="70" y1="52" x2="110" y2="52" />
<line class="skip" x1="85" y1="48" x2="110" y2="48" />
<line class="skip" x1="100" y1="44" x2="110" y2="44" />
<line class="skip" x1="115" y1="44" x2="125" y2="44" />
<line class="skip" x1="115" y1="48" x2="140" y2="48" />
<line class="skip" x1="115" y1="52" x2="155" y2="52" />
<line class="skip" x1="115" y1="56" x2="170" y2="56" />
<text fill="red" x="108" y="54">D</text>
</svg></td></tr>
</tbody></table>
<p>That the fixed number one subtracts from may be different for different modes does not alter the essential invertibility of the set. For instance if one subtracts the major PC sequence (aka the Ionian mode 0 2 4 5 7 9 11) from 0, one would recover 0 -2 -4 -5 -7 -9 -11, which is 0 10 8 7 5 3 1 - decidedly <em>not</em> the same mode since, reordered, this is 0 1 3 5 7 8 10 – i.e. the Phrygian. The 2 and the 9 have been flattened to 1 and 8. To recover the same mode, one would have to subtract the Ionian PC numbers from 4, to yield 4 2 0 –1 –3 –5 -7 which – after adding a 12 (‘doing nothing’) where necessary to keep us in positive PC numbers – results in 4 2 0 11 9 7 5, the exact same Ionian PC numbers we started with – we just don’t start on the tonic note. There’s a table towards the end of <a title="Again, we don't wish to repeat ourselves" href="https://www.blogger.com/2015/04/phrygian-subtonic-dorian.html" target="_blank">Phrygian = subtonic – Dorian</a> if you wish to see what happens to the modes if you subtract them from different values.</p>
<p>The invertible PC set however, regardless of mode, is the same particular ‘shape’ if you care to look at it as a polygon and – as such – <em>does not alter at all</em>. The shape just rotates around its centre. As such, its axis of symmetry is simply carried around with that rotation. There may of course be more than one axis of symmetry in other, non-diatonic, PC sets.</p>
<p>There are also scales which are not invertible such as the (pentatonic) Hirajoshi, the (hexatonic) Blues, the (heptatonic) Hungarian Major (<a title="The Hungarian Major seems to be the only one found in its class!" href="https://www.blogger.com/2015/04/the-hungarian-major-wont-be-inverted.html" target="_blank">which we’ve discussed</a>), the (octatonic) Bebop Dominant Flat Nine and many, many more.</p>
<p>
<table>
<tbody>
<tr>
<td class="ann" colspan="4">interval skip patterns</td>
</tr>
<tr>
<td class="ann">21414</td>
<td class="ann">321132</td>
<td class="ann">3121212</td>
<td class="ann">13122111</td>
</tr>
<tr>
<td class="lab">hirajoshi</td>
<td class="lab">blues</td>
<td class="lab">hungarian<br>
major</td>
<td class="lab">bebop<br>
dominant<br>
flatnine</td>
</tr>
<tr>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="asym" points="32,4 56,18 60,32 18,56 8,46" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="asym" points="32,4 60,32 46,56 32,60 18,56 8,18" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="asym" points="32,4 60,32 56,46 32,60 18,56 4,32 8,18" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="asym" points="32,4 46,8 56,46 46,56 18,56 4,32 8,18 18,8" />
</svg>
</td>
</tr>
</tbody>
</table>
<h3>A Digressional Touch of Polemic</h3>
<p>The 'interval skip pattern' notation, employed in the preceding diagrams, is simply a ‘key-signature’ independent representation of the semitone steps between each note of the scale, starting at its root or tonic note (twelve o'clock in the diagrams!), with the final step ‘returning’ you to the tonic (an octave above) regardless of whether or not the scale or mode is F Dorian, C# Hirajoshi or (if you’re one of those) a 432Hz-based-A Bebop Dominant Flatnine. This (completely scalable) interval skip pattern scheme works for systems other than twelve tone – indeed it works with <em>any</em> fixed octave-based microtonality and it doesn’t even need to be well-tempered (although the scales will sound different of course). Skip numbers simply have to total up to the number of microtones in your octave, and the number of skips (perforce not more than the number of microtones) must match the number of notes in your scale.</p>
<h3>Other Heptatonic Flippers</h3>
<p>The 2212221 skip pattern (of, specifically in that case, the Ionian mode of the ordinary ‘diatonic PC set’) simply rotates as 2122212 (Dorian), 1222122 (Phrygian), 2221221 (Lydian), 2212212 (Mixolydian), 2122122 (Aeolian) and 1221222 (Locrian) and carries its axis of symmetry around the clock as it does so. They are all regarded as the same PC Set (classified as Forte Number 7-35 in <a href="https://en.wikipedia.org/wiki/List_of_pitch-class_sets" target="_blank">Allen Forte’s naming system</a>). In that sense, modes are regarded as equivalences of the skip pattern, which is similarly regarded as a single pattern of interval skips, without being particularly bothered about which skip comes first.</p>
<p>For instance, with a seven note scale embedded within a twelve tone chromatic space, there are only two ways to have scales comprising only whole tone or semitone skips without two consecutive semitone skips. One of them is with three 2s and two 2s separated by 1s (they must, after all, add up to 12 in total). The only other possibility is four 2s and a single 2 separated by 1s. (Five 2s would leave only space for the forbidden two consecutive 1s). This alternative pattern (2222121, say) is also symmetric and also has seven modes. But it looks as if only six of them are in (reasonably, and variably so) common use.</p>
<p>
<a name="pcset1212222"><table>
<tbody>
<tr><td class="ann" colspan="6">various modes of interval skip pattern 2212122 (hindi)</td></tr>
<tr><td class="lab">javanese</td><td class="lab">locrian<br>
natural</td><td class="lab">melodic<br>
minor</td><td class="lab">hindi</td><td class="lab">overtone</td><td class="lab">locrian<br>
super</td></tr>
<tr>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 46,8 60,32 46,56 18,56 4,32 8,18" />
<line x1="32" y1="32" x2="46" y2="56" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 60,32 46,56 32,60 8,46 8,18" />
<line x1="32" y1="32" x2="8" y2="18" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 60,32 46,56 18,56 4,32 18,8" />
<line x1="32" y1="32" x2="18" y2="56" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 56,46 46,56 18,56 8,46 8,18" />
<line x1="32" y1="32" x2="32" y2="4" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 56,46 32,60 18,56 4,32 8,18" />
<line x1="32" y1="32" x2="56" y2="18" />
</svg>
</td>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 46,8 60,32 56,46 32,60 8,46 8,18" />
<line x1="32" y1="32" x2="8" y2="46" />
</svg>
</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</a>
<p>The axis of symmetry is marked with a yellow line. The Hindi scale, like the Dorian, is tonic-invertible in that subtraction from 0 will keep your PCs firmly inside the Hindi ‘mode’ of the PC set 7-34, the <a href="https://en.wikipedia.org/wiki/Forte_number" target="_blank">Forte Prime Form</a> of which is known as the half-diminished scale (aka the Locrian Super in the above).</p>
<p>If you forego the restriction preventing your scales comprising only semitone or whole tone skips, you may permit yourself a sesquitonic (one and a half tone, or three semitone) step (or two). Such a pattern might be 1131213 – again, all of the numbers must add up to 12. This is PC set 7-22, turning up as the Double Harmonic scale. This PC set is invertible and here are three further modes which, due to historical and geographical accident, are also known as scales in their own right (despite their all being simply modes, or rotations, of each other).</p>
<p><table><tbody>
<tr><td class="ann" colspan="6">three further modes of the symmetric sesquitonic scale PC set 7-22</td></tr>
<tr><td class="lab" colspan="2"><a title="which we have previously discussed" href="https://www.blogger.com/2015/04/the-invertible-hungarian-minor.html" target="_blank">hungarian minor</a></td><td class="lab" colspan="2">gypsy</td><td class="lab" colspan="2">oriental</td>
</tr>
<tr>
<td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 60,32 32,60 18,56 8,46 18,8" />
<line x1="32" y1="32" x2="18" y2="56" />
</svg>
</td>
<td class="ann">interval skip<br>
pattern<br>
2131131</td><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 46,8 56,46 46,56 18,56 8,46 18,8" />
<line x1="32" y1="32" x2="32" y2="4" />
</svg></td><td class="ann">interval skip<br>
pattern<br>
1312131</td><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 46,8 56,46 46,56 32,60 4,32 8,18" />
<line x1="32" y1="32" x2="46" y2="56" />
</svg>
</td>
<td class="ann">interval skip<br>
pattern<br>
1312131</td></tr>
</tbody>
</table>
<p>The distinctly non-PC (in the other sense) term ‘Gypsy scale’ is something that, alas, we can’t do very much about any time soon. Scale names are much too firmly embedded in musical language and history. Despite the obvious advantages of describing/classifying scales (and even modes) completely and unambiguously by numerical interval skip patterns, there’s pretty much no possibility of the more rational nomenclature prevailing any time soon. We just have to put up with the fact that the naming of musical scales is both haphazard and arbitrary. In short, the current space of scale names is clearly not scalable.</p>
<p>There are many other seven note PC sets. We (but we were by no means the first) counted 66 distinct (within modal, or rotational, equivalence) patterns <a title="same place as before, no need to visit it twice" href="https://www.blogger.com/2015/04/pitch-axis-considered-harmful.html" target="_blank">back in that first post</a> and we also noted that only 10 of those 66 were symmetric. In fact we observed that – regardless of the number of notes in a scale of any length (from 1 to 12 within the twelve-tone series) – the majority of PC sets are unsymmetric. Which is not to say that, worldwide, some musician has not come up with a scale which employs them (as, for example, the aforementioned Hungarian Major, demonstrates).</p>
<h3>Octatonical Flips</h3>
<p>How about eight note scales? We know there are 43 PC sets containing eight PCs, and that only 15 of them are symmetric. A few, like the heptatonic sets, can be constructed with the restriction that they contain only whole tone or semitone skips. But this time, because the scale is so crowded with notes, consecutive semitone skips are unavoidable. If three consecutive skips are whole tone then you must fit the remaining five notes – best case – within a span of six semitones (or fewer, if all three whole tone skips are not consecutive). If <em>five</em> skips are whole tone then that’s ten of the available PCs already accounted for, leaving you no room at all to fit in the other three PCs. Four 2s and four 1s seems to be a good compromise and the 21212121 pattern – which is doubly symmetric on two axes – is found in the usual pair of Jazz scales commonly called ‘octatonic’ – one of them starting with a whole tone, the other with a semitone. But there are other – single-axiswise symmetric – scales:</p>
<p><table>
<tbody>
<tr><td class="ann" colspan="4">four symmetric octatonic scales - mostly bebop</td>
</tr>
<tr><td class="lab" colspan="4">modes with two consecutive semitones</td></tr>
<tr>
<td class="lab" colspan="2">bebop major</td>
<td class="lab" colspan="2">flamenco</td>
</tr>
<tr><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 56,46 46,56 18,56 8,46 4,32 18,8" />
<line x1="32" y1="32" x2="56" y2="18" />
</svg></td><td class="ann">interval skip pattern<br>
22121121</td><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 46,8 60,32 56,46 46,56 18,56 8,46 8,18" />
<line x1="32" y1="32" x2="8" y2="18">
</line></svg></td><td class="ann">interval skip pattern<br>
12112122</td></tr>
<tr><td class="lab" colspan="4">modes with three consecutive semitones</td></tr>
<tr><td class="lab" colspan="2">bebop minor</td><td class="lab" colspan="2">bebop dominant</td></tr>
<tr><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 60,32 46,56 18,56 8,46 4,32 8,18" />
<line x1="6" y1="39" x2="58" y2="25" />
</svg></td><td class="ann">interval skip pattern<br>
21221112</td><td><svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
<polygon class="ring" points="32,4 46,8 56,18 60,32 56,46 46,56 32,60 18,56 8,46 4,32 8,18 18,8" />
<polygon class="back" points="32,0 48,4 60,16 64,32 60,48 48,60 32,64 16,60 4,48 0,32 4,16 16,4" />
<polygon class="symm" points="32,4 56,18 56,46 46,56 18,56 4,32 8,18 18,8" />
<line x1="13" y1="13" x2="51" y2="51" />
</svg></td><td class="ann">interval skip pattern<br>
22122111</td>
</tr>
</tbody>
</table>
<p>The two PC sets above are, respectively, 8-26 and 8-23, Forte-wise.</p>
<h3>Counting - The maths bit</h3>
<p>We already counted, right back <a title="loc. cit." href="https://www.blogger.com/2015/04/pitch-axis-considered-harmful.html" target="_blank">at the beginning</a>, how many three note, four note, five note etc scales were inversions of themselves - we reproduce the distribution here:</p>
<p><a href="http://image.storistry.com/Negation_F3C7/image_5.png"><img width="582" height="316" title="invertible k note scales in 12 note chromaticism" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" alt="image" src="http://image.storistry.com/Negation_F3C7/image_thumb_6.png" border="0"></a></p>
<p>The bluish bars represent the minority of invertible sets and the reddish the uninvertible ones within each set size. The sequence for k-note scales is 1, 6, 5, 15, 10, 20, 10, 15, 5, 6, 1 for k=0 to 12. We didn't bother to chart the extremes (of 0 and 12) because, trivially there's only one way to have an empty musical scale (bound to be reflectionally symmetric), and also only one full 12 note chromatic scale - obviously very symmetric indeed.</p>
<p>If you add up all of these (bluish) numbers they total 96. Which is to say that, of the 352 (= 1 + 1 + 6 + 19 + 43 + 66 + 80 + 66 + 43 + 19 + 6 + 1 + 1) possible (differently 'shaped' rotationally equivalent) k-note scales (again, for k=0 through to k=12) representable inside a 12 hour clock, most of them (i.e. 256) are not reflectionally symmetric.</p>
<p>If you make the further equivalence between those shapes which are mirror images of each other (i.e. although you cannot rotate one to completely match the other, you can rotate its mirror image to match it) then those <a title="One of our counting pages" href="/p/351-versus-2048.html">352</a> shapes reduce to <a title="Another of our counting pages" href="/p/224-versus-351.html">224</a>. As the 96 symmetric polygons already <em>were</em> 'equivalent in the mirror' they're not quite as rare amongst this reduced set.</p>
<p>If you remember your early geometry classes and remember your triangles, you may recall the difference between <em>congruent</em> triangles and <em>similar</em> triangles. In this regard, polygons are people too, as it were (notions of similarity also include not having to be the same size, but that's not relevant here). Additionally the general case of the haphazardly shaped polygon might remind you of those undistinguished scalene triangles. Isosceles triangles are analagous to our symmetric polygons.</p>
<h3>More than 12 Notes</h3>
<p>What about other microtonalities? Our '96', '224' and '352' counts are but one case (the '12' case) of well known integer sequences used to count bracelet or necklace arrangements. You may encounter the terms 'necklace' to model those patterns with rotational equivalences (our larger 352 case) and 'bracelet' to model a flippable necklace - i.e. patterns with the additional reflectional equivalences (the 224 case subset) and - still further - bracelets which are also symmetric.</p>
<p>The first two are, respectively and more formally, examples of <a href="https://en.wikipedia.org/wiki/Cyclic_group">Cyclic</a> and <a href="https://en.wikipedia.org/wiki/Dihedral_group">Dihedral</a> groups in Group Theory. The following tables show three entries in the Sloane Catalogue of Integer Sequences (<a title="One of the great mathematical resources on the tubes" href="http://oeis.org" target="_blank">the OEIS</a> is the online version). The various headings for each sequence come from that catalogue.</p>
<p>
<table><thead>
<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th><th>11</th><th style="background-color: rgb(204, 255, 204);">12</th><th>13</th><th>14</th><th>15</th><th>16</th></tr>
</thead>
<tbody>
<tr><td class="hed" colspan="16"><a href="https://oeis.org/A000031">Number of n-bead necklaces with 2 colors when turning over is not allowed</a><br><em>also</em> number of output sequences from a simple n-stage cycling shift register<br><em>also</em> number of binary irreducible polynomials whose degree divides n<br>In music, a(n) is the number of distinct classes of scales and chords in an n-note equal-tempered tuning system</td></tr>
<tr><td class="key">2</td><td class="key">3</td><td class="key">4</td><td class="key">6</td><td class="key">8</td><td class="key">14</td><td class="key">20</td><td class="key">36</td><td class="key">60</td><td class="key">108</td><td class="key">188</td><td class="keybol">352</td><td class="key">632</td><td class="key">1182</td><td class="key">2192</td><td class="key">4116</td></tr>
<tr><td class="hed" colspan="16"><a href="https://oeis.org/A000029">Number of necklaces with n beads of 2 colors, allowing turning over (these are also called bracelets)</a></td></tr>
<tr><td class="key">2</td><td class="key">3</td><td class="key">4</td><td class="key">6</td><td class="key">8</td><td class="key">13</td><td class="key">18</td><td class="key">30</td><td class="key">46</td><td class="key">78</td><td class="key">126</td><td class="keybol">224</td><td class="key">380</td><td class="key">687</td><td class="key">1224</td><td class="key">2250</td></tr>
<tr><td class="hed" colspan="16"><a href="https://oeis.org/A029744">Number of necklaces with n beads and two colors that are the same when turned over and hence have reflection symmetry</a></td></tr>
<tr><td class="key">2</td><td class="key">3</td><td class="key">4</td><td class="key">6</td><td class="key">8</td><td class="key">12</td><td class="key">16</td><td class="key">24</td><td class="key">32</td><td class="key">48</td><td class="key">64</td><td class="keybol">96</td><td class="key">128</td><td class="key">192</td><td class="key">256</td><td class="key">384</td></tr>
</tbody>
</table>
<p>Note that each number in the third sequence is the corresponding number in the first sequence subtracted from twice the number in the second sequence.</p>
<p>But we are modelling scales (or, more abstractly, PC sets) as k-sided, or k-pointed (it's the same thing - a PC set with k members) polygons picked out as sub-polygons of the 12-sided 'chromatic dodecagon'. It turns out that the last series can be rather nicely captured by the generating function:</p>
<p><img alt="Generating Function for Symmetric Polygon Totals in n-sized tuning systems" src="http://image.storistry.com/maths/G1Z.png"></p>
<p>where the <em>p<sub>n</sub></em> (for n = 1 and upwards) are the exact same values in the third sequence above. (For completeness, <em>p<sub>0</sub></em> = 1.) This generating function is given in the Sloane catalogue, but without that rather mysterious 1 we've slipped in, with a comma, before the z. What’s that all about?</p>
<p>In fact it is an application of a more general generating function of two variables, u and z, evaluated at the value of u = 1. This function is:</p>
<p><img alt="Generating Function for Symmetric Polygons of k-sized scales in n-sized tuning systems" src="http://image.storistry.com/maths/GenUZ.png"></p>
<p>The apparently unnecessary double summation tacked on to the end of that function is there for a reason - it allows you to pick out the individual counts for k-sized scales inside n-sized tuning systems <em>for any n and for any k</em> (perforce less than or equal to n). All you have to do is expand the rational polynomial as a power series in u and z. Which is pretty straightforward.</p>
<p>
<img alt="k-sized scale counts in 0 to 13 note tuning systems" src="http://image.storistry.com/maths/GUZ0-12-13.png">
</p>
<p>In particular the penultimate line of the expression - representing the familiar 12-tone chromaticism - shows the coefficients of the individual powers of u, i.e. the <em>a<sub>12 k</sub>u<sup>k</sup></em>, as the 1, 1, 6, 5, 15, 10, 20, 10, 15, 5, 6, 1, 1 we presented earlier (including the u<sup>0</sup> and u<sup>12</sup> cases). For example we see that there are 10 symmetric heptatonic (and of course pentatonic) scales within 12 tone chromaticism.</p>
<p>In general, for musical systems with an even number of divisions (like our familiar 12 tone), we have that:</p>
<p><em>P<sub>2m</sub>(u)</em> = (1 + <em>u</em> + <em>u<sup>2</sup></em>)(1 + <em>u<sup>2</sup></em>)<sup>m-1</sup></p>
<p>And that for musical systems with an odd number of divisions (e.g. <a href="https://en.wikipedia.org/wiki/17_equal_temperament">17</a> or <a href="https://en.wikipedia.org/wiki/19_equal_temperament">19</a> tone systems):</p>
<p><em>P<sub>2m+1</sub>(u)</em> = (1 + <em>u</em>)(1 + <em>u<sup>2</sup></em>)<sup>m</sup></p>
<p>You may also wish to verify that - if you want to count <em>all</em> invertible scales, regardless of k, for each of those values of n, just set u = 1 (<em>p<sub>n</sub></em> = <em>P<sub>n</sub>(1)</em>) in the above.</p>
<p>The above 'triangular series' which appears as the ever lengthening lines of coefficients of <em>u</em> for increasing powers of <em>z</em> is also documented in the Sloane Catalogue as series <a href="https://oeis.org/A119963">A119963</a>. Dr <a href="https://oeis.org/A180171/a180171.pdf">Petros Hadjicostas</a> has attached a generating function Sum_{n,k >= 1} RE(n,k)*x^n*y^k = (1+x*y-x^2)*x*y/((1-x)*(1-x^2-x^2*y^2)) which, in our letterings (<em>u</em> for <em>y</em> and <em>z</em> for <em>x</em>), would translate to our <em>G</em>(<em>u</em>,<em>z</em>)-1/(1-<em>z</em>) which, taking into account our start at <em>n</em> = 0, is the same thing.</p>
<p>As a fun application, consider all of the triads available to a musician playing with the aforementioned <a href="https://en.wikipedia.org/wiki/17_equal_temperament">17 note system</a>, which can be represented with a 17-gon. We pick out</p>
<p><em>P<sub>17</sub>(u)</em> = (1 + <em>u</em>)(1 + <em>u<sup>2</sup></em>)<sup>8</sup></p>
<p>and expand powers of <em>u</em> to obtain</p>
<p><img alt="k-sized scale counts in a 17 note tuning systems" src="http://image.storistry.com/maths/G17Z.png"/></p>
<p>and we can immediately see (from the coefficient of <em>u<sup>3</sup></em>) that 8 (out of the possible 40 from the well known dihedral symmetry enumerations) triads are self-inversional. Below is a diagram showing all 40, with the 8 self-inversional triads as isosceles triangles in blue and the remaining 32 non-inversional, as 16 mirror pairs, in salmon.</p>
<p><svg xmlns="http://www.w3.org/2000/svg" width="512" height="320">
<polygon class="ring" points="32,0 44,2 54,8 61,18 64,29 63,41 58,51 49,59 38,63 26,63 15,59 6,51 1,41 0,29 3,18 10,8 20,2"/>
<polygon class="back" points="32,4 42,6 51,11 57,20 60,29 59,40 54,49 47,56 37,60 27,60 17,56 10,49 5,40 4,29 7,20 13,11 22,6"/>
<polygon class="symm" points="32,4 37,60 27,60"/>
<polygon class="ring" points="96,0 108,2 118,8 125,18 128,29 127,41 122,51 113,59 102,63 90,63 79,59 70,51 65,41 64,29 67,18 74,8 84,2"/>
<polygon class="back" points="96,4 106,6 115,11 121,20 124,29 123,40 118,49 111,56 101,60 91,60 81,56 74,49 69,40 68,29 71,20 77,11 86,6"/>
<polygon class="symm" points="96,4 111,56 81,56"/>
<polygon class="ring" points="160,0 172,2 182,8 189,18 192,29 191,41 186,51 177,59 166,63 154,63 143,59 134,51 129,41 128,29 131,18 138,8 148,2"/>
<polygon class="back" points="160,4 170,6 179,11 185,20 188,29 187,40 182,49 175,56 165,60 155,60 145,56 138,49 133,40 132,29 135,20 141,11 150,6"/>
<polygon class="symm" points="160,4 182,49 138,49"/>
<polygon class="ring" points="224,0 236,2 246,8 253,18 256,29 255,41 250,51 241,59 230,63 218,63 207,59 198,51 193,41 192,29 195,18 202,8 212,2"/>
<polygon class="back" points="224,4 234,6 243,11 249,20 252,29 251,40 246,49 239,56 229,60 219,60 209,56 202,49 197,40 196,29 199,20 205,11 214,6"/>
<polygon class="symm" points="224,4 251,40 197,40"/>
<polygon class="ring" points="288,0 300,2 310,8 317,18 320,29 319,41 314,51 305,59 294,63 282,63 271,59 262,51 257,41 256,29 259,18 266,8 276,2"/>
<polygon class="back" points="288,4 298,6 307,11 313,20 316,29 315,40 310,49 303,56 293,60 283,60 273,56 266,49 261,40 260,29 263,20 269,11 278,6"/>
<polygon class="symm" points="288,4 316,29 260,29"/>
<polygon class="ring" points="352,0 364,2 374,8 381,18 384,29 383,41 378,51 369,59 358,63 346,63 335,59 326,51 321,41 320,29 323,18 330,8 340,2"/>
<polygon class="back" points="352,4 362,6 371,11 377,20 380,29 379,40 374,49 367,56 357,60 347,60 337,56 330,49 325,40 324,29 327,20 333,11 342,6"/>
<polygon class="symm" points="352,4 377,20 327,20"/>
<polygon class="ring" points="416,0 428,2 438,8 445,18 448,29 447,41 442,51 433,59 422,63 410,63 399,59 390,51 385,41 384,29 387,18 394,8 404,2"/>
<polygon class="back" points="416,4 426,6 435,11 441,20 444,29 443,40 438,49 431,56 421,60 411,60 401,56 394,49 389,40 388,29 391,20 397,11 406,6"/>
<polygon class="symm" points="416,4 435,11 397,11"/>
<polygon class="ring" points="480,0 492,2 502,8 509,18 512,29 511,41 506,51 497,59 486,63 474,63 463,59 454,51 449,41 448,29 451,18 458,8 468,2"/>
<polygon class="back" points="480,4 490,6 499,11 505,20 508,29 507,40 502,49 495,56 485,60 475,60 465,56 458,49 453,40 452,29 455,20 461,11 470,6"/>
<polygon class="symm" points="480,4 490,6 470,6"/>
<polygon class="ring" points="32,64 44,66 54,72 61,82 64,93 63,105 58,115 49,123 38,127 26,127 15,123 6,115 1,105 0,93 3,82 10,72 20,66"/>
<polygon class="back" points="32,68 42,70 51,75 57,84 60,93 59,104 54,113 47,120 37,124 27,124 17,120 10,113 5,104 4,93 7,84 13,75 22,70"/>
<polygon class="asym" points="32,68 27,124 22,70"/>
<polygon class="ring" points="32,128 44,130 54,136 61,146 64,157 63,169 58,179 49,187 38,191 26,191 15,187 6,179 1,169 0,157 3,146 10,136 20,130"/>
<polygon class="back" points="32,132 42,134 51,139 57,148 60,157 59,168 54,177 47,184 37,188 27,188 17,184 10,177 5,168 4,157 7,148 13,139 22,134"/>
<polygon class="asym" points="32,132 27,188 17,184"/>
<polygon class="ring" points="96,64 108,66 118,72 125,82 128,93 127,105 122,115 113,123 102,127 90,127 79,123 70,115 65,105 64,93 67,82 74,72 84,66"/>
<polygon class="back" points="96,68 106,70 115,75 121,84 124,93 123,104 118,113 111,120 101,124 91,124 81,120 74,113 69,104 68,93 71,84 77,75 86,70"/>
<polygon class="asym" points="96,68 91,124 77,75"/>
<polygon class="ring" points="96,128 108,130 118,136 125,146 128,157 127,169 122,179 113,187 102,191 90,191 79,187 70,179 65,169 64,157 67,146 74,136 84,130"/>
<polygon class="back" points="96,132 106,134 115,139 121,148 124,157 123,168 118,177 111,184 101,188 91,188 81,184 74,177 69,168 68,157 71,148 77,139 86,134"/>
<polygon class="asym" points="96,132 91,188 74,177"/>
<polygon class="ring" points="160,64 172,66 182,72 189,82 192,93 191,105 186,115 177,123 166,127 154,127 143,123 134,115 129,105 128,93 131,82 138,72 148,66"/>
<polygon class="back" points="160,68 170,70 179,75 185,84 188,93 187,104 182,113 175,120 165,124 155,124 145,120 138,113 133,104 132,93 135,84 141,75 150,70"/>
<polygon class="asym" points="160,68 155,124 135,84"/>
<polygon class="ring" points="160,128 172,130 182,136 189,146 192,157 191,169 186,179 177,187 166,191 154,191 143,187 134,179 129,169 128,157 131,146 138,136 148,130"/>
<polygon class="back" points="160,132 170,134 179,139 185,148 188,157 187,168 182,177 175,184 165,188 155,188 145,184 138,177 133,168 132,157 135,148 141,139 150,134"/>
<polygon class="asym" points="160,132 155,188 133,168"/>
<polygon class="ring" points="224,64 236,66 246,72 253,82 256,93 255,105 250,115 241,123 230,127 218,127 207,123 198,115 193,105 192,93 195,82 202,72 212,66"/>
<polygon class="back" points="224,68 234,70 243,75 249,84 252,93 251,104 246,113 239,120 229,124 219,124 209,120 202,113 197,104 196,93 199,84 205,75 214,70"/>
<polygon class="asym" points="224,68 229,124 205,75"/>
<polygon class="ring" points="224,128 236,130 246,136 253,146 256,157 255,169 250,179 241,187 230,191 218,191 207,187 198,179 193,169 192,157 195,146 202,136 212,130"/>
<polygon class="back" points="224,132 234,134 243,139 249,148 252,157 251,168 246,177 239,184 229,188 219,188 209,184 202,177 197,168 196,157 199,148 205,139 214,134"/>
<polygon class="asym" points="224,132 229,188 209,184"/>
<polygon class="ring" points="288,64 300,66 310,72 317,82 320,93 319,105 314,115 305,123 294,127 282,127 271,123 262,115 257,105 256,93 259,82 266,72 276,66"/>
<polygon class="back" points="288,68 298,70 307,75 313,84 316,93 315,104 310,113 303,120 293,124 283,124 273,120 266,113 261,104 260,93 263,84 269,75 278,70"/>
<polygon class="asym" points="288,68 293,124 263,84"/>
<polygon class="ring" points="288,128 300,130 310,136 317,146 320,157 319,169 314,179 305,187 294,191 282,191 271,187 262,179 257,169 256,157 259,146 266,136 276,130"/>
<polygon class="back" points="288,132 298,134 307,139 313,148 316,157 315,168 310,177 303,184 293,188 283,188 273,184 266,177 261,168 260,157 263,148 269,139 278,134"/>
<polygon class="asym" points="288,132 293,188 266,177"/>
<polygon class="ring" points="352,64 364,66 374,72 381,82 384,93 383,105 378,115 369,123 358,127 346,127 335,123 326,115 321,105 320,93 323,82 330,72 340,66"/>
<polygon class="back" points="352,68 362,70 371,75 377,84 380,93 379,104 374,113 367,120 357,124 347,124 337,120 330,113 325,104 324,93 327,84 333,75 342,70"/>
<polygon class="asym" points="352,68 357,124 324,93"/>
<polygon class="ring" points="352,128 364,130 374,136 381,146 384,157 383,169 378,179 369,187 358,191 346,191 335,187 326,179 321,169 320,157 323,146 330,136 340,130"/>
<polygon class="back" points="352,132 362,134 371,139 377,148 380,157 379,168 374,177 367,184 357,188 347,188 337,184 330,177 325,168 324,157 327,148 333,139 342,134"/>
<polygon class="asym" points="352,132 357,188 325,168"/>
<polygon class="ring" points="416,64 428,66 438,72 445,82 448,93 447,105 442,115 433,123 422,127 410,127 399,123 390,115 385,105 384,93 387,82 394,72 404,66"/>
<polygon class="back" points="416,68 426,70 435,75 441,84 444,93 443,104 438,113 431,120 421,124 411,124 401,120 394,113 389,104 388,93 391,84 397,75 406,70"/>
<polygon class="asym" points="416,68 401,120 406,70"/>
<polygon class="ring" points="416,128 428,130 438,136 445,146 448,157 447,169 442,179 433,187 422,191 410,191 399,187 390,179 385,169 384,157 387,146 394,136 404,130"/>
<polygon class="back" points="416,132 426,134 435,139 441,148 444,157 443,168 438,177 431,184 421,188 411,188 401,184 394,177 389,168 388,157 391,148 397,139 406,134"/>
<polygon class="asym" points="416,132 401,184 394,177"/>
<polygon class="ring" points="480,64 492,66 502,72 509,82 512,93 511,105 506,115 497,123 486,127 474,127 463,123 454,115 449,105 448,93 451,82 458,72 468,66"/>
<polygon class="back" points="480,68 490,70 499,75 505,84 508,93 507,104 502,113 495,120 485,124 475,124 465,120 458,113 453,104 452,93 455,84 461,75 470,70"/>
<polygon class="asym" points="480,68 495,120 452,93"/>
<polygon class="ring" points="480,128 492,130 502,136 509,146 512,157 511,169 506,179 497,187 486,191 474,191 463,187 454,179 449,169 448,157 451,146 458,136 468,130"/>
<polygon class="back" points="480,132 490,134 499,139 505,148 508,157 507,168 502,177 495,184 485,188 475,188 465,184 458,177 453,168 452,157 455,148 461,139 470,134"/>
<polygon class="asym" points="480,132 495,184 458,177"/>
<polygon class="ring" points="32,192 44,194 54,200 61,210 64,221 63,233 58,243 49,251 38,255 26,255 15,251 6,243 1,233 0,221 3,210 10,200 20,194"/>
<polygon class="back" points="32,196 42,198 51,203 57,212 60,221 59,232 54,241 47,248 37,252 27,252 17,248 10,241 5,232 4,221 7,212 13,203 22,198"/>
<polygon class="asym" points="32,196 10,241 22,198"/>
<polygon class="ring" points="32,256 44,258 54,264 61,274 64,285 63,297 58,307 49,315 38,319 26,319 15,315 6,307 1,297 0,285 3,274 10,264 20,258"/>
<polygon class="back" points="32,260 42,262 51,267 57,276 60,285 59,296 54,305 47,312 37,316 27,316 17,312 10,305 5,296 4,285 7,276 13,267 22,262"/>
<polygon class="asym" points="32,260 10,305 5,296"/>
<polygon class="ring" points="96,192 108,194 118,200 125,210 128,221 127,233 122,243 113,251 102,255 90,255 79,251 70,243 65,233 64,221 67,210 74,200 84,194"/>
<polygon class="back" points="96,196 106,198 115,203 121,212 124,221 123,232 118,241 111,248 101,252 91,252 81,248 74,241 69,232 68,221 71,212 77,203 86,198"/>
<polygon class="asym" points="96,196 81,248 77,203"/>
<polygon class="ring" points="96,256 108,258 118,264 125,274 128,285 127,297 122,307 113,315 102,319 90,319 79,315 70,307 65,297 64,285 67,274 74,264 84,258"/>
<polygon class="back" points="96,260 106,262 115,267 121,276 124,285 123,296 118,305 111,312 101,316 91,316 81,312 74,305 69,296 68,285 71,276 77,267 86,262"/>
<polygon class="asym" points="96,260 81,312 69,296"/>
<polygon class="ring" points="160,192 172,194 182,200 189,210 192,221 191,233 186,243 177,251 166,255 154,255 143,251 134,243 129,233 128,221 131,210 138,200 148,194"/>
<polygon class="back" points="160,196 170,198 179,203 185,212 188,221 187,232 182,241 175,248 165,252 155,252 145,248 138,241 133,232 132,221 135,212 141,203 150,198"/>
<polygon class="asym" points="160,196 133,232 150,198"/>
<polygon class="ring" points="160,256 172,258 182,264 189,274 192,285 191,297 186,307 177,315 166,319 154,319 143,315 134,307 129,297 128,285 131,274 138,264 148,258"/>
<polygon class="back" points="160,260 170,262 179,267 185,276 188,285 187,296 182,305 175,312 165,316 155,316 145,312 138,305 133,296 132,285 135,276 141,267 150,262"/>
<polygon class="asym" points="160,260 133,296 132,285"/>
<polygon class="ring" points="224,192 236,194 246,200 253,210 256,221 255,233 250,243 241,251 230,255 218,255 207,251 198,243 193,233 192,221 195,210 202,200 212,194"/>
<polygon class="back" points="224,196 234,198 243,203 249,212 252,221 251,232 246,241 239,248 229,252 219,252 209,248 202,241 197,232 196,221 199,212 205,203 214,198"/>
<polygon class="asym" points="224,196 202,241 205,203"/>
<polygon class="ring" points="224,256 236,258 246,264 253,274 256,285 255,297 250,307 241,315 230,319 218,319 207,315 198,307 193,297 192,285 195,274 202,264 212,258"/>
<polygon class="back" points="224,260 234,262 243,267 249,276 252,285 251,296 246,305 239,312 229,316 219,316 209,312 202,305 197,296 196,285 199,276 205,267 214,262"/>
<polygon class="asym" points="224,260 202,305 196,285"/>
<polygon class="ring" points="288,192 300,194 310,200 317,210 320,221 319,233 314,243 305,251 294,255 282,255 271,251 262,243 257,233 256,221 259,210 266,200 276,194"/>
<polygon class="back" points="288,196 298,198 307,203 313,212 316,221 315,232 310,241 303,248 293,252 283,252 273,248 266,241 261,232 260,221 263,212 269,203 278,198"/>
<polygon class="asym" points="288,196 273,248 263,212"/>
<polygon class="ring" points="288,256 300,258 310,264 317,274 320,285 319,297 314,307 305,315 294,319 282,319 271,315 262,307 257,297 256,285 259,274 266,264 276,258"/>
<polygon class="back" points="288,260 298,262 307,267 313,276 316,285 315,296 310,305 303,312 293,316 283,316 273,312 266,305 261,296 260,285 263,276 269,267 278,262"/>
<polygon class="asym" points="288,260 273,312 260,285"/>
<polygon class="ring" points="352,192 364,194 374,200 381,210 384,221 383,233 378,243 369,251 358,255 346,255 335,251 326,243 321,233 320,221 323,210 330,200 340,194"/>
<polygon class="back" points="352,196 362,198 371,203 377,212 380,221 379,232 374,241 367,248 357,252 347,252 337,248 330,241 325,232 324,221 327,212 333,203 342,198"/>
<polygon class="asym" points="352,196 324,221 342,198"/>
<polygon class="ring" points="352,256 364,258 374,264 381,274 384,285 383,297 378,307 369,315 358,319 346,319 335,315 326,307 321,297 320,285 323,274 330,264 340,258"/>
<polygon class="back" points="352,260 362,262 371,267 377,276 380,285 379,296 374,305 367,312 357,316 347,316 337,312 330,305 325,296 324,285 327,276 333,267 342,262"/>
<polygon class="asym" points="352,260 324,285 327,276"/>
<polygon class="ring" points="416,192 428,194 438,200 445,210 448,221 447,233 442,243 433,251 422,255 410,255 399,251 390,243 385,233 384,221 387,210 394,200 404,194"/>
<polygon class="back" points="416,196 426,198 435,203 441,212 444,221 443,232 438,241 431,248 421,252 411,252 401,248 394,241 389,232 388,221 391,212 397,203 406,198"/>
<polygon class="asym" points="416,196 389,232 397,203"/>
<polygon class="ring" points="416,256 428,258 438,264 445,274 448,285 447,297 442,307 433,315 422,319 410,319 399,315 390,307 385,297 384,285 387,274 394,264 404,258"/>
<polygon class="back" points="416,260 426,262 435,267 441,276 444,285 443,296 438,305 431,312 421,316 411,316 401,312 394,305 389,296 388,285 391,276 397,267 406,262"/>
<polygon class="asym" points="416,260 389,296 391,276"/>
<polygon class="ring" points="480,192 492,194 502,200 509,210 512,221 511,233 506,243 497,251 486,255 474,255 463,251 454,243 449,233 448,221 451,210 458,200 468,194"/>
<polygon class="back" points="480,196 490,198 499,203 505,212 508,221 507,232 502,241 495,248 485,252 475,252 465,248 458,241 453,232 452,221 455,212 461,203 470,198"/>
<polygon class="asym" points="480,196 455,212 470,198"/>
<polygon class="ring" points="480,256 492,258 502,264 509,274 512,285 511,297 506,307 497,315 486,319 474,319 463,315 454,307 449,297 448,285 451,274 458,264 468,258"/>
<polygon class="back" points="480,260 490,262 499,267 505,276 508,285 507,296 502,305 495,312 485,316 475,316 465,312 458,305 453,296 452,285 455,276 461,267 470,262"/>
<polygon class="asym" points="480,260 455,276 461,267"/>
</svg>
</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-80470093276528090282017-09-17T00:56:00.002+01:002020-12-02T08:48:36.603+00:00The Third Degree<p>As the <a title="Daisy-Chaining Thirds (and Sixths)" href="http://mi.doh.so/2017/09/the-third-way.html" target="_blank">previous article</a> mentions, the following ‘motif’ (scare quotes because of what follows) begins with a long run of thirds:</p>
<p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/037B2591468A-BergVioCon.png"></p>
<p>This, the Berg Violin Concerto's 'defining tone row' is the one catalogued by the ‘34433443222’ interval class index in <a href="https://en.wikipedia.org/wiki/List_of_tone_rows_and_series" target="_blank">Wikipedia’s list of tone rows</a> (hereinafter referred to as <em>wLOTR</em>), which cites this concerto as its principle reference. Fripertinger's more technically exciting <a title="Well worth a visit if you are into detailed musical mathematical models" href="https://homepage.uni-graz.at/de/harald.fripertinger/database-on-tone-rows-and-tropes/" target="_blank">Database on tone rows and tropes</a> also indexes the works discussed here with the exact same tone row or interval sequence keys (it's not clear if the Wiki page is based on this). So it might be interesting to investigate how this particular sequence came to be the one elected to characterise the entire opus.</p><p>As a more general question, of all of the instantiations of a tone-row within a work, how does one decide which of them is ‘prime’? For it is a well-known problem, as Peter Castine reminds us, at the beginning of §2.9 in his <em><strong><a href="https://www.amazon.co.uk/dp/B01FEPWCJC" target="_blank" title="Book from Amazon UK">Set Theory Objects</a></strong></em> (<em>Europaïscher Verlag der Wissenschaften; Musicology, Peter Lang 1994</em>):</p><blockquote><p><font face="Baskerville Old Face">“The main difficulty in set theoretic musical analysis is not so much that of recognizing relations between pc sets, it is deciding which notes in the score should be analyzed as pc sets. This is called segmentation. Once segmentation has been established, much of the remaining work is mechanical; [etc] …”</font></p></blockquote><p>We should also consider Babbitt’s contributions to the concepts of serialism and what might be called ‘<em>tone-rowism</em>’. He writes (of Schoenberg - whom he knew - and of the nuances of translating German into English)</p><blockquote><p><font face="Baskerville Old Face">“The word <em>Reihe</em> bothered him because it became <em>row</em>. And to him <em>row</em> suggested left to right – something in a row – and that’s what it does connote. And that connotation, he thought, was part of all these misunderstandings about the twelve-tone notion having to do with some sort of thematic, motivic thing that went from left to right. It upset him, so he asked various friends about it.</font></p><p align="center"><font size="1">[omitted paragraph on how <em>series</em> was suggested, and rejected, as translation for <em>Reihe</em>]</font></p><p><font face="Baskerville Old Face">And I regret to tell you, I am guilty. I suggested the word <em>set</em>, which had absolutely no meaning in music as yet. It came out of mathematics (not that that pleased me particularly) and it seemed to be a neutral term. Of course, a set does not mean anything ordered, but if you append <em>twelve-tone</em> or <em>twelve-pitch-class</em> to the word <em>set</em>, then that implies an ordered set and that’s a very familiar structure, too, in abstract relation theory. So there we were.”</font></p></blockquote><p>This is from chapter 1, “<em><strong>The Twelve Tone Tradition</strong></em>” of Milton Babbitt’s “<em>Words About Music</em>”, Dembski and Straus (eds), from the University of Wisconsin. You may read much of this book in <a title="Milton Babbitt: Words about Music" href="https://books.google.co.uk/books?hl=en&id=MGJlAdsK1PsC&pg=PR7&dq=babbitt+the+twelve+tone+tradition" target="_blank">google’s academicals</a>, but not – unfortunately - this particular bleeding chunk since pages 11 and 12 are ‘not shown in this preview’. You’ll either have to take my word for it or find a real copy, but as Babbitt’s generally a fun read, it’s worthwhile.</p><p>So Babbitt claims that Schoenberg never intended that all twelve tones must be played out (exhausted if you will) in order, before you were allowed to proceed to any of its transformations (i.e. its repeats or retrogrades or inversions). Although this does not seem to square (advance pun warning) well with later attentions paid to the construction of <a title="A rather nice web-based tone row serial filler" href="http://composertools.com/Tools/" target="_blank">P-R-I-RI grids</a>, <em>aka</em> Babbitt Squares, it just means that these are <em>possible</em> playthings, not <em>necessary</em> ones - and a comparatively recent invention unused in the composition of the pair of works discussed here.</p><p>In any case. musicians may write what they please, even the (Babbittally argued) most intellectual of the Berg-Schoenberg-Webern group, Berg himself, to whose concerto’s tone-row ‘signature’ we now return.</p>
<h3>Berg in Threes</h3>
<p>In the score’s introduction (Universal Edition Philharmonia Partituren #426), “F.S.” (<a href="https://www.universaledition.com/composers-and-works/friedrich-saathen-1347" title="Friedrich Saathen 1922-2002">Friedrich Saathen</a>) describes the above tone row (<strong>G</strong> B♭ <strong>D</strong> F# <strong>A</strong> C <strong>E</strong> G# B C# E♭ F) as being ‘the one from which the Concerto is made’ (presumably what we might call its prime ‘P0’ form). Attention is drawn to the G D A E, the four consecutive perfect fifths of the violin’s open strings, embedded within its head and also to the terminating tritone resulting from the last three (actually four, if you include a wraparound) whole tone steps. And of course the concerto begins with those four open strings. Clarinets and harp provide the interstitial B, F# and C in the first two bars. They also throw in some Fs, but as these could conceivably have come from some unheard previous row’s instantiation (n.b. F is at the end of the model above), we concede its legitimacy (no, we’re not serious).</p>
<a name="BergManon"><p>One of the focal points of the concerto, in the second half, is at bar 195:</p></a>
<p><img width="500" style="margin-right: auto; margin-left: auto; float: none; display: block;" alt="Berg Violin Concerto - Adagio Bars 195ff" src="http://image.storistry.com/thirds/BergVioConcAdag195.png"></p>
<p>where the soloist comes in (the <em><strong>p</strong></em> at the middle of bar 196) with the entire tone row (interval classes at the top, zeroed-out pitch classes at the bottom) :</p>
<p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/BergVioConcAdag195Abstract.png"></p>
<p>- presumably intended to convey (the already) angelic little Manon Gropius heavenward. It’s damn’ poignant, but the ‘principal tone row’ <em>seems</em> not quite there. Its 34433443222 jump pattern appears to lack the fourth '2' present in the above 32222344334 ascent. However, this is due solely to omission of the final 'wraparound to initial' value in interval path representations of tone rows or of pitch class sets. Appending them results in 344334432222 (the 'ur-row' of F.S.) and 322223443344 (Manon's ascent), both final skips taking you to accumulated sums of 36 = 3×12.</p>
<p>These <em>differential</em> forms of both tone rows show that they are the same object (simple rotations of each other) in a way that explicit pitch class sequences make spectacularly opaque. Just try comparing {0,3,7,11,2,5,9,1,4,6,8,10} with {0,3,5,7,9,11,2,6,10,1,4,8} or, even worse, G-B♭-D-F#-A-C-E-G#-B-C#-E♭-F with A-C-D-E-F#-A♭-B-E♭-G-B♭-D♭-F in an attempt to work out if they're the same musical object.</p>
<!--
<h3>Diversionary Polemic - Use the Check-Digit!</h3>
<p>It's easy to see why this happens. It's a strictly redundant piece of information since - as 'everybody knows' what that last jump would be - it's not deemed necessary to show it.</p>
<p>For a scale such as C, D, E, F, G, A, B, semitone-hopwise representable as 221222 (six hops between the seven pitches, accumulatively summing to 11), a last hop value (1) would be what you'd need to take you up to the next pitch class of zero (~12, of course). And there's the case of a tone row, where digits 1 to 6 describe upward interval skips and digits 7, 8, 9, A, B describe larger upward jumps or - equivalently - <em>downward</em> ones (i.e. of, respectively, -5, -4, -3, -2, -1). A running sum of such a sequence will be some multiple of 12 only by tacking on the closing hop to the initial pitch, which is not - or seldom - done in catalogues.</p>
<p>If you <em><strong>do</strong></em> include that final 'check' digit however, the first of the above two tone rows is <em>fully</em> represented as 344334432222 (that final 2 taking you to an accumulated sum of 36 = 3×12). The second tone row, 'Manon's ascent', is represented as 322223443344 (the final 4 also taking you to an accumulated sum of 36). It is now <em>obvious</em> that these are the same musical object - one being simply a 'rotation' of the other.</p>
<p>The addition of the 'redundant' terminating interval also adds value; in that the length of the interval path now echoes <em>exactly</em> the size of the object it describes rather than being <a href="https://www.youtube.com/watch?v=lbnkY1tBvMU" title="Tarzan" target="_new">deficient in the hop department to the tune of one</a>. What was hitherto a six component 221222 is now a seven component 2212221, accurately reflecting the real size of the scale. Similarly we can instantly see that there are twelve pitch classes involved in the <em>differential</em> form that 344334432222 now takes.</p>
<p>Finally, it's so much easier to perceive the abstract structures provided by such interval notation as compared with, say, {0, 2, 4, 5, 7, 9, 11} or {0, 1, 3, 5, 6, 8, 10} for (essentially identical) pitch class sets or 037B2591468A for a tone row where the 'raw' numbers buzz around like flies.</p>
-->
<h3>Webern in Threes</h3><p>Another piece of serialism, also from the B-S-W trinity, is indexed in both wLOTR and Fripertinger as 34343443431, intended to represent interval skips of the prime form P = +3-4+3-4+3-4-4+3-4+3-1 or its inversion I = -3+4-3+4-3+4+4-3+4-3+1.</p>
<p>This (unsigned) 'P' string is only 11 characters long. Fair enough; it represents, after all, skips between 12 pitches. But it already (accidentally) sums to 36 (a multiple of 12). If you take the signs (the directions of the interval skips up+ or down-) into account then they sum to (respectively) -6 and (for the 'I' string) +6 - thus telling you the size of the next skip to the beginning of a second instance of the tone row. In <em>applications</em> of tone rows - actual instantiations in real written down music - that final skip seldom matters because the next occurrence of the tone row is very likely <em>not</em> going to be a repeat of the exact same P (or I) form beginning with the same note as before, so the relevance of the 6 would be somewhat moot.</p>
<p>But for the purposes of tone row <em>indexing</em>, a better 'differential index' would be 3838388383B6 (include that 12th wraparound 6 with the index's digits summing to 72 = 6×12). This covers the explicit pitch class representation 0 3 e 2 t 1 9 5 8 4 7 6 (t=10, e=11). There's a second entry with an explicit pitch class representation of 0 9 1 t 2 e 3 7 4 8 5 6 (it's the inversion) covered by the exact same interval index of 34343443431 (of course it is the same, that second tone row's an inversion and the minus signs are absent). If you 'put the signs back' as it were, by using 8 for -4, 9 for -3 (and so on) then that second row would be indexed (adding the final 12th, wraparound, digit 6) as 949494494916 - again summing to 72. Because of the ups and downs of this tone row (a feature entirely lacking in Berg's constantly rising row) it's not quite so obvious that 3838388383B6 and 949494494916 are the same musical object as you cannot simply rotate (by shifting digits from its tail to its head) one index into the other. You actually have to 'do work' to notice that - digit by digit - all of the characters of each index sum to 12 (3+9, 8+4, … 3+9, B(=11)+1, 6+6), exactly what you'd expect of an inversion (regarded in PC set theory as equivalent).</p>
<p>It's extremely annoying that such indexing will work only by re-instituting all 11 intervals, foregoing the (incredibly useful) joy of having to contend with only 6 interval <em>classes</em> and thereby 'dis-integrating' the hitherto similar representations of (no longer visually identical) inversions. But when indexing tone rows by their internal intervals - where intervalic direction actually matters - it's unfortunately necessary. Pitch class sets, in contrast, may be safely indexed with interval class digits only since there are no sequences to contend with because pitch classes just 'stand there', motionless.</p>
<p>Regardless of indexing issues, we can see that Webern's tone row is much thirdier; almost, but not quite, as thirdy as you can get.</p><p>In wLOTR (<a title="Wikipedia's tone row catalog" href="https://en.wikipedia.org/wiki/List_of_tone_rows_and_series" target="_blank">loc cit</a>) it’s the immediately preceding entry (if sorted by interval class, at the time of writing – there’s lots of possible room for expansion, so who knows how long this will stand). And the tone row entry that it falls under is indexed as 0 3 e 2 t 1 9 5 8 4 7 6 (or 03B2A1958476 in the alternative popular tone-row labelling scheme), which looks like this (if you regard the leading F# as the 0).</p><p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/03B2A1958476.png"></p><p>The interval class jumps (+ or – omitted as obvious, when you can actually <em>see</em> the directions) annotate the bottom of the illustration. Remember that, interval<em> classwise</em>, descending a major or minor sixth is the same as ascending (respectively) a minor or major third (and vice-versa). It’s why interval <em>classes</em> (which is one of the ways the wLOTR Wiki is indexed) are in the range 1 to 6 and not 1 to 11, as discussed above. I.e. the indexing is actually a string of ±3±4±4±3… where the ± is not shown but is to be taken as ‘understood’.</p>
<p>The work cited by that index (or indexed by that citation) is the second of Webern’s <em>Drei Lieder</em> (Op 18) of 1927(ish), "<em>Erlösung</em>" which begins thus:</p><p><a title="Larger Image" href="http://image.storistry.com/thirds/WebernErloesungAnnotated.png" target="_blank"><img width="500" style="margin-right: auto; margin-left: auto; float: none; display: block;" alt="Bars 1 to 6 of Webern's Erlösung" src="http://image.storistry.com/thirds/WebernErloesungAnnotated.png"></a></p><p>We’ve coloured up the first seven (red, green, blue, red, green, blue, red) of the tone-row (actually set) block instantiations. Apart from the slight ambiguity of which of two pitches in a guitar’s tremolo comes first, the <em>sequence</em> of pitch first-appearances across the instrumentation is – in all seven cases [except the last ‘interesting’ one] F# C F G# E G E♭ B D B♭ C# A.</p><p>One might notice the overlaps. For instance the first ‘green’ set begins before the earlier ‘red’ one has quite finished, and these overlaps continue as the piece progresses. But there’s no change in the particular sequence of pitch classes.</p><p>So, out of bars 1 to 3, one may pull out the first red (bars 1 and 2) and green (bars 2 and 3) blocks to confirm the (tremolos notwithstanding) sequence. You may painstakingly, if you wish, verify that the following blocks follow the same tone row (i.e. no inversions or retrogrades):</p><p>
<a title="Erlösung - Bars 1 and 2 rendered down" href="http://image.storistry.com/thirds/WebernErloesungToneRow.png" target="_blank">
<img style="margin-right: auto; margin-left: auto; float: none; display: block;" alt="Erlösung's Tone Row" src="http://image.storistry.com/thirds/WebernErloesungToneRow500.png"/>
</a></p>
<p>As the annotations show (interval jumps underneath the stemless abstractions), the intervals aren’t quite the same as the one ‘attached’ to this work in wLOTR. There's a 5 jump in the composition which does <em>not</em> appear in wLOTR's interval class index. And, of course, 0 3 e 2 t 1 9 5 8 4 7 6 (also from wLOTR) is not (from the above, assuming F# → 0) 0 6 e 2 t 1 9 5 8 4 7 3.</p>
<p>You can certainly see the similarity – it’s only at the edges (in bold underlining) that there is a difference</p><p align="center"><font face="Lucida Sans Typewriter" size="1"><strong><u>0 3</u></strong> e 2 t 1 9 5 8 4 7 <strong><u>6</u></strong><br><strong><u>0 6</u></strong> e 2 t 1 9 5 8 4 7 <strong><u>3</u></strong></font></p><p>(although the 0 hardly needs to be underlined as its presence is demanded by the nature of the presentation). So what’s with this 3/6 head/tail swap? The worst possible place to happen for a lookup, wrecking both the tone-row and the interval-sequence index? The reference authority cited for this tone row is, in fact, a footnote in a journal article by the one and only David Lewin:</p><p><a title="link to an embiggenment" href="http://image.storistry.com/thirds/Lewin1962.png" target="_new"><img width="500" style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/Lewin1962.png"></a></p>
<p>(from <em><strong>A Theory of Segmental Association in Twelve-Tone Music</strong></em>, D Lewin, <em>Perspectives of New Music</em> V#1 N#1, Autumn 1962) where one may clearly see the A after the initial F# and the terminal C in the upper (Φ<sub>0</sub>) line in contrast to the <em>actualité</em> of Webern’s C and F#, easily seen (multiple times, as if to nail it firmly into your head) in the above score-snippet.</p>
<p>The differential forms of the above Φ<sub>0</sub> and I<sub>0</sub> are 3838388383B6 and 949494494916 - hence their appearance (albeit with de-signed 3s and 4s) in wLOTR.</p>
<p>Lewin’s exposition is – by the way - quite legitimate (his article concerns hexachords and segmentation). As he says, earlier on (in regard to Schoenberg’s Op 36 Violin Concerto):</p><blockquote><p><font face="Baskerville Old Face">“These examples are of considerable value in cautioning us against the naïve but plausible assumption that all effective associative relations in such music as this must be presented explicitly. The reader is urged to keep this moral in mind throughout the sequel. Of course, the extent to which we will recognize any such relations, whether explicit or not, is heavily dependent on the extent to which the compositional presentation of the notes involved supports or obscures the abstract relation, <strong>and/or the extent to which the sonorities involved have been explicitly established as referential</strong>.”</font> [our emph]</p></blockquote><p>What appear to be the 'obvious' tone rows (or, equivalently, interval-class sequences) - by which we mean those sets or sequences readily available to a listener or a score-reader (bearing in mind Castine’s caution), in contrast to those other, rather abstruse, representations available to a reader of somewhat rarefied musical journals - may not be terribly useful when interrogating a database to discover them. Fortunately, other rather more instantly available - even to a non-musician - indexes such as the composer's name or the work's name are also present.</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-74000815396265422152017-09-05T14:12:00.001+01:002018-07-02T17:31:43.532+01:00The Third Way<style type="text/css">
polygon {stroke: black; stroke-width: 1; fill-rule: evenodd; }
.no34 { stroke: black; stroke-width: 1; fill: lightblue; }
.sym1 { stroke: black; stroke-width: 1; fill: lightgreen; }
.sym1h { stroke: black; stroke-width: 1; fill: cyan; }
.asym { stroke: black; stroke-width: 1; fill: khaki; }
.sym2 { stroke: black; stroke-width: 1; fill: blue; }
</style>
<p>This post was triggered by a brief exchange with <a title="van Ree - his Mo(nu)ments" href="https://musescore.com/user/21187" target="_blank">Jan-Willem van Ree</a> (on <a title="Free Scoring Software" href="https://musescore.com" target="_blank">musescore)</a> about the use of certain intervals in structured or otherwise constrained music. Having believed I had seen, long ago, examples of <a title="Use all twelve notes exactly once each before moving along" href="https://en.wikipedia.org/wiki/Tone_row" target="_blank">tone rows</a> built exclusively from major and minor thirds (or their interval class equivalent, minor and major sixths), I’d formed the impression that either Webern or Berg had actively sought such sequences.</p><p>Dr van Ree kindly reminded me of the Berg Violin Concerto which includes the following run of eight successive thirds (abstracted and annotated below, with both note names and semitone interval classes between notes), and which finishes off with a triple whole tone tritone run. In the score’s introduction (Universal Edition Philharmonia Partituren #426), <a href="https://www.universaledition.com/composers-and-works/friedrich-saathen-1347" title="Friedrich Saathen 1922-2002">“F.S.”</a> describes it as being the one from which the Concerto is made (presumably its prime ‘P0’ form - although it's not a strict 12 tone work). </p>
<p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" alt="Berg Violin Concerto 'Es ist Genug' Tone Row" src="http://image.storistry.com/thirds/037B2591468A-BergVioCon.png"></p><p>Being the sort of thing I was looking for, the start of the sequence might be represented by the curved (red) path in the following transition-by-thirds (dark/light blue arrows for minor/major thirds respectively) diagram:</p><p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/BergThirds.png"></p>
<p>But with this we may seek circuits, i.e. closed paths. For instance one might start at E, move to G, then B, then to D, to F, to A♭, to C, to E♭, to F#, to B♭, to C# and back to the starting E. That’s a circuit of eleven pitches, visiting each note only once. The one missed is the A. Is there any way to visit all 12, and end up where we started?</p>
<p>Unhappily not. There's <em>no</em> path which can complete such a circuit. You cannot find a path from any note <em>back to itself</em> visiting every other exactly once on the way.</p>
<p>You may, however, visit all notes exactly once – you just don’t get to return home. Here is one such path, again the curved one, starting at C and finishing at B:</p>
<p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/ThirdingPath.png"></p>
<p>The length of the route is 3+3+3+4+3+3+3+4+3+3+3 = 35. If the diagram would allow you to step 1 semitone then you could make it home from B to C (a nicely cadential leading tone) at 36.</p>
<p>There are four such paths (or 48, 12 each, if you care about your start position, but in pitch class world we really don’t). The jump patterns (and path lengths thereof) are:</p>
<p><ol><font face="Lucida Sans Typewriter" size="1">
<li>35 = 3+3+3+4+3+3+3+4+3+3+3(+1)</li>
<li>37 = 4+3+3+4+3+3+3+4+3+3+4(-1)</li>
<li>39 = 4+3+3+4+4+3+4+4+3+3+4(-3)</li>
<li>41 = 4+4+3+4+4+3+4+4+3+4+4(-5)</li>
</font></ol>
<p>The numbers in parentheses at the end are the extra steps you'd need to return to your start position. If you insist on upward jumps only then you must change the last three 'homing' jumps to +11, +9 and +7.</p><p>Completenesswise, journey number 4 also has a resolving flavour with its dominant/tonic termination. Journey 3 doesn’t, but the final jump home is at least another third, it’s just in the ‘wrong’ (with this diagram) direction.</p><p>Another representation of such circuits is by drawing them on the 12 hour pitch class clock:</p>
<p>
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="125">
<script type="text/javascript">
function anipol(p)
{
var poly = p; // document.querySelector('polygon');
if (poly)
{
var len = poly.getTotalLength();
var box = poly.getBBox();
poly.style.transition = poly.style.WebkitTransition = 'none';
poly.style.strokeDasharray = len + ' ' + len;
poly.style.strokeDashoffset = len;
poly.getBoundingClientRect();
poly.style.transition = poly.style.WebkitTransition = 'stroke-dashoffset 5s ease-in-out';
poly.style.strokeDashoffset = '0';
}
return poly;
}
</script>
<polygon class="no34" points="50,0 100,50 50,100 0,50 75,7 93,75 25,93 7,25 93,25 75,93 7,75 25,7" onclick="anipol(this)" />
<text x="2" y="115">0369147A258B</text>
<polygon class="no34" points="175,0 218,75 150,93 132,25 218,25 200,93 132,75 150,7 225,50 175,100 125,50 200,7" onclick="anipol(this)" />
<text x="128" y="115">047A258B3691</text>
<polygon class="sym1" points="300,0 343,75 275,93 257,25 343,25 300,100 250,50 325,7 325,93 257,75 275,7 350,50" onclick="anipol(this)" />
<text x="252" y="115">047A269158B3</text>
<polygon class="no34" points="425,0 468,75 382,75 400,7 475,50 400,93 382,25 468,25 425,100 375,50 450,7 450,93" onclick="anipol(this)" />
<text x="378" y="115">048B37A26915</text>
</svg>
</p>
<p>where the modulo 12 labelling describes the pitch class visit-order – all of them starting from 0 (at 12 o’clock) and tracing the black lines strictly clockwise in their 3 or 4 ‘hourly’ jumps, except for that final jump, back to 0 (A and B being 10 and 11 respectively). You may click on the coloured areas to watch the traversals.</p>
<p>It will not have escaped your attention that, plotted this way, bilateral polygonal symmetry is apparent. Musically, this simply admits that their retrogrades and inversions are identical (descending thirds instead of ascending ones). The inverse of a minor third is a major sixth (3 + 9 = 12), and vice versa (4 + 8 = 12). The differences are all <em>interval</em> class 3 or 4. The third clock diagram is distinguished green only because, unlike the others, the closing leap happens to be in that very interval class (+9 ≡ –3, modulo 12).</p><p>But once we’ve admitted the equivalent interval classes of sixths and thirds, we may dispense with the arrowheads, since we may now move from node to node in either direction (major 3rd being equivalent to minor sixth, minor third to major sixth, either rising or falling). We may also take the opportunity to dispense with note names and abstract to pitch classes. The following transition diagram results:</p><p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://image.storistry.com/thirds/3sAnd6s.png"></p><p>Where the A and the B represent pitch classes 10 and 11 (not notes A and B!).</p><p>Now, since one may move in either direction, the possibilities for complete circuits (visiting all twelve pitch classes exactly once in a closed loop) would appear to dramatically increase. As in fact they have, to 252 in sheer numbers. But as far as the actual <em>patterns</em> of such loops are concerned, where (musical) transposition of a circuit is the same as starting at a different point, retrograde is circuiting in the opposite direction, and inversion as reflection, etc, it turns out that there are only 11 distinct patterns. In ‘alphabetical’ order, these are</p><p><ol><font face="Lucida Sans Typewriter" size="1">
<li>0362591A7B84 → +3+3-4+3+4+4-3-3+4-3-4(-4) ≡ +3+3+8+3+4+4+9+9+4+9+8(+8)</li>
<li>0362A147B859 → +3+3-4-4+3+3+3+4-3-3+4(+3) ≡ +3+3+8+8+3+3+3+4+9+9+4(+3)</li>
<li>0362A1958B74 → +3+3-4-4+3-4-4+3+3-4-3(-4) ≡ +3+3+8+8+3+8+8+3+3+8+9(+8)</li>
<li>0362A7B84159 → +3+3-4-4-3+4-3-4-3+4+4(+3) ≡ +3+3+8+8+9+4+9+8+9+4+4(+3)</li>
<li>0362B7A14859 → +3+3-4-3-4+3+3+3+4-3+4(+3) ≡ +3+3+8+9+8+3+3+3+4+9+4(+3)</li>
<li>0362B847A159 → +3+3-4-3-3-4+3+3+3+4+4(+3) ≡ +3+3+8+9+9+8+3+3+3+4+4(+3)</li>
<li>0369152A7B84 → +3+3+3+4+4-3-4-3+4-3-4(-4) ≡ +3+3+3+4+4+9+8+9+4+9+8(+8)</li>
<li>036A1952B748 → +3+3+4+3-4-4-3-3-4-3+4(+4) ≡ +3+3+4+3+8+8+9+9+8+9+4(+4)</li>
<li>036A259147B8 → +3+3+4+4+3+4+4+3+3+4-3(+4) ≡ +3+3+4+4+3+4+4+3+3+4+9(+4)</li>
<li>037B26A19584 → +3+4+4+3+4+4+3-4-4+3-4(-4) ≡ +3+4+4+3+4+4+3+8+8+3+8(+8)</li>
<li>037B2A691584 → +3+4+4+3-4-4+3+4+4+3-4(-4) ≡ +3+4+4+3+8+8+3+4+4+3+8(+8)</li>
</font></ol><p>
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="375">
<polygon class="sym1" points="50,0 100,50 50,100 93,25 75,93 0,50 75,7 7,25 25,93 25,7 7,75 93,75" onclick="anipol(this)" />
<text x="2" y="112">0362591A7B84</text>
<polygon class="sym1h" points="175,0 225,50 175,100 218,25 132,25 200,7 218,75 150,93 150,7 132,75 200,93 125,50" onclick="anipol(this)" />
<text x="128" y="112">0362A147B859</text>
<polygon class="sym1" points="300,0 350,50 300,100 343,25 257,25 325,7 250,50 325,93 257,75 275,7 275,93 343,75" onclick="anipol(this)" />
<text x="252" y="112">0362A1958B74</text>
<polygon class="asym" points="425,0 475,50 425,100 468,25 382,25 400,93 400,7 382,75 468,75 450,7 450,93 375,50" onclick="anipol(this)" />
<text x="378" y="112">0362A7B84159</text>
<polygon class="sym1" points="50,125 100,175 50,225 93,150 25,132 25,218 7,150 75,132 93,200 7,200 75,218 0,175" onclick="anipol(this)" />
<text x="2" y="238">0362B7A14859</text>
<polygon class="sym1h" points="175,125 225,175 175,225 218,150 150,132 132,200 218,200 150,218 132,150 200,132 200,218 125,175" onclick="anipol(this)" />
<text x="128" y="238">0362B847A159</text>
<polygon class="asym" points="300,125 350,175 300,225 250,175 325,132 325,218 343,150 257,150 275,218 275,132 257,200 343,200" onclick="anipol(this)" />
<text x="252" y="238">0369152A7B84</text>
<polygon class="sym1" points="425,125 475,175 425,225 382,150 450,132 375,175 450,218 468,150 400,132 400,218 468,200 382,200" onclick="anipol(this)" />
<text x="378" y="238">036A1952B748</text>
<polygon class="sym1" points="50,250 100,300 50,350 7,275 93,275 75,343 0,300 75,257 93,325 25,343 25,257 7,325" onclick="anipol(this)" />
<text x="2" y="362">036A259147B8</text>
<polygon class="sym1" points="175,250 225,300 150,343 150,257 218,275 175,350 132,275 200,257 125,300 200,343 132,325 218,325" onclick="anipol(this)" />
<text x="128" y="362">037B26A19584</text>
<polygon class="sym2" points="300,250 350,300 275,343 275,257 343,275 257,275 300,350 250,300 325,257 325,343 257,325 343,325" onclick="anipol(this)" />
<text x="252" y="362">037B2A691584</text>
</svg></p><p>The above 'pitch class clock diagrams' show all 11 species of ‘dodecacircuits’ where every jump size is either ±3 or ±4 semitones.
Musically, these steps are minor or major thirds (up or down) in pitch class (or, respectively, major or minor sixths, down or up). Of the 11 patterns, 10 turn up 24 times (rotations & reflections leaving their essential paths unaltered) and 1 turns up only 12 times (because it has <em>two</em> axes of symmetry) - the last shown, in dark blue. Thus accounting for the 252.</p><p>Two are coloured yellow; unlike the others, they are unsymmetric. The pair are, however, related – one being a reflection of the other (musical inversion) most easily perceived by flipping (say) the second one (0369152A7B84) in its horizontal (3 o’clock to 9 o’clock) axis (i.e. it cannot rotate into the other, only flip).</p><p>All others are symmetric – the brighter blue pair are so distinguished only because their single axis of symmetry happens to cut through an axis on whole hours (opposing dodecagonal vertices) rather than the majority whose axes of symmetry lie over half-hours (opposing dodecagonal edges). For instance the symmetry axis on 0362A147B859 is at 2 o’clock to 8 o’clock, but lies at 2:30 to 8:30 on 036A1952B748. That last one (number 8 in the above list, with the interval path +3+3+4+3-4-4-3-3-4-3+4 is depicted below:</p><p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" alt="Pitch class Sequence 036A1952B748 as a 12-Tone tone row" src="http://image.storistry.com/thirds/036A1952B748.png"></p><p>And at the end it will take the step of a major third to start the row afresh.</p><p>Notice that the ninth dodecagon, labelled 036A259147B8 (the first one in the third row here) is our old friend from the quartet of ‘third-up-only circuiters’ from before, labelled 047A269158B3. It turns up here because its final jump back (of –3) is in the interval class allowed by our new <em>bi</em>directional interval jumping rule. To see that this is indeed the case, move the first character of the earlier label to the front, thus 047A269158B3 → 47A269158B30 (equivalent to rotating the polygonal pattern by one ‘hour’). Whereupon you now subtract 4 (or, equivalently modulo 12, add 8) to each character of this rotated label to restart it at zero. Thus 47A269158B30 → 036A259147B8, precisely the label of the ninth one above.</p><p>The labels above are chosen because they are – alphabetically – the ‘lowest valued’ ones of the (generally 24) possible ‘pitch class path’ labellings for each shape, i.e. with the longest runs of minor third runs at the start, then the major thirds, minor sixths and major sixths. Consequently the polygons drawn are the ones determined by that label.</p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-32488833189283083002017-02-10T12:33:00.000+00:002017-06-30T00:18:32.039+01:00A B♭ in my bonnet<p>There’s no shortage of material about <a href="https://en.wikipedia.org/wiki/Lydian_Chromatic_Concept_of_Tonal_Organization" title="with the Miles Davis Seal of Approval">George Russell’s “Lydian Chromatic Concept”</a> on the ‘tubes, but much of it is geometrically justified by some interpreters and – consequently - may come across as something from the Green Ink Brigade, i.e. a little cranky.<br />
But the geometry seems sound, being as it is just a representational consequence of a harmonic ‘reality’ – at least no less so than the “cycle of fifths” is based on the fifth’s frequency’s being (classically, anyway) 3/2 times the root note’s frequency (or 2<sup>7/12</sup> times, if you’re well-tempered). As this is aurally (arguably, I suppose, since everything’s arguable) the next most obvious interval after the octave’s 2/1, its importance in music is well established.</p>
<p>If you allow the standard 12 hour clock (or dodecagon) as both a useful and reasonable model for talking about dodecaphonically partitioned octaves then you’re already happy about (by which I mean that you are mathematically and unavoidably led to) using twelve 7 semitone jumps having as much legitimacy as a ‘generator’ of all 12 notes as is the more direct single 1 semitone stepping up the sequence. That's because 7 (and 5) is relatively prime to 12, just as is 11 (and, trivially, 1).</p>
<p>If you’re comfortable (and many are not) with letting the maths repurpose its role from being merely a usefully descriptive <i>modeller</i> to its being a prescriptive <i>constructor</i> of musics, with a constructor's often concomitant value judgements, then the Lydian ends up as ‘tops’. It cannot help it!</p>
<p>So if you decide that the (diatonic, seven note) scale you’re generating is to begin on the tonic note of that scale (bearing in mind that - modally – you're quite free not to) then starting on (for example) C takes you to G then D then A then E then B then F#, at which point you stop (you've got your 7 notes) and reorder those notes into the (tada – Lydian, not Ionian) scale/mode with that telltale sharpened fourth. And its relative ‘minor’ is of course three semitones back to starting on the A, with its F# making it a Dorian and not an Aeolian (which would have the F).</p>
<p>Another way of seeing the ‘distinguishedness’ of the Lydian is to order all 7 diatonic modes <i>alphabetically</i> (which, as it happens, turns out to be numerically) with their halfstep/wholestep descriptions (not their <i>names</i> - that would be silly).</p>
<p>
<ul>
<li>1221222
Locrian</li>
<li>1222122
Phrygian</li>
<li>2122122
Aeolian</li>
<li>2122212
Dorian</li>
<li>2212212
Mixolydian</li>
<li>2212221
Ionian</li>
<li>2221221
Lydian</li>
</ul></p>
<p>Which is – effectively – the modes ordered by their ‘majorness’ starting from the most minorish. And there’s the Lydian right at the end of the list, with the Ionian coming in only as the runner-up. Naturally the 'ugly duckling' Locrian brings up the rear (but personally I'm quite fond of that next 'loser', the Phrygian).</p>
<p>Note that these (key independent) semitone-step-determinatives of the diatonic modes are the exact same consequence of the ‘generative fifthiness’ – there’s no new information there - but it’s still interesting.</p>
<p>This kind of modelling will work with any sized scale built up from stacked fifths – perhaps the next most familiarly the pentatonic (with its five modes) embedded within 12-note systems.</p>
<p>There’ll be a ‘most major’ ordering (the ordering with all the biggest skips at the beginning of the scale) of an octatonic scale too. It’s 22122111, the dominant bebop scale (=Ionian plus an extra – functionally dominant - seventh), since you ask. As to why you'd select that particular octatonic (and its eight - permutationally cycling - modes) pattern of steps (as opposed to - say - 22221111, or 23112111) it's because we're (here) considering only scales constructed with stacked fifths:</p>
<table cellspacing="0" cellpadding="0">
<thead>
<tr><th colspan="4">The 'Majorest' modes built from stacked fifths, for scales of varying degree</th></tr>
</thead>
<tbody>
<tr><td colspan="2"> </td><td>Hexatonic<br/>322122</td><td><img src="http://image.storistry.com/scales/6/614325052341-1-2394-322122.jpg" alt="steps 322122" height="50%"/></td></tr>
<tr><td>Heptatonic<br/>Lydian mode (diatonic)<br/>2221221</td><td><img src="http://image.storistry.com/scales/7/725436263452-1-2741-2221221.jpg" alt="steps 2221221" height="50%"/></td><td>Pentatonic<br/>Major Mode 3<br/>32322</td><td><img src="http://image.storistry.com/scales/5/503214041230-1-2378-32322.jpg" alt="steps 32322" height="50%"/></td></tr>
<tr><td>Octatonic<br/>Bebop Dominant<br/>22122111</td><td><img src="http://image.storistry.com/scales/8/846547474564-1-2775-22122111.jpg" alt="steps 22122111" height="50%"/></td><td>Tetratonic<br/>5232</td><td><img src="http://image.storistry.com/scales/4/402103030120-1-2130-5232.jpg" alt="steps 5232" height="50%"/></td></tr>
<tr><td>Nonatonic<br/>221112111</td><td><img src="http://image.storistry.com/scales/9/967668686676-1-2807-221112111.jpg" alt="steps 221112111" height="50%"/></td><td>Tritonic<br/>552</td><td><img src="http://image.storistry.com/scales/3/301002020010-1-2114-552.jpg" alt="steps 552" height="50%"/></td></tr>
<tr><td>Decatonic<br/>2111211111</td><td><img src="http://image.storistry.com/scales/a/A88889898888-1-3039-2111211111.jpg" alt="steps 2111211111" height="50%"/></td><td>Duotonic<br/>Alternating Tonic-Dominant<br/>75</td><td><img src="http://image.storistry.com/scales/2/200001010000-1-2064-75.jpg" alt="steps 65" height="50%"/></td></tr>
</tbody>
</table>
<p>Note that - as is typical with paired n-note and 12-n note scales - the 'majorest' 12-n note scale is one of the modes of the scale constructed from the notes missing from the n-note scale. (Hexatonic scales are, naturally, their own 'anti-scales').</p>
<h2>Microtonality</h2>
<p>This construction principle will also work with scales embedded within the more exotic world of microtonality. Consider, for example, a scale divided into 17 'equal' (or as near as dammit) divisions. This, by the way, is a <a href="https://en.wikipedia.org/wiki/17_equal_temperament" title="see also 19 note scales etc">real thing</a>. To generate the 'best' (value judgment!) scale/mode from some root note of this scale, you'd ascertain which of the 16 remaining notes was nearest in frequency to 3/2 times the root note. If it's an even-tempered microtonality (it need not be - that's a human choice, not some law of the cosmos) then 2<sup>10/17</sup> ≈ 1.5034, comes closest to 3/2 (almost as closely as does 'our' 2<sup>7/12</sup>). In other words, the most consonant sounding scales within a 17 note microtonality would be generated from <i>its</i> 'cycle of fifths' based on 10 (as opposed to 7) semitone jumps.</p>
<table cellspacing="0" cellpadding="0">
<tr>
<td><p>Regardless of 'key', you may generate the whole set of 17 from the sequence 0, 10, 3, 13, 6, 16, 9, 2, 12, 5, 15, 8, 1, 11, 4, 14, 7 (successive remainders of successive multiples of 10 when divided by the 17 - see '<a href="http://mathworld.wolfram.com/StarPolygon.html" title="star polygons at Wolfram">star polygon</a> {17,10}').
</p></td>
<td><img src="http://image.storistry.com/scales17/stapol1710.png" alt="star polygon {17,10}" width="200"/></td>
</tr>
<tr>
<td><p>Compare that with the cycle of fifths 0, 7, 2, 9, 4, 11, 6, 1, 8, 3, 10, 5, familiar to our dodecaphonic culture (a star polygon {12, 7}).</p></td>
<td><img src="http://image.storistry.com/scales/stapol1207.png" alt="star polygon {12,7}" width="200"/></td>
</tr>
</table>
<table cellspacing="0" cellpadding="0">
<tr><td colspan="2"><p>Again, you might choose to elect some equivalent to a 'diatonic' scale comprising just over half of the available tones from the beginning of that 17 note sequence, i.e. a nine note 'octave'. Then you'd arrange those 9 numbers in ascending order to generate your 'diatonic' scale. It would be 0, 2, 3, 6, 9, 10, 12, 13, 16. Analogously there'd be nine modes, and the most major of those modes would be the one with the largest internal steppings up front.</p></td></tr>
<tr><td><p>As the generated stepping is 213312131 (a scale built from <em>three</em> types of skip - 4 semitones, 2 tones and 3 sesquitones!), the alphabetically highest one would be 331213121 (i.e. the scale sequence 0, 3, 6, 7, 9, 10, 13, 14, 16) [see right].</p></td><td rowspan="2"><img src="http://image.storistry.com/scales17/09/331213121.png" alt="steps 331213121" height="50%"/></td></tr>
<tr><td><p>Build up some analogous triads (0, 7, 10) as a 'major chord' in this scale. A 'minor' would correspondingly be (0, 6, 10). Note that both contain the fifth (the 10) and that the minor has a 'flattened third' (a 6 instead of a 7).</p></td></tr>
<tr><td colspan="2"><p>This 17 note scale still has room for a separate 4th, close to the fifth for that super major 'Lydian' feel. Furthermore you have two sevenths (like the two thirds) at 13 and 16 - a dominant one <i>and</i> a major one for a leading tone, in the same scale.</p></td></tr>
</table>
<p>Below's a picture of an imaginary heptadecaphonic piano with 17 note scale support. You could play with both thirds (minor and major) and with both kinds of sevenths (minor/dominant and major) without ever leaving the white keys, in its "C-Major" mode. Although we - like Miles Davis - would think of the piano layout as being based on a white-noted F-Lydian, with a middle F.</p>
<p align-"center"><img src="http://image.storistry.com/scales17/stoneweigh.png" alt="fantasy heptadecaphonic keyboard" width="70%"/></p>LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-1230648340422295702015-04-29T00:29:00.001+01:002015-08-10T16:03:15.515+01:00The Hungarian Major won’t be Inverted<p>Until now we’ve been working in musical scales, all of which allow melodic inversion. We’ve looked at the standard western major and minor seven-note (heptatonic) scales, the old Greek or Church modes (Aeolian, Dorian, Mixolydian etc), a couple of pentatonic scales (major and minor) and an octatonic scale or two for jazz, and slightly more unusual heptatonic scales such as the Hungarian Minor and its relatives.</p> <p>All of those scales will permit you to invert a musical phrase, i.e. a phrase using only the notes of the scale it is written in, where the inversion may be forced to stay in the same scale without having to fudge things. Such inversions are performed by a subtraction from a fixed note (or, as in the case of the two octatonic scales presented, from any of a choice of four) within that scale – and <em>no others</em>.</p> <p>Furthermore, we’ve seen how if you choose the ‘wrong’ (mathematically, not musically – there’s nothing ‘wrong’ in music!) note of the scale to subtract each note of the phrase from, <a title="Major Minor Teatime Diner" href="/2015/04/major-minor-teatime-diner.html" target="_blank">you will fail to get a true inversion</a> (because some notes in the inverted phrase will stray out of the original scale). But, notwithstanding such failures, you will end up <a title="Phrygian = subtonic - Dorian" href="/2015/04/phrygian-subtonic-dorian.html" target="_blank">in a different scale – one of a family</a> of related scales analogous to the modes of the standard western scale.</p> <p>For example, we know it’s possible to <a title="The Invertible Hungarian Minor" href="/2015/04/the-invertible-hungarian-minor.html" target="_blank">properly, flawlessly, invert a phrase</a> in the Hungarian Minor. Just subtract each note of the phrase from the quasi-supertonic of that scale, which happens to be the <em>business-as-usual</em> major 2nd. Or if you’re still unwilling to dispense with the idea of pitch-axis then reflect your phrase along a horizontal line set on the minor 2nd of the scale (<a title="Pitch Axis Considered Harmful" href="/2015/04/pitch-axis-considered-harmful.html" target="_blank">a pitch which isn’t even in the scale for heaven’s sake</a> – that’s how silly ‘pitch axis’ is) – and trudge along, following the melody line and moving your new line in the opposite direction.</p> <p>We also know that if, instead, we rebelliously subtract a Hungarian Minor melody from its augmented subdominant (a Devil’s Interval) our new phrase leaps out of the Hungarian Minor scale and ends up in its sibling scale, the Double Harmonic (aka Gypsy, aka, Byzantine, etc).</p> <p>So, what about the <em>Hungarian Major</em> scale? Yet another of one of the many heptatonic scales, its ‘pitch class signature’ is 0, 3, 4, 6, 7, 9, 10. If we insist on using scale degree terminology, its sequence starts (as always) with the tonic, its supertonic is an augmented 2nd, its mediant a major 3rd, its subdominant an augmented 4th, its dominant and submediant are perfectly cromulent 5th and 6th, and its subtonic a minor 7th. Here it is in the key of C, and also represented more abstractly with its (key-independent) polygonal representation. (It’s pink, not blue, for a reason).</p> <p> <center> <table> <tbody> <tr> <td><a href="http://image.storistry.com/Blue_103A6/image.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://image.storistry.com/Blue_103A6/image_thumb.png" width="651" height="92"></a></td></tr> <tr> <td><img src="http://image.storistry.com/scales/7/733633633633-0-2486-3121212.jpg"></td></tr></tbody></table></center> <p>As usual, to see which inversions work, we will take each of the scale pitch classes in turn and subtract the entire scale sequence from that selected pitch. Thus:</p> <p> <center> <table> <thead> <tr> <th> </th> <th colspan="3">0, 3, 4, 6, 7, 9, 10</th></tr> <tr> <th>from</th> <th width="150">subtracted</th> <th width="150">modulo 12</th> <th width="150">reordered</th></tr></thead> <tbody> <tr> <td align="right"> <p align="left"><strong>0</strong></p></td> <td>0,-3,-4,-6,-7,-9,-10</td> <td>0,9,8,6,5,3,2</td> <td>0,2,3,5,6,8,9</td></tr> <tr> <td align="right"> <p align="left"><strong>3</strong></p></td> <td>3,0,-1,-3,-4,-6,-7</td> <td>3,0,11,9,8,6,5</td> <td>0,3,5,6,8,9,11</td></tr> <tr> <td align="right"> <p align="left"><strong>4</strong></p></td> <td>4,1,0,-2,-3,-5,-6</td> <td>4,1,0,10,9,7,6</td> <td>0,1,4,6,7,9,10</td></tr> <tr> <td align="right"> <p align="left"><strong>6</strong></p></td> <td>6,3,2,0,-1,-3,-4</td> <td>6,3,2,0,11,9,8</td> <td>0,2,3,6,8,9,11</td></tr> <tr> <td align="right"> <p align="left"><strong>7</strong></p></td> <td>7,4,3,1,0,-2,-3</td> <td>7,4,3,1,0,10,9</td> <td>0,1,3,4,7,9,10</td></tr> <tr> <td align="right"> <p align="left"><strong>9</strong></p></td> <td>9,6,5,3,2,0,-1</td> <td>9,6,5,3,2,0,11</td> <td>0,2,3,5,6,9,11</td></tr> <tr> <td align="right"> <p align="left"><strong>10</strong></p></td> <td>10,7,6,4,3,1,0</td> <td>10,7,6,4,3,1,0</td> <td>0,1,3,4,6,7,10</td></tr></tbody></table></center> <p>The ‘reordered’ column is there only for information, to show the ‘scale’ of the transformed notes. It’s the ‘modulo 12’ column which embodies the actual ‘note to note transformation’.</p> <p>By looking down the column headed 'reordered' it's easy to see that none of the scales are Hungarian Major. The one in the second row, beginning "0,3" is indeed the only one which even begins with a match on the first two pitches, </p> <p>This means that, however hard you try, no musical phrase in the Hungarian Major scale can be inverted along any axis so that every note in the resultant phrase remains in the Hungarian Major scale.</p> <p>Musically speaking of course, this is no tragedy. A musician need not commit suicide on learning of such an impossibility, If a <em>musical</em> – as opposed to a scale-preserving <em>mathematical</em> - inversion is required, the musician will either allow the notes to go out of scale as they will, or else they will relax the requirement that every transition between successive notes in the ‘inversion’ exactly match (but in reverse direction) the interval transitions taken by the original phrase, A minor third up for a major third down here, a minor sixth leap for a major sixth drop there, and the like.</p> <p>Nonetheless, let’s just have a quick look at the plesio-inversion represented by the first working row of the above table – the row having us subtracting the scale from 0. I.e. the one which moves 0 to 0, 3 to 9, 4 to 8, 6 to 6, 7 to 5, 9 to 3 and 10 to 2 (the modulo 12 column).</p> <p>If in the key of C, then C and F# keep their pitches, D# (aka an enharmonic E♭) swaps with A, E is replaced by G#, G by F and B♭ by D. Altogether, only four of the original pitch classes remain and three are swapped out of the scale entirely.</p> <p> <center> <table> <tbody> <tr> <td><a href="http://image.storistry.com/Blue_103A6/image_3.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://image.storistry.com/Blue_103A6/image_thumb_3.png" width="638" height="88"></a></td></tr> <tr> <td><img src="http://image.storistry.com/scales/7/733633633633-0-2924-2121213.jpg"></td></tr></tbody></table></center> <p>None of the other attempted inversions fare any better. But the sharp-eyed amongst you will have noticed that this second heptagon is just a lateral inversion (in the optical sense, reflected in the vertical axis) of the first one. And it should come as no surprise, therefore, that the scales turning up in the second through seventh rows are simply the other six (we always require a vertex at 0) rotations of this second polygon. So here are those seven polygons, row by row:</p> <p> <center> <table cellspacing="0" cellpadding="0"> <thead> <tr> <th>2121213</th> <th>3212121</th> <th>1321212</th> <th>2132121</th> <th>1213212</th> <th>2121321</th> <th>1212132</th></tr> <tr> <th>0,2,3,5,6,8,9</th> <th>0,3,5,6,8,9,11</th> <th>0,1,4,6,7,9,10</th> <th>0,2,3,6,8,9,11</th> <th>0,1,3,4,7,9,10</th> <th>0,2,3,5,6,9,11</th> <th>0,1,3,4,6,7,10</th></tr></thead> <tbody> <tr> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2924-2121213.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2413-3212121.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-3254-1321212.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2861-2132121.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-3478-1213212.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2917-2121321.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-3506-1212132.jpg" width="100"></td></tr></tbody></table></center> <p>It would be tempting to say that these seven scales were all ‘musical modes’ of essentially the same scale and that they just started on a different (tonic) note. But as this author is unaware that any of these seven scales is used anywhere in the world. that might be stretching a point. Rotations of the same polygons they definitely are, Maybe you can find one that sounds pleasing enough to noodle around in? If so, then you might plesio-invert out of it and find yourself in the Hungarian Major (as it were).</p> <p>It will not have escaped your attention that – corresponding to the Hungarian Major – there will be another six scales, rotations of the Hungarian Major’s polygon, and that each one of <em>these</em> is a one for one (vertical axis) reflection of the ones above. Here they all are (the Hungarian Major is the first of them):</p> <p> <center> <table cellspacing="0" cellpadding="0"> <thead> <tr> <th>3121212</th> <th>1212123</th> <th>2121231</th> <th>1212312</th> <th>2123121</th> <th>1231212</th> <th>2312121</th></tr> <tr> <th>0,3,4,6,7,9,10</th> <th>0.1.3.4.6.7.9</th> <th>2,3,5,6,8,11</th> <th>0,1,3,4,6,9,10</th> <th>0,2,3,5,8,9,11</th> <th>0,1,3,6,7,9,10</th> <th>0,2,5,6,8,9,11</th></tr></thead> <tbody> <tr> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2486-3121212.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-3508-1212123.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2921-2121231.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-3494-1212312.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2893-2123121.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-3382-1231212.jpg" width="100"></td> <td align="center"><img src="http://image.storistry.com/scales/7/733633633633-0-2669-2312121.jpg" width="100"></td></tr></tbody></table></center> <p>Together, these fourteen scales form a nicely complicated, closed, family in which any musical phrase written entirely within one of them can be plesio-inverted into any of the others, As far as I know, the only actual scale in use out of these fourteen is that Hungarian Major. But of course I would be delighted to hear of any others.</p> <p>The especially eagle-eyed – and non-colour-blind, will note that these polygons are pink. We’ve been using blue ones in all the previous articles. They’re pink because they’re representations of uninvertible scales. All our blue polygons represent invertible scales – and they’re all symmetric. All of our pink polygons are non-symmetric and occur in families with corresponding mirror image families. There are many more pink polygons than blue ones.</p>
LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-27601042738187661522015-04-25T21:58:00.001+01:002015-08-10T16:04:26.844+01:00The Invertible Hungarian Minor<p>We’ve seen <a title="Pitch Axis Considered Harmful" href="/2015/04/pitch-axis-considered-harmful.html" target="_blank">how to invert</a> a piece of music so that it’s guaranteed to stay in the same scale (or mode) as the original melody (again assumed to consist exclusively of scale notes). The subject here is melodic, or phrase, or even <em>horizontal</em> inversion. It concerns neither chord nor <em>vertical</em> inversion.</p> <p>We know how to do this for any of the traditional western classical 7 note diatonic scales in all their modes (Ionian, Aeolian, etc.). We can do it in major and minor pentatonic scales (and their further three but seldom mentioned sibling modes). We can even invert <em>four</em> different ways when the original melody is either of the two common octatonic (aka diminished) scales used in jazz.</p> <p>But what about other scales, those off the beaten track (to use a phrase very much <em>on</em> the beaten track)?</p> <p>Let’s pretend to pick one at random. Say, the Hungarian Minor. As you may (or may not) know, this is another flavour of 7 note scale which – when rooted on the A above middle C (just so we can stick to as many ‘white notes on the piano’ as possible) – looks like this:</p> <p><a href="http://image.storistry.com/Uninvertable-Scales_E07A/image.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Uninvertable-Scales_E07A/image_thumb.png" width="279" height="104"></a></p> <p>The top A is of course present just to keep you from becoming too tense with an unresolved sequence. It really is a 7 note scale.</p> <p>There are a couple of sesquitonic (one and a half tone) leaps larger than whole tones in this scale. In terms of (key independent) pitch numbers, it can be represented as 0, 2, 3, 6, 7, 8, 11. It’s pretty easy to see that it’s quite similar in shape to the standard Western Minor except that its IV and vii have been sharpened. Compare their heptagonal clock diagrams:</p> <p> <center> <table> <thead> <tr> <th>2131131</th> <th>2122122</th></tr></thead> <tbody> <tr> <td><img src="http://image.storistry.com/scales/7/742454445424-1-2873-2131131-s-m.jpg"></td> <td><img src="http://image.storistry.com/scales/7/725436263452-1-2906-2122122-s-m.jpg"></td></tr></tbody></table></center></td> <p>The one on the left is the Hungarian one, the one on the right is the standard (“all the white notes” if you start on A) minor (or the Aeolian Mode). It may not be easy to spot, but both are symmetric heptagons, The Hungarian’s prow points at seven o’clock (an E for an A at twelve o’clock) and the Aeolian’s points at five o’clock (a D for its A). The headings are the intervals (number of semitones) between the scale notes clockwise from the top.</p> <p>Now we already know that the Aeolian mode is invertible (in our strict scale-preserving sense) and that to invert an Aeolian tune, you subtract each note from the Aeolian’s subtonic (i.e. the modulo 12 number 10 corresponding to vii, the minor seventh degree, in that scale). So if you’re in A minor then the quickest way to an inversion of a phrase is to subtract its notes from G. Which boils down to leaving all the Ds alone, swapping all C with E, all B with F and all G with A and adjust the contour of the melodic line, as you commit it to the staff, by appropriate octave shifts where necessary. This is far quicker than trying to follow the original phrase and move correspondingly down and up the exact same interval for its every up and down, as if you were reflecting with a silly old mirror placed on an imaginary pitch-axis located on the G# line (a note which isn't even <em>in</em> the scale we're working in).</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/725436263452-1-2906-2122122.jpg"></p> <p align="center"><strong><em>Aeolian Inversion, showing the pitch swaps (including the ‘do-nothing’ swap<br>at five o’clock) resulting from subtraction from ten o’clock</em></strong></p> <p>And like the Aeolian, the Hungarian Minor’s heptagon is symmetric. So we might hope that we can invert a tune in this scale too. However, it should be immediately apparent that there’s no 10 in the scale to subtract from – it got sharpened. As before, we can try subtracting each note in the Hungarian Minor (the 0, 2, 3, 6, 7, 8, 11) from each of its scale notes (modulo 12) in turn. If one (or more) of those subtractions results in the same numbers then we’re done.</p> <p>Let’s try one. Subtract each of the seven in turn from 3 and we get 3, 1, 0, –3, –4, –5, –8, which in modulo 12 is 3, 1, 0, 9, 8, 7, 4, which rearranged into ascending order is 0, <font color="#ff0000"><strong>1</strong></font>, 3. <strong><font color="#ff0000">4</font></strong>, 7, 8, <strong><font color="#ff0000">9</font></strong>. Clearly this is not at all the same scale (the out of scale notes are in <strong><font color="#ff0000">bold red</font></strong>). But fear not – there is one answer (and only one – can you see why it’s only one?) – and it is by subtraction from 2. Here we go:</p> <p> <ul> <li>2 – 0 = 2 → 2 <li>2 – 2 = 0 → 0 <li>2 – 3 = -1 → 11 <li>2 – 6 = -4 → 8 <li>2 – 7 = -5 → 7 <li>2 – 8 = -6 → 6 <li>2 – 11 = -9 → 3</li></ul> <p>Here’s the heptagon again with the inversion mappings:</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/742454445424-1-2873-2131131.jpg"></p> <p align="center"><strong><em>Hungarian Minor Inversion, showing the pitch swaps (including the ‘do-nothing’ swap<br>at seven o’clock) resulting from subtraction from two o’clock</em></strong></p> <p>To demonstrate, let’s be slightly more adventurous and pen a quick phrase in D Hungarian Minor. The root note is of course D, the supertonic is E (which is the note we’ll eventually be subtracting <em>from</em>), the mediant F, the (augmented) subdominant G#, the dominant A, the submediant B♭ and the (augmented) subtonic C#. As you know, the D minor scale is usually written with the single (i.e. B) flat associated with the major key of F, so we’ll go along with that, and use the accidentals at C and G to bring out the phrase’s Hungarianism.</p> <p><a href="http://image.storistry.com/Uninvertable-Scales_E07A/image_7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Uninvertable-Scales_E07A/image_thumb_7.png" width="629" height="73"></a></p> <p>To invert the phrase, certain that we’re going to stay in the exact same scale, with the exact same tonic note of D, we subtract each of its notes from E (the scale’s 2 pitch). This amounts to keeping any A where it is, swapping all B♭ with G#, all F with C#, and all D with E. After adjusting octaves appropriately (we can use this whilst moving from note to note left to right without needing to worry if the interval movements are exact mirrors – they <em>will</em> be. it’s guaranteed):</p> <p><a href="http://image.storistry.com/Uninvertable-Scales_E07A/image_8.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Uninvertable-Scales_E07A/image_thumb_8.png" width="639" height="75"></a></p> <p>So there you go. Easy, isn’t it?</p> <p>Recall that in the <a title="Phrygian from Dorian" href="/2015/04/phrygian-subtonic-dorian.html" target="_blank">last post</a> we deliberately did a ‘wrong’ inversion (by subtracting Dorian scale notes from its subtonic instead of the tonic. thus landing in the Phrygian) and showed that for each of the seven traditional western 7 note modes, subtraction from – in turn – each of each scale’s scale notes (yes, that’s hard to parse) will always result in seven numbers characterising another one of the modes. In other words the <em>collection</em> is self preserving even if the true inversion is only one of them. Is this also true of the Hungarian Minor?</p> <p>Of course it is. It <em>must</em> be. All subtractions, modulo 12, from each of the seven notes in the scale will result in the same heptagon. It’s just that it will be rotated. This is because the heptagon is symmetric. We have in fact already seen one of them by subtraction from the 3, which gave us the scale (0, 1, 3, 4, 7, 8, 9) shown here.</p> <p align="center"><img src="http://image.storistry.com/scales/7/742454445424-1-3484-1213113.jpg"></p> <p>It’s just the Hungarian Minor scale with the ‘cooker knob’ turned one click forward (clockwise) – where the rules of our cooker knob turning require that there’s always a vertex (of whatever polygon we have) at twelve o’clock (because obviously we need the root note of the scale to be in the scale). This is a legitimate seven note scale (for who is to say it is not?) which – rooted-on-C-wise – would comprise the notes C, D♭, E♭, E, G, A♭, A. As the little white blob at the four o’clock position indicates, <em>this</em> scale is invertible (in our strict sense) by subtractions from its (quasi)-subdominant.</p> <p>Note the use of the <em>quasi</em>- there by the way. That four o’clock position is usually occupied by the mediant, but we’ve already ‘used up’ the mediant’s (albeit minor) slot at three o’clock (because the supertonic looks like it turned up early at one o’clock). These scale degree terms aren’t going to scale well (no pun intended) in more general cases. The Pentatonic Major may appear to be simply deficient in the subdominant and subtonic departments, but what are we to do with only seven scale degree terms in an <em>octatonic</em> (or nonatonic) scale? But that’s by the way.</p> <p>As it happens, subtracting Hungarian Minor notes from its (augmented) subdominant (i.e subtracting each of 0, 2, 3, 6, 7, 8, 11 from 6) yields the following rotation - not one, but three big clicks - clockwise:</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/742454445424-1-3289-1312131.jpg"></p> <p>This scale (0, 1, 4, 5, 7, 8, 11) which, rooted on C, would comprise C, D♭, E, F, G, A♭, B is invertible by subtraction from its tonic. All strictly invertible scales which subtract from their tonics (such as the Dorian mode) have the rather visibly obvious axis of symmetry vertically down the middle of the (perforce) symmetric polygon they live on. They are self-negative (which is subtractions of their integer members from 0) scales. You might think of this scale and the one above as, respectively, the quasi-Dorian and the quasi-Mixolydian (in addition to the quasi-Aeolian orientation of the Hungarian Minor) modes of an <a title="Wikipedia list of modes for these scale patterns" href="http://en.wikipedia.org/wiki/Double_harmonic_scale#Modes" target="_blank">alternative system of seven modes</a>.</p> <p>As it happens, this scale has a name, the <em><strong><a title="Wikipedia on the DoOuble Harmonic scale" href="http://en.wikipedia.org/wiki/Double_harmonic_scale" target="_blank">Double Harmonic</a></strong></em>. In fact it has other names. It’s also called <em><strong>Gypsy</strong></em>, the <strong><em>Byzantine</em></strong>, the <strong><em>Chahargah</em></strong>, and the <strong><em>Arabian</em></strong>. That’s quite a few genres you can now accurately invert in! And use it to try out those double backflip modulations by first inverting (say) out of the Hungarian Minor into (say) the Double Harmonic and once more by further inversion from Double Harmonic back into the Hungarian Minor.</p>
<iframe width="100%" height="394" src="https://musescore.com/user/148007/scores/834641/embed" frameborder="0"></iframe><span><a href="https://musescore.com/user/148007/scores/834641">Minor Hungarian Minor Waltz</a> by <a href="https://musescore.com/user/148007">LemoUtan</a></span> LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-15933582545368294792015-04-21T02:05:00.001+01:002015-08-10T16:04:50.125+01:00Phrygian = subtonic – Dorian<p>What do we mean by <em><strong>Phrygian = subtonic - Dorian</strong></em>, which you might be tempted to rewrite as <em><strong>Phrygian + Dorian = subtonic?</strong></em> Both look nonsensical. The units are all wrong for a start. It may mean something to ‘add’ a mode to a mode because they’re at least from the same ‘object’ space. But the term ‘subtonic’ is in another realm, that of relationships between the notes of a scale, and independent of scale to boot (e.g. the mediant of the A minor scale is C, a minor third above the tonic, whereas the same term is commonly used for the <em>major</em> third above the tonic, as E is to C in the C major scale). It’s like adding a green apple to a red one and a kangaroo shows up.</p> <p>Furthermore, just because things are the same type of object, ‘adding’ them doesn’t <em>necessarily</em> make sense. You can add 10 minutes (a duration object) to 14:34 hrs (a time of day object) to produce a new time (14:44 hrs), or you can <em>subtract</em> a time from a time (e.g. 13:10 hrs from 13:58 hrs) to produce a duration (48 minutes) but what would we mean by adding 17:14 hrs to 11:08 hrs? Note that we’re not attempting to add a duration (of 11 hours and 8 minutes) to a time of day – that <em>could</em> make sense (it would take you to 04:02 hrs of the ‘next day’, if we’re pretending we are on Earth and not, say, Mars with its shorter day), we really meant trying to add ‘just after 11AM’ to ‘teatime’. It’s nonsensical. (You might temporarily add them, and divide by two, to get a time of day midway between them, but that’s part of a bigger operation).</p> <p>Bear in mind that things that look like numbers might not <em>be</em> numbers. It makes no sense to expect any meaning to result from the addition (or subtraction, multiplication or division) of two credit card ‘numbers’. Not even on the way to (say) an average credit card number.</p> <p>But enough of this. That was all to get you used to the idea that ‘addition’ or ‘subtraction’ may – or may not – legitimately be applied sometimes to like-things and sometimes to unlike-things, i.e. not just numbers.</p> <p>So, let’s see what we might mean by our article’s title. We know, from our earlier post <a title="Pitch Axis Considered Harmful" href="/2015/04/pitch-axis-considered-harmful.html" target="_blank">on reliable inversions</a>, that to phrase-invert a piece of music in the Dorian mode so that it <em>stays</em> Dorian – and thus doesn’t need any further adjustments (such as sharpening a non-Dorian note here, flattening another there), we must subtract every note from the tonic.</p> <p>For example, here’s a rather familiar bleeding chunk of Dorianistry (we’ll base it in C-Dorian, which looks like the key of B♭ on paper – a two-flats key signature – but its tonic note is C, not B♭):</p> <p><a href="http://image.storistry.com/b5c6a2067d5b_11AEA/image4.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/b5c6a2067d5b_11AEA/image4_thumb.png" width="565" height="157"></a></p> <p align="center"><audio controls><source src="http://sonic.storistry.com/drunk1.mp3" /><font color="#ff0000"><strong>unsupported audio element</strong></font></audio> </p> <p>The octave tone pattern of the 7 note Dorian mode scale, recall, is 0, 2, 3, 5, 7, 9, 10 where – in this case – those note values are attached to the ‘real’ notes (in the above) C, D, E♭, F, G, A, B♭ respectively. Subtraction from the tonic means that an inversion will require that every note value in the piece be subtracted from 0 (always the scale representation of the tonic note of any scale whatever). 0-0 is 0 – which means the tonic note will stay put. In the above, that means that every occurrence of the note C goes on being a C. It may shift octave, as the movement of the line dictates, but it’s the only note of the scale which remains as it started.</p> <p>Now the 2 note is subtracted from 0 to become a –2 note, which, when 12 is added to keep it positive (remember we’re in the modulo 12 number land of what is sometimes called clock arithmetic) becomes a 10. The 3 is subtracted from 0 to become –3, which is 9. The 5 is subtracted from 0 (or 12) to produce –5 (or 7) etc.</p> <p>So 0, 2, 3, 5, 7, 9, 10 is inverted to the set 0, 10, 9, 7, 5, 3, 2. Thus wherever you have a D in the original you’ll have a B♭ in the inversion – and vice versa. All E♭ and A swap places, as do all F and G. C, as we know, stays put. Recall our dorian knob from our <a title="Major Minor Teatime Diner" href="/2015/04/major-minor-teatime-diner.html" target="_blank">heptagonal representations of the ancient greek (aka church) modes</a>.</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/725436263452-1-2902-2122212.jpg"></p> <p>The horizontal white lines on the blue heptagon show, for each one of the seven notes in the scale, what its inverted note number is (mentally add outward-pointing arrowheads on the lines, if it helps you see this as a transformation showing how 7 maps to 5 and 5 maps to 7, for example). Each pair connected to the white lines sums to 12 (even the 0 to 0 at the top, because 0 is 12, right?).</p> <p>The fully inverted piece is shown below. You should maybe check everything about it (the ups and downs corresponding to the inversion’s downs and ups, the note mappings as described above, etc). When played, it will probably remind you of “<em>What shall we do with the drunken sailor</em>”, but – being an inversion of a piece originally ending on the tonic chord of C-Dorian (which sounds rather like Cm – C E♭ G), it’ll now end on C A F. Which is F-major, a slightly weird major-sounding subdominant of a minor-sounding tonic key. But that’s the Dorian mode for you:</p> <p><a href="http://image.storistry.com/b5c6a2067d5b_11AEA/image8.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/b5c6a2067d5b_11AEA/image8_thumb.png" width="567" height="155"></a></p> <p align="center"><audio controls><source src="http://sonic.storistry.com/drunk2.mp3" /><font color="#ff0000"><strong>unsupported audio element</strong></font></audio> </p> <p>Note the complete absence of accidentals. And we didn’t need to tweak anything to get this pure, flawless inversion. It happened automatically because we subtracted from the tonic, we didn’t reflect in any silly old <em>pitch axis</em>.</p> <p><em><strong>Now let’s do it wrong</strong></em></p> <p>As the title of this article suggests, let’s subtract the original Dorian piece instead from its <em>subtonic</em>. The subtonic note of a scale is the one before (below) the tonic, often used in minor keys as an alternative lead in, instead of the dominant, to the final tonic. It’s the minor seventh (Roman vii) in such keys (and in the minor-sounding church/greek modes). It’s note numbered 10 in our Dorian clock (but it would be VII, sometimes notated as ♮VII, or note number 11 in other, more major sounding modes).</p> <p>Subtracting each of our Dorian notes 0, 2, 3, 5, 7, 9, 10 from 10 is a lot easier (no pesky 12s to add to keep things positive!) and we get 10, 8, 7, 5, 3, 1, 0.</p> <p>As expected, the inversion is (technical term) <em>buggered up</em>. The 0, 3, 5, 7 and 10 are OK – they’re Dorian notes – but we’ve got 8 and 1 where we had 9 and 2. Our (Roman) II (or supertonic) has been flattened, as has our (Roman) VI (or submediant).</p> <p>Let’s look at the top line of our original four bars of Dorian. We can usefully get away with considering only this one line because it just happens to contain every one of the Dorian scale notes. Which means that every scale note gets to be ‘exercised’ by the inversion. Compare it with its (faulty) inversion (top – original ‘<em>Drunken Sailor</em>’ melody line, bottom – not-quite-completely inverted ‘Drunken Sailor’):</p> <p><a href="http://image.storistry.com/b5c6a2067d5b_11AEA/image16.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/b5c6a2067d5b_11AEA/image16_thumb.png" width="572" height="123"></a></p> <p align="center"><audio controls><source src="http://sonic.storistry.com/drunk3.mp3" /><font color="#ff0000"><strong>unsupported audio element</strong></font></audio> </p> <p>The three points where it has ‘gone wrong’ are pretty obvious – they’re where the accidentals turn up in bar 2, bar 3 and bar 4.</p> <p>The D♭ in bar 3 came from (in the ‘traditional’ way of performing pitch inversions) the original step <em>up</em> of a whole tone (from G to A) which required us to move correspondingly a whole tone <em>down</em> from E♭. Thus we’ve been taken out of the scale. </p> <p>Similarly in bar 2 of the original we moved <em>up</em> a major third (two whole tones) from B♭ to D, where – in the inversion – we’ve reached a C (corresponding to the B♭) so requiring a major third step <em>down</em> from that C to the (out-of-scale) A♭.</p> <p>You may work out for yourself why a traditional reflection gifts us with the accidental A♭ in bar 4.</p> <p>In ‘pitch axis’ terms it looks as if the inversion is being done along (i.e. reflected in) the F between the two bottom E and G lines of the treble staff. Indeed F inverts to F (because, of course, 10-5=5).</p> <p>At this point we may care to examine what actually happened when we subtracted every one of the ‘Dorian note values’ from the ‘Dorian subtonic value’ of 10. We ended up with notes which, when reassembled into ascending order, looked like this:</p> <p>0, 1, 3, 5, 7, 8, 10</p> <p>Which is itself a seven note scale. Is it one we know? Well, yes it is. We’ve seen it before as one of the seven possible orientations of our single heptagon, specifically the one which ‘points’ at the 10 o’clock position – the Phrygian mode:</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/725436263452-1-3418-1222122.jpg"></p> <p>And that is what we mean by <em><strong>Phrygian = subtonic – Dorian.</strong></em></p> <p>We’ve already had another such statement right under our nose all this time. It is <em><strong>Dorian = tonic – Dorian. </strong></em>In fact this last is but one of the seven from our original list in our <a title="Pitch Axis Considered Harmful" href="/2015/04/pitch-axis-considered-harmful.html" target="_blank">attack on the concept of pitch axis</a>, viz</p> <ul> <li><strong><em>Ionian = mediant – Ionian</em></strong> <li><strong><em>Dorian = tonic – Dorian</em></strong> <li><strong><em>Phrygian = submediant – Phrygian</em></strong> <li><strong><em>Lydian = subdominant – Lydian</em></strong> <li><strong><em>Mixolydian = supertonic – Mixolydian</em></strong> <li><strong><em>Aeolian = subtonic – Aeolian</em></strong> <li><strong><em>Locrian = dominant – Locrian</em></strong></li></ul> <p>Of course this kind of ‘arithmetic’ must be carefully interpreted. The above statements should be more accurately expressed as</p> <ul> <li><strong><em>Ionian.pitch = Ionian.mediant.pitch – Ionian.pitch</em></strong> </li></ul> <p>Etc. And our ‘contentious arithmetic’ example is intended to be read as</p> <ul> <li><strong><em>Phrygian.pitch = Dorian.subtonic.pitch – Dorian.pitch</em></strong> </li></ul> <p>On the right hand side of the equals sign we have ‘subtonic’. But, scalewise (or modewise), subtonic is a relative term. Although note-like, or pitch-class-like, it does depend upon which key you’re in, or more generally within which mode. Sometimes its note value is 10, sometimes 11. Sometimes the mediant note is 4 (e.g. in Ionian) and sometimes it’s 3 (as in the Dorian). But once you’ve chosen your mode, the scale degree is effectively a constant.</p> <p>You might want to make the case that a scale degree is not a pitch, but an interval – specifically understood to be implicitly from the tonic. But things get a tad recursive if you regard the tonic <em>degree</em> as an interval from the tonic, umm, degree. This may be why musicological terminology is not systematic enough to be scientific.</p> <p>Whenever one of these context dependent ‘<a title="External link to Wikipedia article" href="http://en.wikipedia.org/wiki/Degree_%28music%29" target="_blank">scale degrees</a>’ (such as mediant, tonic etc) occurs, the context is supplied by the mode you’re in. So when we say Ionian = mediant – Ionian, we mean the Ionian mode’s mediant note, which is <em>always</em> 4 semitones up from its (always) 0 tonic note. No matter what actual key you’re in.</p> <p>Right at the beginning we gave an example where subtracting a pair of ‘time-of-day’ objects yielded a ‘duration’ object. What we are doing here is something similar in that we are subtracting a note from another note within the context of a specific musical mode, i.e. Dorian.subtonic.note – Dorian.note.</p> <p>Now every musician knows that note subtraction (i.e. the difference between a pair of notes) does not give you a note but an ‘<em>interval</em>’. So this arithmetic should seem a bit suspicious, or at least peculiar.</p> <p>It’s only because we’re working with numbers, specifically those integers found in modulo 12 arithmetic which are applicable to <em>both</em> pitch classes <em>and</em> interval classes, that we’re able to get away with such ‘arithmetic’. It’s as if we’re coercing an object type of note out of an object type of interval. We can get away with this because musical intervals themselves are commonly regarded as interval <em>classes</em> (like pitch classes) insofar as intervals spanning distances <em>larger than</em> an octave are in some way equivalent to intervals <em>within</em> an octave (e.g. a major 9th is ‘the same’ as a major 2nd, a 13th is the same as a 6th, etc – just keep subtracting those 12s – they’re always executed as the same note; they’re just in different octaves).</p> <p>But - regardless of whether or not you’re happy with the equivalence of intervals, or the legitimacy of type-overloading from interval to note, it remains an undeniable fact that the bunch of seven numbers you get out of those subtractions of each of your original mode’s pitches from your original mode’s single distinguished degree note is another bunch of seven numbers which, modulo 12, is indistinguishable from a bunch of seven numbers characterising a mode - which may be the original mode, but more often is a sister mode.</p> <p>The point of the inversion list above is to invert into the exact same mode where the degree you’re subtracting from remains in exactly the same place. But when you use one of these scale degrees in non-inverting transformations the mode you end up in is different, as is perforce its degree.</p> <p>All traditional modes can in fact be transformed into each of the seven modes (including themselves) by their notes’ subtraction from each of their seven degrees. We’ll use our (already established) three letter abbreviations for the modes, and the following two letter labels for the degrees</p> <ul> <li>tn tonic <li>ut supertonic <li>md mediant <li>bd subdominant <li>dm dominant <li>bm submediant <li>bt subtonic </li></ul> <p>The following table can be used to transform pieces from mode to mode. To use it, select your starting mode from the seven in the top row, then look at the left hand column to pick out your desired target mode. Where the row and column intersect you will find the abbreviation for the degree (always relative to your original mode, here your column heading) from which you must subtract each note value of your original piece to produce the corresponding note value in your target mode.</p> <p> <center> <table> <thead> <tr> <th><sub>to</sub>\<sup>from</sup></th> <th>ion</th> <th>dor</th> <th>phr</th> <th>lyd</th> <th>mix</th> <th>aeo</th> <th>loc</th></tr></thead> <tbody> <tr> <td align="right"><strong>ion</strong></td> <td><strong><font color="#ff0000">md</font></strong></td> <td>ut</td> <td>tn</td> <td>bt</td> <td>bm</td> <td>dm</td> <td>bd</td></tr> <tr> <td align="right"><strong>dor</strong></td> <td>ut</td> <td><strong><font color="#ff0000">tn</font></strong></td> <td>bt</td> <td>bm</td> <td>dm</td> <td>bd</td> <td>md</td></tr> <tr> <td align="right"><strong>phr</strong></td> <td>tn</td> <td>bt</td> <td><font color="#ff0000"><strong>bm</strong></font></td> <td>dm</td> <td>bd</td> <td>md</td> <td>ut</td></tr> <tr> <td align="right"><strong>lyd</strong></td> <td>bt</td> <td>bm</td> <td>dm</td> <td><font color="#ff0000"><strong>bd</strong></font></td> <td>md</td> <td>ut</td> <td>tn</td></tr> <tr> <td align="right"><strong>mix</strong></td> <td>bm</td> <td>dm</td> <td>bd</td> <td>md</td> <td><font color="#ff0000"><strong>ut</strong></font></td> <td>tn</td> <td>bt</td></tr> <tr> <td align="right"><strong>aeo</strong></td> <td>dm</td> <td>bd</td> <td>md</td> <td>ut</td> <td>tn</td> <td><font color="#ff0000"><strong>bt</strong></font></td> <td>bm</td></tr> <tr> <td align="right"><strong>loc</strong></td> <td>bd</td> <td>md</td> <td>ut</td> <td>tn</td> <td>bt</td> <td>bm</td> <td><font color="#ff0000"><strong>dm</strong></font></td></tr></tbody></table></center> <p>more usefully, perhaps, we can use the note numbers of the two letter degree names corresponding to their column heading mode:</p> <p> <center> <table> <thead> <tr> <th><sub>to</sub>\<sup>from</sup></th> <th>ion</th> <th>dor</th> <th>phr</th> <th>lyd</th> <th>mix</th> <th>aeo</th> <th>loc</th></tr></thead> <tbody> <tr> <td align="right"><strong>ion</strong></td> <td><font color="#ff0000"><strong>4</strong></font></td> <td>2</td> <td>0</td> <td>11</td> <td>9</td> <td>7</td> <td>5</td></tr> <tr> <td align="right"><strong>dor</strong></td> <td>2</td> <td><font color="#ff0000"><strong>0</strong></font></td> <td>10</td> <td>9</td> <td>7</td> <td>5</td> <td>3</td></tr> <tr> <td align="right"><strong>phr</strong></td> <td>0</td> <td>10</td> <td><font color="#ff0000"><strong>8</strong></font></td> <td>7</td> <td>5</td> <td>3</td> <td>1</td></tr> <tr> <td align="right"><strong>lyd</strong></td> <td>11</td> <td>9</td> <td>7</td> <td><font color="#ff0000"><strong>6</strong></font></td> <td>4</td> <td>2</td> <td>0</td></tr> <tr> <td align="right"><strong>mix</strong></td> <td>9</td> <td>7</td> <td>5</td> <td>4</td> <td><font color="#ff0000"><strong>2</strong></font></td> <td>0</td> <td>10</td></tr> <tr> <td align="right"><strong>aeo</strong></td> <td>7</td> <td>5</td> <td>3</td> <td>2</td> <td>0</td> <td><font color="#ff0000"><strong>10</strong></font></td> <td>8</td></tr> <tr> <td align="right"><strong>loc</strong></td> <td>5</td> <td>3</td> <td>1</td> <td>0</td> <td>10</td> <td>8</td> <td><font color="#ff0000"><strong>6</strong></font></td></tr></tbody></table></center> <p>The <font color="#ff0000"><strong>bold red</strong></font> diagonals of these tables represent, of course, the mode preserving pure inversion transformations. It may look a bit peculiar (considering we have all numbers 0 to 11 available to us) that only even numbers appear down that diagonal – and that, furthermore, 6 turns up twice. The 6 (the tritone note, yer actual <em>Devil’s Interval</em>, in any scale) turns up twice because it’s the dominant of the Locrian and the subdominant of the Lydian. So all seven degrees do turn up for inversions (as the first table shows) despite the second table’s (misleading) suggestion that only six of them are used.</p> <p>It should go without saying that these so-called ‘failures’ of inversion (the ones that are <em>not</em> in bold red, i.e. 42 of them, i.e. 72%, i.e. <em>most</em>) by no means result in bad music. Or that ‘real’ musicians must justify themselves (if they happen to want to stay in scale – nobody’s forcing them to!) when they find they must tweak notes as they invert. Inversion as a musical process has been around much longer than any formalisations introduced by maths.</p> <p>You might want to investigate these transformations as useful (or at least novel) ways of modulating from one mode to another. By useful, I mean ‘no thought required’ – you don’t have to tweak, you just do the appropriate subtractions.</p> <p>For example, to move (the threepenny word for <em>modulate</em>) from (say) Lydian to Phrygian, just subtract all of your Lydian notes (turning up in various octaves, as they do, as 0, 2, 4, 6, 7, 9, 11) from 7 (to get 7, 5, 3, 1, 0, –2, –4 which yield 7, 5, 3, 1, 0, 10, 8) which, reordered, are notes in your desired Lydian scale of 0, 1, 3, 5, 7, 8, 10.</p> <p>Inversions, even if they’re not quite ‘right’ are still close enough to a theme (a sixpenny word for a musical <em>motif</em>) you may have developed as a useful transitioning mechanism to get you into another mode on your way to another key.</p> <p>Try switching from an Ionian D mode (the traditional ‘D major’) into some intermediate non-major mode such as Mixolydian – but in another key, say D♭-with a recognisable ‘pseudo-inverted’ phrase still reminiscent of your motif. From there, do a second ‘pseudo inversion’ (thus recovering your original motif, or something very close to it) by switching from Mixolydian back to Ionian (use the table to show you this is a ‘subtract from 9’ this time), but this time in C. Thus performing a double semitone dropping modulation from D major to C major. Try it and see!</p> LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-23380968566499717092015-04-21T00:23:00.001+01:002015-08-10T16:05:17.250+01:00Major minor teatime diner<p>We’ve seen in a <a title="Pitch Axis Considered Harmful" href="/2015/04/pitch-axis-considered-harmful.html">previous post</a> that a musical phrase inversion in the major scale is guaranteed to remain within the major scale <em>if and only if</em> each note in the phrase is numerically subtracted from the mediant note of the scale. And we’ve seen that to achieve the same guarantee in the minor scale, the subtraction must be done from its subtonic.</p> <p>Thus, for example, to invert the following phrase in the key of F#m:</p> <p><a href="http://image.storistry.com/Phrygianplus-Dorian_B76F/image7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Phrygianplus-Dorian_B76F/image7_thumb.png" width="568" height="49"></a></p> <p>The (blue) numbers underneath the notes are not figured-bass – they’re too big and too colourful for that – but are the numerical values of the notes within the scale they are embedded. Thus F# is note number zero (aka the tonic note) in the F#m key, and you will find the subtonic E of that scale (marked in red) ten semitones up.</p> <p>Since the subtonic of the minor scale acts as the ‘inversion rail’ (we’re deprecating both the phrase and idea of ‘pitch axis’ and are replacing it with something of utility) from which all notes of the phrase are to be subtracted, we can see that – from left to right – the inverted phrase will begin on the subtonic (10 – 0 = 10), will drop three semitones down to the dominant (10 – 3 = 7), will then rise a semitone to the submediant (10 – 2 = 8) … etc and will end on the mediant (10 – 7 = 3):</p> <p><a href="http://image.storistry.com/Phrygianplus-Dorian_B76F/image12.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Phrygianplus-Dorian_B76F/image12_thumb.png" width="565" height="54"></a></p> <p>Subtraction is simpler than reflection because you need no longer traverse the whole phrase from beginning to end, tracking the changes in direction in your first phrase and making, correspondingly, the exact opposite moves in your new phrase. Instead, you take each note on its own (start anywhere you like, jump around) and simply subtract its value from 10. There’s no need to remember where you <em>were</em>, so that you add or subtract some number dependent on <em>that</em> - you simply need to know where you <em>are</em>, and always subtract from 10. If your notes <em>were</em> in a minor key, they’ll <em>stay</em> there. Guaranteed.</p> <p>If you use a clock face to represent all twelve chromatic notes, within which the seven notes of the minor scale are embedded, it’s relatively straightforward to see why subtractions from 10 yield inversions which remain in the same minor key.</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/725436263452-1-2906-2122122.jpg"></p> <p align="center"><em>minor inversions: { 0 ↔ 10, 2 ↔ 8, 3 ↔ 7, 5 ↔ 5 }</em></p> <p>The thick white lines represent the inversions. The tonic note 0 is taken to the subtonic 10, and vice versa (10–0=10 and 10–10=0). The supertonic 2 is taken to the submediant 8 (10-2=8, 10-8=2), the mediant 3 to the dominant 7 (and vice versa) and the subdominant 5 (necessarily, shown with a very short white line) remains unaltered.</p> <p>Now, grasp the big blue heptagonal knob (consider the white lines as being gouged into the polygon) and turn it 3 clicks anticlockwise. After that, you’re here:</p> <p><img style="float: none; margin-left: auto; display: block; margin-right: auto" src="http://image.storistry.com/scales/7/725436263452-1-2773-2212221.jpg"></p> <p align="center"><em>major inversions: { 0 ↔ 4, 2 ↔ 2, 5 ↔ 11, 7 ↔ 9 }</em></p> <p>Congratulations. We have just switched into the major scale.</p> <p>The tonic note of the scale, 0, is always - necessarily - at the top. The knob is engineered so that one of the heptagonal vertices is pointing at zero, so there are only seven distinct positions and not the twelve you might think.</p> <p>The subdominant (5) and dominant (7) happen to be in the same place, but the mediant (3), submediant (8) and subtonic (10) have each moved up a notch, to 4, 9 and 11, respectively. Which is of course exactly what you’d expect when switching from minor to major. What were the minor third, minor sixth and minor seventh become the (major) third, (major) sixth and (major) seventh (except you don’t usually bother to say ‘major’). The three ‘flattenings’ required to take us from any major key to the minor of the same name are evident here.</p> <p>It should also be clear (from whichever gouged white line connects the tonic to its inversion rail) why inverting a phrase written in a major scale requires that you subtract each note of the original phrase from 4.</p> <p>Just to show that the ‘knob’ view works, we can re-present our original phrase (at the beginning of this post) as one in the key of A major. The only difference is our blue annotations numbers under each note, which will now be the note numbers found in a major key.</p> <p><a href="http://image.storistry.com/Phrygianplus-Dorian_B76F/image21.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Phrygianplus-Dorian_B76F/image21_thumb.png" width="570" height="55"></a></p> <p align="center"><em>phrase now interpreted as being in A</em></p> <p>This time we’ve reddened the ‘inversion rail’ required for the major scale, which is the scale’s mediant (which in the key of A major is the C#). As we know, the mediant in a major key is the III (in roman numeral notation), the major third, and is a 4 semitone interval above the tonic.</p> <p><em><strong>These are exactly the same notes as before</strong></em>. Nothing has changed. The phrase is simply being re-viewed as one in a major key (necessarily the one corresponding to its earlier, relative minor, re-shown here for comparison)</p> <p><a href="http://image.storistry.com/Phrygianplus-Dorian_B76F/image7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Phrygianplus-Dorian_B76F/image7_thumb.png" width="568" height="49"></a></p> <p align="center"><em>phrase originally interpreted as being in F#m</em></p> <p>Inverting it, by subtracting every note from the value 4 (and adding 12, wherever necessary to re-notate it as a positive note number) gives us the new phrase:</p> <p><a href="http://image.storistry.com/Phrygianplus-Dorian_B76F/image27.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Phrygianplus-Dorian_B76F/image27_thumb.png" width="565" height="49"></a></p> <p>Compare it with the earlier inversion, where the original was considered as being in a minor key:</p> <p><a href="http://image.storistry.com/Phrygianplus-Dorian_B76F/image12.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Phrygianplus-Dorian_B76F/image12_thumb.png" width="565" height="54"></a></p> <p>Again, <em><strong>exactly the same notes as the inversion before</strong></em>.</p> <p>At this point, we remember our old Greek modes, and that the modern major and minor scales used to be known as, respectively, the Ionian and Aeolian modes. The following diagram shows all seven (where each vertex of the heptagon gets a turn at pointing to the zero) knobby orientations, each of which corresponds to one of the modes.</p> <p> <center> <table cellspacing="0" cellpadding="0"> <thead> <tr> <th>dor</th> <th>ion</th> <th>loc</th> <th>aeo</th> <th>mix</th> <th>lyd</th> <th>phr</th></tr></thead> <tbody> <tr> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2902-2122212.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2773-2212221.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-3434-1221222.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2906-2122122.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2774-2212212.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2741-2221221.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-3418-1222122.jpg" width="100"></td></tr></tbody></table></center> <p>Abbreviations should be obvious, but here they are anyway – ion=<em>Ionian</em>, dor=<em>Dorian</em>, phr=<em>Phrygian</em>, lyd=<em>Lydian</em>, mix=<em>Mixolydian</em>, aeo=<em>Aeolian</em>, loc=<em>Locrian</em>.</p> <p>If you traverse the edges of each of these polygonal orientations clockwise from 0, and write down a 2 for a whole tone skip and a 1 for a semitone skip (almost, but not quite, the lengths of the polygonal edges clockwise from the top), you may represent the seven orientations/modes as dor=2122212, ion=2212221, loc=1221222, aeo=2122122, mix=2212212, lyd=2221221 and phr=1222122.</p> <p>These are the seven possible permutations of a <em>permutation group</em>, typically notated with parentheses as, for example, (2212221) – where the parentheses contain a string of digits allowed to ‘rotate’ inside the parentheses by moving the last digit from the end to the beginning, or vice versa. E.g. take the final 1 of the 2212221 inside the parentheses and move it to the first position and you get (1221222). Which represents a rotation of the knob (clockwise) from an ionian to a locrian orientation.</p> <p>It may be slightly surprising that it’s the Dorian mode which most clearly shows the vertical symmetry of the modern seven note diatonic scale, but it must be that way because it’s only the inversions of dorian phrases (intended to remain dorian) which subtract from the tonic (or 0). The short white line has to be there.</p> <p>It’s an accident of symmetry, first in that the heptagon is symmetric at all (it need not have been) and second in that there’s no law of the universe which says that the 0 direction is ‘up’.</p> <p>So it can surely be no accident that the Ionian (the modern major) and the Aeolian (the modern minor) appear to be set at two o’clock and five o’clock. Representing, as they do, the twin pinnacles of civilised society of maximal satisfaction and self-assuredness just after lunch and the more sober contemplation of the approaching teatime.</p> LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0tag:blogger.com,1999:blog-7003066908957086041.post-88872117330086664182015-04-21T00:13:00.000+01:002015-08-10T16:05:43.583+01:00Pitch Axis Considered Harmful<p>Musical Inversion is not a reflection, it's a subtraction. You may hear about a 'pitch axis' when talking about inversion. This is to justify the (mistaken) idea that – to get a musical (phrase) inversion – you reflect the notes of the phrase along a horizontal line, the so-called <em>pitch axis</em>.</p> <p>To illustrate, let’s start with the following</p> <p><a href="http://image.storistry.com/Negation_F3C7/image_thumb.png"><img title="image_thumb" border="0" alt="image_thumb" src="http://image.storistry.com/Negation_F3C7/image_thumb.png"></a></p> <p>and ‘reflect’ it about a supposed pitch axis, let’s pick the D of the first note. We get</p> <p><a href="http://image.storistry.com/Negation_F3C7/image_thumb3.png"><img title="image_thumb3" border="0" alt="image_thumb3" src="http://image.storistry.com/Negation_F3C7/image_thumb3.png"></a></p> <p>As it happens, all the notes are in the same key as the original (C major or A minor). The ‘essence’ of the phrase is preserved.</p> <p>But suppose instead we had reflected that first phrase along the middle line of the stave, i.e. suppose the pitch axis to be the B. We’d get</p> <p><a href="http://image.storistry.com/Negation_F3C7/image_thumb5.png"><img title="image_thumb5" border="0" alt="image_thumb5" src="http://image.storistry.com/Negation_F3C7/image_thumb5.png"></a></p> <p>There’s a B♭ in the second bar because where the original <em>rose</em> a perfect fifth (i.e. seven semitones) from E to B, our inversion must perforce <em>fall</em> a perfect fifth from F to (the out-of-scale) B♭. We’ve broken something - we’ve lost our C-majority. But let’s not worry about it. Fix (or kludge) it by going to the nearest in-scale note (a B). Or maybe we’ve changed key. Perhaps to F major? A musician isn’t all that bothered.</p> <p>In fact, in this particular case, the ‘pitch axis’ of D is the only one that works, to the extent that it keeps you in the original scale. I.e. Inversion <em>may</em> be a scale preserving operation, but in general (in actuality, 6/7ths of the time, i.e. <em>mostly</em>) it’s not.</p> <p>Clearly, if you want to stay in C major when you invert then your starting note must be one of seven C, D, E, F, G, A or B. <em>Mutatis</em> – of course – <em>mutandis</em> for other keys.</p> <p>Starting on the original D (where the pitch axis is the very line you’re already on), or the F above it (where the pitch axis would be the E gap between them), or the B below it (where the pitch axis is the C between <em>them</em>), or the G below (where our first mid-line pitch axis of B was) the first D etc all seem reasonable.</p> <p>But starting on the C below the D? That would mean the pitch axis is a C#. We know that C# exists - but shouldn’t it bother us just a bit that we must allow a pitch axis to be on a note not even in the scale we’re trying to preserve? Well, OK, let it go. After all, nobody <em>said</em> a pitch axis must be a note in the scale.</p> <p>So let’s proceed on that basis. As it happens, an inversion starting on C would take us down a minor third to A (reflecting the first minor third transition from D up to F), down again a tone to G (reflecting the original’s tone up from F to G), to our two quaver rest, then up a minor third (reflecting the minor third drop from G to E) to – oops, again a B♭.</p> <p>But hang on a minute. Before we go any further, once we’ve allowed that a C# exists then there’s another problem. Starting on the B below the D meant that we were assuming a pitch axis of C. But in actual fact the pitch axis should surely be (since there are three semitones between that B and D) one and a half semitones up from B, i.e. a quarter-tone lying between C and C#. It’s not even in the chromatic scale we grudgingly allowed a pitch axis to inhabit!</p> <p>This is getting silly. The idea of <em>pitch axis</em> has been stretched beyond reason. It’s broken. Throw it away. It just doesn’t work.</p> <p>So what, if anything, <em>does</em> work?</p> <p><em><strong>Subtraction</strong></em> does. Always, and reliably and consistently. But you have to know your modes and your moods. To see this, we consider an abstraction of a major scale – in any key whatsoever – lying embedded within a standard western twelve tone musical octave.</p> <p><em>Any</em> major scale is represented – in modulo 12 arithmetic – by the seven note sequence of integers 0, 2, 4, 5, 7, 9, 11. Corresponding, for example, to the notes C, D, E, F, G, A, B of the C major scale. Or to the notes E, F#, G#, A, B, C#, D of the E major scale, etc.</p> <p>The 0 is the <em><strong>tonic</strong></em> note, the 2 represents the two semitones above it <em><strong>supertonic</strong></em>, the 4 the <em><strong>mediant</strong></em> (to continue to use these old musical terminologies) two whole tones or four semitones above the tonic (aka the major third), the 5 the five-semitonally distant <em><strong>subdominant</strong></em> (or fourth), the 7 the <em><strong>dominant</strong></em> (aka the <em>fifth</em>). the 9 the <em><strong>submediant</strong></em> and the 11 the <em><strong>subtonic</strong></em> last semitone below the octave.</p> <p>So any musical phrase within any chosen major scale may be written (in pitch terms alone, we’re not concerned with duration, or with rests) as a sequence of 0s, 2s, 4s, 5s, 7s, 9s and 11s. Note that if you <em>do</em> wish to consider the octaves important just add (or subtract) the relevant 12 – e.g. 14 is still a ‘2’, –13 is still an ‘11’, etc (it’s all just ‘clock arithmetic’). If you’re bothered that chords aren’t covered here, that’s just a notational problem – write the chord sequence C, Em, Dm7 as [0,4,7] [4,7,11] [2,5,9,12 (or 0)] if you like, or come up with your own scheme – it really doesn’t affect anything discussed here.</p> <p>Inversion as <em>subtraction</em>, not <em>reflection</em>, simply means that you need a note – represented by one of the seven values in your scale – to subtract your sequence <em>from</em>.</p> <p>For the major scale, the subtraction happens to be from 4 (or – when convenient, after adding 12 - 16). I.e subtracting the seven values 0, 2, 4, 5, 7, 9, 11 respectively from 4 exactly reproduces the original scale – but in a different order (viz. 4, 2, 0, 11, 9, 7, 5).</p> <p>4 – 0 = 4; 4 – 2 = 2; 4 – 4 = 0; 16 – 5 = 11; 16 – 7 = 9; 16 – 9 = 7; 16 – 11 = 5</p> <p>That’s the <em>only</em> number (modulo 12) that works with the major scale. Try any other, for example 7, and you get 7–0=7 (ok); 7-2=5 (ok); 7-4=3 (<em>not</em> ok!); 7-5=2 (ok); 7-7=0 (ok); 7-9=-2 (equivalent to 19-9=10) (<em>not</em> ok!); 7-11=-4 (equivalent to 19-11=8) (<em>not</em> ok). I.e. subtracting from 7 pulls in the out-of-scale number 10, 8 and 3 (i.e. B♭, A♭ and E♭ in C major) - we've upset the applecart even as far as turning something written in a major key into its own minor. That's a pretty significant change there!.</p> <p>So our first trial inversion worked – not because we happened to accidentally pick the correct pitch axis of D – but because we happened to subtract each note of the original phrase from the <em><strong>mediant</strong></em> of the <em><strong>major scale</strong></em>.</p> <p>What about the minor scale? This is represented by the seven member set (0, 2, 3, 5, 7, 8, 10). If you want to invert in the <strong>minor scale</strong>, you subtract from its <strong>subtonic</strong>. Again, it’s the <em><strong>only one that works</strong></em>, keeping you in your minor scale. For example, to invert an A minor phrase, you subtract each note in the phrase from its subtonic G.</p> <p>Using our first example phrase considered as one in A minor rather than C major, the sequence D, F, G, E, B, A, C is represented by 5, 8, 10, 7, 2, 0, 3. Subtracting each of those numbers from 10 gives you, respectively, 5, 2, 0, 3, 8, 10, 7 – i.e. all of them within the (abstraction of the) A minor scale.</p> <p>As with 4 for the major scale, 10 is the <em><strong>only</strong></em> one which works. Subtracting from any of the other six possible numbers will introduce a number (modulo 12) which lies outside the minor scale. E.g. 2–3 brings in a –1, i.e. an 11, which is a ‘wrong note’. As does 4–5, or 5–8 = –3, aka 9 – wrong again. Or 7–8, another –1; or 8–2 = 6 (nope, missing in the minor scale).</p> <p>So to invert in the major, subtract from its mediant (or its major third, if you will). To invert in the minor, subtract from its subtonic - its (minor) seventh.</p> <p>But wait. Another (but other worldly) name for the major scale is the <em><strong>Ionian Mode</strong></em>. Another name for the minor scale is the <em><strong>Aeolian Mode</strong></em>. These are two of the seven ‘ancient’ modes corresponding to the seven notes of a diatonic scale, considered as starting on the ‘wrong’ (for six of them, anyway) note. Each mode has its own distinct subtraction point from which mode/scale preserving inversions can be made. Here’s the list</p> <ul> <li>Ionian (0,2,4,5,7,9,11) inverts from its mediant (4) <li>Dorian (0,2,3,5,7,9,10) inverts from its tonic (0) <li>Phrygian (0,1,3,5,7,8,10) inverts from its submediant (8) <li>Lydian (0,2,4,6,7,9,11) inverts from its subdominant (6) <li>Mixolydian (0,2,4,5,7,9,10) inverts from its supertonic (2) <li>Aeolian (0,2,3,5,7,8,10) inverts from its subtonic (10) <li>Locrian (0,1,3,5,6,8,10) inverts from its dominant (6) </li></ul> <p align="center"> <table cellspacing="0" cellpadding="0"> <thead> <tr> <th>ionian<br>(major)</th> <th>dorian</th> <th>phrygian</th> <th>lydian</th> <th>mixolydian</th> <th>aeolian<br>(minor)</th> <th>locrian</th></tr></thead> <tbody> <tr> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2773-2212221-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2902-2122212-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-3418-1222122-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2741-2221221-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2774-2212212-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-2906-2122122-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/7/725436263452-1-3434-1221222-s-m.jpg" width="100"></td></tr> <tr> <td colspan="7" align="center"><strong><em>Seven modal scales as rotations of a heptagon</em></strong></td></tr></tbody></table></p> <p>Again, we emphasise that the modal numbers that you subtract <em>from</em> (add as many 12s as you require) are the only ones – out of the seven possibilities for each – which will preserve the mode. The ‘pitch axis’ – or reflection – idea is quite unnecessary. We'll see more of these polygons in <a title="Major minor teatime diner" href="/2015/04/major-minor-teatime-diner.html">the next article</a>.</p> <p>Inversion as subtraction carries over into other scales too. For example, Jazz musicians are rather partial to the octatonic (aka <em>diminished</em>) scale which – as its name suggests, is an eight note scale (but still embedded within the chromatic 12-tone universe). Its alternating wholetone/semitone stepping nature can be represented as the eight note set 0, 2, 3, 5, 6, 8, 9, 11 – or alternatively 0, 1, 3, 4, 6, 7, 9, 10. To invert a phrase written in <em>this</em> scale, you have a bit more freedom than that which the traditional heptatonic modes permit you. You may subtract from any one of <em>four</em> of its scale notes, i.e. from 2 or 5 or 8 or 11 (or 1, 4, 7, 10 in the alternate version). The term tonic may still apply to such a scale, but the notions of dominant, supertonic etc won’t fit any more – we’re one short.</p> <p align="center"> <table cellspacing="0" cellpadding="0"> <thead> <tr> <th>octatonic</th> <th>diminished</th></tr></thead> <tbody> <tr> <td valign="top" align="center"><img src="http://image.storistry.com/scales/8/844844844844-4-2925-21212121-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/8/844844844844-4-3510-12121212-s-m.jpg" width="100"></td></tr> <tr> <td colspan="7" align="center"><strong><em>Octatonic Scales with quadruple inversion points</em></strong></td></tr></tbody></table></p> <p>And pentatonic scales also have inversions. The (five note) major pentatonic scale is represented by 0, 2, 4, 7, 9. To invert a phrase in this scale, subtract its notes from 4 (just like the ordinary major scale). 4-0=4, 4-2=2, 4-4=0, 4(=16)-7=9, 4(=16)-9=7. Subtraction from the other notes (0, 2, 7 or 9) won’t work. The minor pentatonic – i.e. 0, 3, 5, 7, 10 – like the ordinary 7 note minor scale – is invertible from 10. I.e. 10-0=10, 10-3=7, 10-5=5, 10-7=3, 10-10=0. Like the ordinary heptatonic/diatonic/modal scales, these inversion points are unique.</p> <p>And distinct – corresponding to the seven modes of the diatonic scales are the five ‘modes’ of pentatonic ones. Being unaware of any formal names for these, we’ll just go by analogy:</p> <ul> <li><font color="#111111">io-pentatonic (aka major) (0,2,4,7,9) inverts from (4)</font> <li><font color="#111111">do-pentatonic (0,2,5,7,10) inverts from (0)</font> <li><font color="#111111">ph-pentatonic (0,3,5,8,10) inverts from (8)</font> <li><font color="#111111">mi-pentatonic (0,2,5,7,9) inverts from (2)</font> <li><font color="#111111">ae-pentatonic (aka minor) (0,3,5,7,10) inverts from (10)</font> </li></ul> <p align="center"> <table cellspacing="0" cellpadding="0"> <thead> <tr> <th>io<br>(major)</th> <th>do</th> <th>ph</th> <th>mi</th> <th>ae<br>(minor)</th></tr></thead> <tbody> <tr> <td valign="top" align="center"><img src="http://image.storistry.com/scales/5/503214041230-1-2708-22323-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/5/503214041230-1-2642-23232-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/5/503214041230-1-2378-32322-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/5/503214041230-1-2644-23223-s-m.jpg" width="100"></td> <td valign="top" align="center"><img src="http://image.storistry.com/scales/5/503214041230-1-2386-32232-s-m.jpg" width="100"></td> <tr> <td colspan="5" align="center"><strong><em>Five Invertible Pentatonic Scales as rotated pentagons</em></strong></td></tr></tbody></table></p> <p>These are just a few of the scales which can be fashioned from the 12 notes available to us. One may consider scales consisting of all 12 notes – there’s only the one, the full chromatic scale. Inversion in that scale is of course possible from <em>any</em> of its notes since subtraction from anything is bound to produce one of the 12 notes you have. Scales of 11 notes – of which there are of course 12 actual (each with one of the 12 notes missing) – but only one in practice (they’re all just transposed versions of each other, i.e. all represented by the same set 0,1,2,3,4,5,6,7,8,9,10) must have limited inversion (you will be unable to subtract from 11, because 11-0=11, which isn’t in the scale). Symmetrical with 11 note scales are the 12 actual (but only one really) single note scales which can – pretty clearly – invert only by subtraction from their only note – ‘<em>One note Samba</em>’ considered trivial. There’s also only the one zero-note scale. but the only piece written in that may be Cage’s <em>4’33”</em> assuming it’s written in any scale at all.</p> <p>There are – technically – 60 scales comprising 10 notes (and, symmetrically, 2 notes) but – again in practice – many of them are merely transpositions of each other and there are really only six distinct patterns of 10 (or 2) note scales (each may be considered to have 10 – or 2 - ‘modes’ starting on different notes).</p> <p>Of the 171 possible 9 note scales there are 19 distinct patterns – each with something akin to 9 modes, and this is also (symmetrically) the case for the 19 possible patterns for 3 note scales (with each of their 3 ‘modes’).</p> <p>The ‘jazz octatonic’ isn’t the only way to arrange an 8 note scale. There are 43 different patterns available. Likewise 4 note scales.</p> <p>There are in fact 66 different ways to have 7 note scales. The two (or seven) we are familiar with represent just one of these 66. Being - as they are - only transpositions of each other in their various modes. Most of them are rather pathological. For example a run of seven consecutive semitones might not provide a very interesting scale. Similarly there are 66 pentatonic patterns.</p> <p>Finally there are 80 distinct hexatonic scale patterns, only one of them being the - possibly familiar – whole tone scale. The whole tone scale in particular is – like the full 12 tone scale – invertible from any of its 6 constituent scale notes.</p> <p>By no means do all of these (350) scales permit in-scale-phrasal-inversion. And in those that do, reflection – or pitch axis – is of no real use in any of them except by accident.</p> <p>Here’s a table of all possible N note scales, and how many of them are properly invertible</p> <p align="center"> <table> <thead> <tr> <th>#Notes</th> <th>#Scales</th> <th>#Invertible</th></tr></thead> <tbody> <tr> <td>12</td> <td>1</td> <td>1</td></tr> <tr> <td>11</td> <td>1</td> <td>1</td></tr> <tr> <td>10</td> <td>6</td> <td>6</td></tr> <tr> <td>9</td> <td>19</td> <td>5</td></tr> <tr> <td>8</td> <td>43</td> <td>15</td></tr> <tr> <td>7</td> <td>66</td> <td>10</td></tr> <tr> <td>6</td> <td>80</td> <td>20</td></tr> <tr> <td>5</td> <td>66</td> <td>10</td></tr> <tr> <td>4</td> <td>43</td> <td>15</td></tr> <tr> <td>3</td> <td>19</td> <td>5</td></tr> <tr> <td>2</td> <td>6</td> <td>6</td></tr> <tr> <td>1</td> <td>1</td> <td>1</td></tr></tbody></table></p> <p>That there are exactly as many, say, 4 note scales as there are 8 note scales should be reasonably obvious. A scale with N notes <em>missing</em> from it can be considered the anti-scale of the corresponding N note one and although musically it will sound rather different (except possibly when N is 6), there’ll be exactly one such scale to correspond to its N note scale. We’ve omitted the no-note scale (the anti-12-tone) as being too musically challenging (<em>Cage</em> again). </p> <p><a href="http://image.storistry.com/Negation_F3C7/image_5.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="http://image.storistry.com/Negation_F3C7/image_thumb_6.png" width="582" height="316"></a></p> <p align="center"><em>Diagram showing that invertible scales (blue) are in the minority</em></p> LemoUtanhttp://www.blogger.com/profile/11110031436968511583noreply@blogger.com0