editing disabled

The weighting matrix | Temperamental complexity | The OETES | Logflat TE badness | Examples

The weighting matrix

Let us define the val weighting matrix W to be the diagonal matrix with values 1, 1/log2(3), 1/log2(5) ... 1/log2(p) along the diagonal. Given a val "a" expressed as a row vector, the corresponding vector in weighted coordinates is aW, with transpose Wa* where the * denotes the transpose. Then the dot product of weighted vals is aW^2a*, which makes the Euclidean metric on vals, a measure of complexity, to be || <a2 a3 ... ap| ||_2 = sqrt(a2^2 + a3^2/log2(3)^2 + ... + ap^2/log2(p)^2); dividing this by sqrt(n), where n = π(p) is the number of primes to p gives the Tenney-Euclidean, or TE, norm. Similarly, if b is a monzo, then in weighted coordinates the monzo becomes bW^(-1), and the dot product is bW^(-2)b*, leading to sqrt(b2^2 + log2(3)^2b3^2 + ... + log2(p)^2bp^2); multiplying this by sqrt(n) gives the dual RMS norm on monzos, a measure of complexity we may call the Tenney-Euclidean, or TE, complexity.

Temperamental complexity

Suppose now A is a matrix whose rows are vals defining a p-limit regular temperament. Then the corresponding weighted matrix is V = AW. The TE tuning projection matrix is then V`V, where V` is the pseudoinverse. If the rows of V (or equivalently, A) are linearly independent, then we have V` = V*(VV*)^(-1), where V* denotes the transpose. In terms of vals, the tuning projection matrix is P = V`V = V*(VV*)^(-1)V = WA*(AW^2A*)^(-1)AW. P is a positive semidefinite matrix, so it defines a positive semidefinite bilinear form. In terms of weighted monzos m1 and m2, m1*Pm2 defines the semidefinite form on weighted monzos, and hence b1*W^(-1)PW^(-1)b2 defines a semidefinite form on unweighted monzos, in terms of the matrix W^(-1)WA*(AW^2A*)^(-1)AWW^(-1) = A*(AW^2A*)^(-1)A = P. From the semidefinite form we obtain an associated semidefinite quadratic form b*Pb and from this the seminorm sqrt(b*Pb).

It may be noted that (VV*)^(-1) = (AW^2A*)^(-1) is the inverse of the Gram matrix used to compute TE complexity, and hence is the corresponding Gram matrix for the dual space. Hence P represents a change of basis defined by the mapping given by the vals combined with an inner product on the result. Given a monzo b, Ab represents the tempered interval corresponding to b in a basis defined by the mapping A, and P = (AW^2A*)^(-1) defines a positive-definite quadratic form, and hence a norm, on the tempered interval space with basis defined by A.

Denoting the temperament-defined, or temperamental, seminorm by T(x), the subspace of interval space such that T(x) = 0 contains a lattice consisting of the commas of the temperament, which is a sublattice of the lattice of monzos. The quotient space of the full vector space by the commatic subspace such that T(x) = 0 is now a normed vector space with norm given by T, in which the intervals of the regular temperament define a lattice. The norm T on these lattice points is the temperamental norm or temperamental complexity of the intervals of the regular temperament; in terms of the basis defined by A, it is sqrt(t*Pt) where t is the image of a monzo b by t = Ab


Instead of starting from a matrix of vals, we may start from a matrix of monzos. If B is a matrix with rows of monzos spanning the commas of a regular temperament, then M = BW^(-1) is the corresponding weighted matrix. Q = M`M is a projection matrix dual to P = I-Q, where I is the identity matrix, and P is the same symmetric matrix as in the previous section. If the rows define a basis for the commas of the temperament, and are therefor linearly independent, then P = I - M*(MM*)^(-1)M = I - W^(-1)B*(BW^(-2)B*)^(-1)BW^(-1), and mPm* = bW^(-1)PW^(-1)b*, or b(W^(-2) - W^(-2)B*(BW^(-2)B*)^(-1)BW^(-2))b*, so that the terms inside the parenthesis define a formula for P in terms of the matrix of monzos B.

To define the OETES, or octave equivalent Tenney-Euclidean seminorm, we simply add a row |1 0 0 ... 0> representing 2 to the matrix B. An alternative proceedure is to find the normal val list, and remove the first val from the list, corresponding to the octave or some fraction thereof, and proceed as in the previous section on temperamental complexity. This seminorm is a measure of the octave-equivalent complexity of a given p-limit rational interval in terms of the p-limit regular temperament given by A.

Logflat TE badness

Given a matrix A whose rows are linearly independent vals defining a regular temperament, then the rank r of the temperament is the number of rows, which equals the number of linearly independent vals. The dimension of the temperament is the number of primes it covers; if p is the largest such prime, then the dimension n is π(p), the number of primes to p. If we define S(A) to be the simple badness (relative error) of A, and C(A) to be the complexity of A, then logflat badness is defined by the formula S(A) C(A)^(r/(n-r)). If we set a cutoff margin for logflat badness, there are still infinite numbers of new temperaments appearing as complexity goes up, at a lower rate which is approximately logarithmic in terms of complexity.


Consider the temperament defined by the 5-limit patent vals for 15 and 22 equal. From the vals, we may construct a 2x3 matrix A = [<15 24 35|, <22 35 51|]. From this we may obtain the matrix P as A*(AW^2A*)^(-1)A, approximately

[0.9911 0.1118 -0.1440]
[0.1118 1.1075 1.8086]
[-0.1440 1.8086 3.0624]

If we want to find the temperamental seminorm T(250/243) of 250/243, we convert it into a monzo as |1 -5 3>. Now we may multiply P by this on the left, obtaining the zero vector. Taking the dot product of the zero vector with |1 -5 3> gives zero, and taking the square root of zero we get zero, the temperametal seminorm T(250/243) of 250/243. All of this is telling us that 250/243 is a comma of this temperament, which is 5-limit porcupine.

Similarly, starting from the monzo |-1 1 0> for 3/2, we may multiply this by P, obtaining <-0.8793 0.9957 1.9526|, and taking the dot product of this with |-1 1 0> gives 1.875 with square root 1.3693, which is T(3/2).

We can, however, map the monzos to elements of a rank r abelian group (where r is the rank of the temperament) which abstractly represents the elements of the temperament without regard to tuning, the abstract regular temperament. If b is a monzo, this mapping is given by bA*. Hence we have |1 -5 3>A* maps to [0 0] for the interval associated to 250/243, and |-1 1 0>A* maps to [9 13] for the interval assciated to 3/2. This is the number of steps needed to get to 3/2 in 15et and 22et respectively. We now may obtain a matrix defining the temperamental norm on this abstract temperament by P = (AW^2A*)^(-1), which is approximately

[175.3265 -120.0291]
[-120.0291 82.1730]

Using this, we find the temperamental norm of [9 13] to be sqrt([9 13]P[9 13]*) ~ sqrt(1.875) ~ 1.3693, identical to the temperamental seminorm of 3/2. Note however that while P does not depend on the choice of basis vals for the temperament, P does; if we choose [<1 2 3|, <0 -3 -5|] for our basis instead, then 3/2 is represented by [1 -3] and P changes coordinates to produce the same final result of temperamental complexity.

If instead we want the OETES, we may remove the first row of [<1 2 3|, <0 -3 -5|], leaving just [<0 -3 -5|]. If we now call this 1x3 matrix A, then (AW^2A*)^(-1) is a 1x1 matrix; in effect a scalar, with value [<0.1215588|]. Multiplying a monzo b times A* gives a 1x1 matrix bA* whose value is the number of generator steps of porcupine (of size a tempered 10/9) it takes to get to the octave class to which b belongs. Performing the multiplication and taking the square root, we conclude the OE complexity is simply proportional to this number of steps.

For a more substantial example we need to consider at least a rank three temperament, so let us turn to 7-limit marvel, the 7-limit temperament tempering out 225/224. The 2x4 matrix of monzos whose first row represents 2 and whose second row 225/224 is [|1 0 0 0>, |-5 2 2 -1>]. If we denote log2 of the odd primes by p3, p5, p7 etc, then the monzo weighting of this matrix is M = [|1 0 0 0>, |-5 2p3 2p5 -p7>], and P = I - M`M = [|1 0 0 0>, |0 4p5^2+p7^2 -4p3p5 2p3p7>/H,
|0 -4p3p5 4p3^2+p7^2 2p5p7>/H, |0 2p3p7 2p5p7 4(p3^2+p5^2)>/H], where H = 4p3^2+4p5^2+p7^2. On the other hand, we may start from the normal val list for the temperament, which is [<1 0 0 -5|, <0 1 0 2|, <0 0 1 2|]. Removing the first row gives [<0 1 0 2|, <0 0 1 2], and val weighting this gives C = [<0 1/p3 0 2/p7|, <0 0 1/p5 2/p7|]. Then P = C`C is precisely the same matrix we obtained before.

Octaves are now projected to the origin as well as commas. We can as before form the quotient space with respect to the seminorm, and obtain a normed space in which octave-equivalent interval classes of the intervals of the temperament are the lattice points. This seminorm applied to monzos gives the OE complexity.

If we start from a normal val list and remove the first val, the remaining vals map to the octave classes of the notes of the temperament. If we call this reduced list of vals R, then the inner product on note classes in this basis is defined by the symmetric matrix S = (RW^2R*)^(-1). In the case of marvel, we obtain S = [[p3^2(4p5^2+p7^2) -4p3^2p5^2], [-4p3^2p5^2 p5^2(4p3^2+p7^2)]]/H. If k = [a b] is a note class of marvel in the coordinates defined by the truncated val list R, which in this case has a basis corresponding to tempered 3 and 5, then sqrt(kSk*) gives the OE complexity of the note class.