back to list

A gentle introduction to Fokker periodicity blocks, part 3

🔗Paul H. Erlich <PErlich@xxxxxxxxxxxxx.xxxx>

11/15/1999 1:11:56 PM

> You may need to switch to a proportional font (such as Courier) to view
> this correctly:
>
> ************************************************************
> *A gentle introduction to Fokker periodicity blocks, part 3*
> ************************************************************
>
> In this installment we move on to 7-limit just intonation. We will need
> three dimensions to depict the relationship of the notes: one axis for
> factors of 3, one for factors of 5, and one for factors of 7. Although
> it's not too difficult to create the illusion of depth for at least a few
> layers of lattice, showing how three-dimensional space is divided into
> identical periodicity blocks is beyond my ASCII art abilities. Therefore I
> will display each periodicity block alone, without its identical
> neighbors, and leave it to the imagination or artistry of the reader to
> discover how the block repeats to fill space.
>
> Let's view a portion of the 7-limit lattice. It contains our now-familiar
> 5-limit system; that system is simply reproduced at transpositions of a
> 7:4 up ("out of the screen") and down ("into the screen"):
>
> 1225/1152-----1225/768------1225/1024-----3675/2048----11025/8192
> ,'| ,'| ,'| ,'| ,'|
> 175/144|-------175/96|------175/128|------525/512|------675/512|
> ,'| | ,'| | ,'| | ,'| | ,'| |
> 25/18|--|-----25/24|--|-----25/16|--|-----75/64|--|---225/128| |
> ,'| | | ,'| | | ,'| | | ,'| | | ,'| | |
> 100/63|--|--|--25/21|--|--|--25/14|--|--|--75/56|--|--|225/224| | |
> | | | | | | | | | | | | | | | | | | | |
>
> | | | | | | | | | | | | | | | | | | | |
>
> | | | | | | | | | | | | | | | | | | | |
>
> | | 245/144-------245/192-------245/128-------735/512------2205/2048
> | | |,'| | | |.'| | | |,'| | | |,'| | | |,'|
>
> | |35/18|--------35/24|--------35/32|-------105/64|------315/256|
> | |,'| | | |,'| | | |,'| | | |,'| | | |,'| |
> |10/9-|--|------5/3-|--|------5/4-|--|-----15/8-|--|-----45/32| |
> |,'| | | |,'| | | |,'| | | |,'| | | |,'| | |
> 80/63|--|--|--40/21|--|--|--10/7-|--|--|--15/14|--|--|--45/28| | |
> | | | | | | | | | | | | | | | | | | | |
> | | | | | | | | | | | | | | | | | | | |
> | | | | | | | | | | | | | | | | | | | |
>
> | | |49/36---------49/48---------49/32--------147/128-------441/256
> | | |,'| | | |,'| | | |,'| | | |,'| | | |,'|
> | |14/9-|---------7/6-|---------7/4-|--------21/16|--------63/32|
> | |,'| | | |,'| | | |,'| | | |,'| | | |,'| |
> |16/9-|--|------4/3-|--|------1/1-|--|------3/2-|--|------9/8 | |
> |,'| | | |,'| | | |,'| | | |,'| | | |,'| | |
> 64/63|--|--|--32/21|--|--|---8/7-|--|--|--12/7-|--|--|---9/7 | | |
> | | | | | | | | | | | | | | | | | | | |
> | | | | | | | | | | | | | | | | | | | |
> | | | | | | | | | | | | | | | | | | | |
> | | |49/45---------49/30---------49/40--------147/80--------441/320
> | | |,' | | |,' | | |,' | | |,'| | | |,'
> | |56/45---------28/15----------7/5----------21/20---------63/40
> | |,' | |,' | |,' | |,' | |,'
> |64/45---------16/15----------8/5-----------6/5-----------9/5
> |,' |,' |.' |,' |,'
> 512/315------128/105---------64/35---------48/35---------36/35
>
> By now the process of finding unison vectors and constructing the
> resulting periodicity blocks should be familiar. In the case of one
> dimension, the operation was almost trivial. In two dimensions, we drew a
> parallelogram (or, in our excursion, a hexagon) constructed from the
> unison vectors and could make various periodicity blocks by sliding the
> shape around the lattice (but the number of notes in the block remained
> unchanged). In three dimensions, the concept is similar -- we can create a
> parallelopiped (the fancy name for a 3-d parallelogram) from three unison
> vectors. The number of notes inside the parallelopiped will always equal
> the its area. Just like before, the area of the block is equal to the
> determinant of the matrix formed from the unison vectors. But we need to
> know how to calculate the determinant of a 3-by-3 matrix. The way I
> learned in college mechanics is to imagine that the matrix wraps around
> and the left and right edges are joined together. Then add all products of
> three elements along diagonals that slant downward and to the right, and
> subtract all the products along diagonals sloping the other way. So:
>
> |a b c|
> |d e f| = a*e*i + b*f*g + c*d*h - c*e*g - a*f*h - b*d*i
> |g h i|
>
> Let's try an example using some simple unison vectors. Looking near 1/1 in
> the lattice above, we see 7/5 and 10/7, which are separated by 35 cents.
> Since going from 7/5 to 10/7 (a move of 50:49) one moves 0 steps along the
> 3-axis, 2 steps up along the 5-axis, and 2 steps into the screen along the
> 7-axis, we may write:
>
> (0 2 -2) = 35 cents
>
> We need two more unison vectors to define a periodicity block in three
> dimensions. One can be the interval between 8/7 and 7/6, or 49:48:
>
> (-1 0 2) = 36 cents
>
> and the other, the interval between 7/4 and 16/9, or 64:63:
>
> (-2 0 -1) = 27 cents
>
> So the "Fokker matrix" is
>
> ( 0 2 -2)
> ( )
> (-1 0 2)
> ( )
> (-2 0 -1)
>
> Let's see how many notes a periodicity block built from these three unison
> vectors would contain. Using the formula above,
>
> | 0 2 -2|
> | |
> |-1 0 2| = 0 + (-8) + 0 - 0 - 0 - 2 = -10
> | |
> |-2 0 -1|
>
> As usual, we ignore the sign of the result, so the block has 10 notes.
>
> Now, even if we could draw the parallelopiped formed from these unison
> vectors perfectly in ASCII, we would still have a very hard time
> determining visually which notes were inside and which were outside. So we
> will resort to mathematics. Technically speaking, the 3-by-3 matrix of
> unison vectors defines a linear transformation -- a uniform "stretching"
> or "squashing" -- in three-dimensional space. In particular, the matrix of
> unison vectors takes a 1-by-1-by-1 cube and transforms it to the
> parallelopiped with unison vectors as edges. Let's show how this works.
> Each edge of the 1-by-1-by-1 cube is represented by a vector with one "1"
> and two "0"s. Now to transform a vector using a matrix, you need to use
> matrix multiplication. In this case, it's defined as:
>
>
> (d e f)
> (a b c)*(g h i) = (a*d + b*g + c*j a*e + b*h + c*k a*f + b*i + c*l)
> (j k l)
>
> Let's try this with our matrix and each of the edges of a unit cube (known
> as "unit vectors":
>
> ( 0 2 -2)
> ( )
> (1 0 0)*(-1 0 2) = ( 0 2 -2)
> ( )
> (-2 0 -1)
>
>
> ( 0 2 -2)
> ( )
> (0 1 0)*(-1 0 2) = (-1 0 2)
> ( )
> (-2 0 -1)
>
>
> ( 0 2 -2)
> ( )
> (0 0 1)*(-1 0 2) = (-2 0 -1)
> ( )
> (-2 0 -1)
>
> Now in order to determine which notes would be inside the parallelopiped,
> it would be helpful to apply the _inverse_ of this transformation to the
> whole lattice, because then we would simply have to find which notes are
> in a 1-by-1-by-1 cube, which is easy to do by just looking at the numbers.
> What is the inverse of a 3-by-3 matrix? Well, this is a bit too much
> mathematics for us to deal with here, but any decent linear algebra
> textbook will explain it and any decent math software package should be
> able to calculate it. For the 3-by-3 "Fokker matrix" above, the inverse
> is:
>
> ( 0 -.2 -.4)
> ( )
> ( .5 .4 -.2)
> ( )
> ( 0 .4 -.2)
>
> We can verify that this matrix transforms each unison vector into a unit
> vector:
>
> ( 0 -.2 -.4)
> ( )
> ( 0 2 -2)*( .5 .4 -.2) = (0+1+0 0+.8-.8 0+.4-.4) = (1 0 0)
> ( )
> ( 0 .4 -.2)
>
>
> ( 0 -.2 -.4)
> ( )
> (-1 0 2)*( .5 .4 -.2) = (0+0+0 .2+0+.8 .4+0-.4) = (0 1 0)
> ( )
> ( 0 .4 -.2)
>
>
> ( 0 -.2 -.4)
> ( )
> (-2 0 -1)*( .5 .4 -.2) = (0+0+0 .4+0-.4 .8+0+.2) = (0 0 1)
> ( )
> ( 0 .4 -.2)
>
> OK, so all we have to do is transform a large enough portion of the
> lattice with this inverse matrix. Then we can just pick a range of values
> that spans exactly one unit along each of the axes, and the transformed
> lattice points whose components fall into these ranges will be the ones in
> a unit cube. Let's take the lattice above -- it's the set of points whose
> coordinates range from -2 to 2 on the 3-axis, from -1 to 2 on the 5-axis,
> and from -1 to 2 on the 7-axis:
>
> -2 -1 -1
> -2 -1 0
> -2 -1 1
> -2 -1 2
> -2 0 -1
> -2 0 0
> -2 0 1
> -2 0 2
> -2 1 -1
> -2 1 0
> -2 1 1
> -2 1 2
> -2 2 -1
> -2 2 0
> -2 2 1
> -2 2 2
> -1 -1 -1
> -1 -1 0
> -1 -1 1
> -1 -1 2
> -1 0 -1
> -1 0 0
> -1 0 1
> -1 0 2
> -1 1 -1
> -1 1 0
> -1 1 1
> -1 1 2
> -1 2 -1
> -1 2 0
> -1 2 1
> -1 2 2
> 0 -1 -1
> 0 -1 0
> 0 -1 1
> 0 -1 2
> 0 0 -1
> 0 0 0
> 0 0 1
> 0 0 2
> 0 1 -1
> 0 1 0
> 0 1 1
> 0 1 2
> 0 2 -1
> 0 2 0
> 0 2 1
> 0 2 2
> 1 -1 -1
> 1 -1 0
> 1 -1 1
> 1 -1 2
> 1 0 -1
> 1 0 0
> 1 0 1
> 1 0 2
> 1 1 -1
> 1 1 0
> 1 1 1
> 1 1 2
> 1 2 -1
> 1 2 0
> 1 2 1
> 1 2 2
> 2 -1 -1
> 2 -1 0
> 2 -1 1
> 2 -1 2
> 2 0 -1
> 2 0 0
> 2 0 1
> 2 0 2
> 2 1 -1
> 2 1 0
> 2 1 1
> 2 1 2
> 2 2 -1
> 2 2 0
> 2 2 1
> 2 2 2
>
> Transforming these using the inverse matrix, we get:
>
> -0.5000 -0.4000 1.2000
> -0.5000 0 1.0000
> -0.5000 0.4000 0.8000
> -0.5000 0.8000 0.6000
> 0 0 1.0000
> 0 0.4000 0.8000
> 0 0.8000 0.6000
> 0 1.2000 0.4000
> 0.5000 0.4000 0.8000
> 0.5000 0.8000 0.6000
> 0.5000 1.2000 0.4000
> 0.5000 1.6000 0.2000
> 1.0000 0.8000 0.6000
> 1.0000 1.2000 0.4000
> 1.0000 1.6000 0.2000
> 1.0000 2.0000 0
> -0.5000 -0.6000 0.8000
> -0.5000 -0.2000 0.6000
> -0.5000 0.2000 0.4000
> -0.5000 0.6000 0.2000
> 0 -0.2000 0.6000
> 0 0.2000 0.4000
> 0 0.6000 0.2000
> 0 1.0000 0
> 0.5000 0.2000 0.4000
> 0.5000 0.6000 0.2000
> 0.5000 1.0000 0
> 0.5000 1.4000 -0.2000
> 1.0000 0.6000 0.2000
> 1.0000 1.0000 0
> 1.0000 1.4000 -0.2000
> 1.0000 1.8000 -0.4000
> -0.5000 -0.8000 0.4000
> -0.5000 -0.4000 0.2000
> -0.5000 0 0
> -0.5000 0.4000 -0.2000
> 0 -0.4000 0.2000
> 0 0 0
> 0 0.4000 -0.2000
> 0 0.8000 -0.4000
> 0.5000 0 0
> 0.5000 0.4000 -0.2000
> 0.5000 0.8000 -0.4000
> 0.5000 1.2000 -0.6000
> 1.0000 0.4000 -0.2000
> 1.0000 0.8000 -0.4000
> 1.0000 1.2000 -0.6000
> 1.0000 1.6000 -0.8000
> -0.5000 -1.0000 0
> -0.5000 -0.6000 -0.2000
> -0.5000 -0.2000 -0.4000
> -0.5000 0.2000 -0.6000
> 0 -0.6000 -0.2000
> 0 -0.2000 -0.4000
> 0 0.2000 -0.6000
> 0 0.6000 -0.8000
> 0.5000 -0.2000 -0.4000
> 0.5000 0.2000 -0.6000
> 0.5000 0.6000 -0.8000
> 0.5000 1.0000 -1.0000
> 1.0000 0.2000 -0.6000
> 1.0000 0.6000 -0.8000
> 1.0000 1.0000 -1.0000
> 1.0000 1.4000 -1.2000
> -0.5000 -1.2000 -0.4000
> -0.5000 -0.8000 -0.6000
> -0.5000 -0.4000 -0.8000
> -0.5000 0 -1.0000
> 0 -0.8000 -0.6000
> 0 -0.4000 -0.8000
> 0 0 -1.0000
> 0 0.4000 -1.2000
> 0.5000 -0.4000 -0.8000
> 0.5000 0 -1.0000
> 0.5000 0.4000 -1.2000
> 0.5000 0.8000 -1.4000
> 1.0000 0 -1.0000
> 1.0000 0.4000 -1.2000
> 1.0000 0.8000 -1.4000
> 1.0000 1.2000 -1.6000
>
> Which of these are in a unit cube? Let's take the points where all three
> transformed coordinates are greater than or equal to 0 and less than 1.
> That leaves:
>
> 0 0.4000 0.8000
> 0 0.8000 0.6000
> 0.5000 0.4000 0.8000
> 0.5000 0.8000 0.6000
> 0 0.2000 0.4000
> 0 0.6000 0.2000
> 0.5000 0.2000 0.4000
> 0.5000 0.6000 0.2000
> 0 0 0
> 0.5000 0 0
>
> Thankfully, this is 10 points, so we included enough notes in the original
> lattice. Which notes are they? Well, we can transform them back to the
> lattice using the original Fokker matrix. That gives:
>
> -2 0 0
> -2 0 1
> -2 1 -1
> -2 1 0
> -1 0 0
> -1 0 1
> -1 1 -1
> -1 1 0
> 0 0 0
> 0 1 -1
>
> Let's transpose this one unit to the right along the 3-axis to center it
> better around 1/1:
>
> -1 0 0
> -1 0 1
> -1 1 -1
> -1 1 0
> 0 0 0
> 0 0 1
> 0 1 -1
> 0 1 0
> 1 0 0
> 1 1 -1
>
> That represents the following scale:
>
>
>
> 5/3-----------5/4
> ,'| ,'|
> 40/21|--------10/7-|--------15/14
> | |
> | |
> | |
> | |
> | |
> | 7/6-----------7/4
> |,' |,'
> 4/3-----------1/1-----------3/2
>
>
> If you have particularly good spatial imagination, you can imagine how
> this scale tiles with copies of itself transposed by the unit vectors
> ( 0 2 -2), (-1 0 2), and (-2 0 -1) to fill the 3-d lattice.
>
> This scale resembles one of my decatonic scales in 22-tET (see
> http://www-math.cudenver.edu/~jstarret/22ALL.pdf); it would be
> 0 2 5 7 9 11 13 16 18 20, or the Dynamic Major mode of the symmetrical
> decatonic scale.
>
> If we shift the unit cube slightly, so that the first two coordinates are
> greater than or equal to 0 and less than 1, and the third coordinate is
> between -.5 and .5, we get the following set of points:
>
> 0 0.2000 0.4000
> 0 0.6000 0.2000
> 0.5000 0.2000 0.4000
> 0.5000 0.6000 0.2000
> 0 0 0
> 0 0.4000 -0.2000
> 0 0.8000 -0.4000
> 0.5000 0 0
> 0.5000 0.4000 -0.2000
> 0.5000 0.8000 -0.4000
>
> which, when transformed back to the lattice, gives
>
> -1 0 0
> -1 0 1
> -1 1 -1
> -1 1 0
> 0 0 0
> 0 0 1
> 0 0 2
> 0 1 -1
> 0 1 0
> 0 1 1
>
> Let's transpose this one unit to the right along the 3-axis:
>
> 0 0 0
> 0 0 1
> 0 1 -1
> 0 1 0
> 1 0 0
> 1 0 1
> 1 0 2
> 1 1 -1
> 1 1 0
> 1 1 1
>
>
> 105/64
> ,'|
> 5/4----------15/8 |
> ,' | ,'| |
> 10/7--|--------15/14| |
> | | |
> | | |
> | | |
> | | 147/128
> | | |,'
> | 7/4-----------21/16
> |,' |.'
> 1/1-----------3/2
>
> This is another rational interpretation of the Dynamic Major mode of the
> symmetrical decatonic scale.
>
> If we shift the unit cube slightly, so that the first coordinate is
> greater than 0 and less than or equal to 1, the second coordinate is
> between .5 and 1.5, and the third coordinate is between -.5 and .5, we get
> the following set of points:
>
> 0.5000 1.2000 0.4000
> 1.0000 1.2000 0.4000
> 0.5000 0.6000 0.2000
> 0.5000 1.0000 0
> 0.5000 1.4000 -0.2000
> 1.0000 0.6000 0.2000
> 1.0000 1.0000 0
> 1.0000 1.4000 -0.2000
> 0.5000 0.8000 -0.4000
> 1.0000 0.8000 -0.4000
>
> Transforming back:
>
> -2 1 1
> -2 2 0
> -1 1 0
> -1 1 1
> -1 1 2
> -1 2 -1
> -1 2 0
> -1 2 1
> 0 1 1
> 0 2 0
>
> and transposing two units to the right along the 3-axis and two units down
> along the 5-axis:
>
> 0 -1 1
> 0 0 0
> 1 -1 0
> 1 -1 1
> 1 -1 2
> 1 0 -1
> 1 0 0
> 1 0 1
> 2 -1 1
> 2 0 0
>
> 21/16
> ,'|
> 1/1-----------3/2-----------9/8
> ,' | |
> 12/7 | |
> | |
> | |
> | |
> | 147/80
> | |.'
> 7/5---------|21/20----------63/40
> |,'
> 6/5
>
> In 22tET, this would be 0 2 4 6 9 11 13 15 17 20, the Static Minor mode of
> the symmetrical decatonic scale.
>
> OK, I'm going to start being a little more concise here; hopefully you
> will be able to follow me. If not, re-read what we've done so far. Let's
> move on to a different set of unison vectors. We'll keep our smallest one,
> 64:63 or
>
> (-2 0 -1) = 27 cents
>
> We'll replace the other two with 81:80 or
>
> ( 4 -1 0) = 21.5 cents
>
> and 126:125 or
>
> ( 2 -3 1) = 13.8 cents.
>
> Now how many notes would our periodicity block contain?
>
> |-2 0 -1|
> | |
> | 4 -1 0| = 2 + 0 + 12 - 2 - 0 - 0 = 12
> | |
> | 2 -3 1|
>
> Two examples:
>
> 1.
>
> -1 0 0
> -1 1 0
> -1 2 0
> 0 -1 0
> 0 0 0
> 0 1 0
> 1 -1 0
> 1 0 0
> 1 1 0
> 2 -1 0
> 2 0 0
> 2 1 0
>
>
> 25/24
> |
> |
> |
> |
> |
> |
> |
> 5/3-----5/4----15/8----45/32
> | | | |
> | | | |
> | | | |
> | | | |
> | | | |
> | | | |
> | | | |
> 4/3-----1/1-----3/2-----9/8
> | | |
> | | |
> | | |
> | | |
> | | |
> | | |
> | | |
> 8/5-----6/5-----9/5
>
> 2.
>
> -2 1 0
> -1 1 0
> 0 -1 1
> 0 0 0
> 0 0 1
> 0 1 0
> 1 -1 1
> 1 0 0
> 1 0 1
> 1 1 0
> 2 -1 1
> 3 -1 1
>
> 10/9-----5/3-----5/4----15/8
> | |
> | |
> | |
> | |
> | |
> | 7/4----21/16
> |.'| |.'|
> 1/1-|---3/2 |
> | |
> | |
> | |
> | |
> | |
> 7/5----21/20---63/40--189/160
>
> OK, anyone interested in pursuing this subject further should now have the
> tools to do so. I'll be happy to answer any questions on this subject and
> create further tutorials if necessary. Happy tuning!