Fractional monzo

From Xenharmonic Wiki
Jump to navigation Jump to search

A fractional monzo is like an ordinary monzo except that coefficients have been extended to allow them to be rational numbers. If [e2 e3ep is a fractional monzo, then it represents 2e2 3e3pep just as with an ordinary monzo. Hence, for instance, [1/13 -1/13 7/26 represents the interval 21/13 3-1/13 57/26. By taking the least common multiple of the denominators, intervals represented by a fractional monzo can always be written as an n-th root of a positive rational number; for instance from our example, (312500/9)1/26. By taking a dot product with cents (2) cents (3) … cents (p)] the value in cents of a monzo or fractional monzo may be obtained. For instance, in the above example (1/13)×1200.0 - (1/13)×cents (3) + (7/26)×cents (5) = 696.1648 cents.

Vectors in interval space, where the coefficients are allowed to be real numbers, do not uniquely correspond to intervals, whereas monzos do. Fractional monzos do also; for each fractional monzo there is one and only one nth root of a positive rational number which corresponds to it.

Starting with the next section, we discuss projection matrices in the formal mathematical language. For a beginner-level introduction, see Projection.

Fractional projection matrices

A square matrix P is a projection if P2 = P. A nontrivial projection, meaning one which is neither the zero matrix nor the identity matrix, has eigenvalues of both 0 and 1 and no other eigenvalues. If the rows of P represent a tuning of a regular temperament as vectors in either weighted or unweighted interval space, then a comma c of the temperament (in the appropriate coordinates) times P from the left, cP, will be the zero vector. A val of the temperament v, times P on the right, Pv, will satisfy Pv = v.

In particular, this is true of matrices with rows consisting of fractional monzos. This is of interest since several of the most important tunings, in particular minimax and least squares, have tuning values which can be expressed as fractional monzos. For example, the fractional monzo we have used as an example is the tuning for a fifth in the 7/26-comma Woolhouse meantone. Indeed, any meantone whose tuning is expressed as a fraction of a comma has an associated 3×3 projection matrix defining the tuning.

Tunings in terms of fractional monzos

If n is the number of primes π (p) less than or equal to p, we may define a unique n×n projection matrix by means of a list of n - r commas c and r eigenmonzos e. An eigenmonzo is defined as a monzo which is invariant under left multiplication by a fractional monzo projection matrix P, so that uP = u where u is the eigenmonzo. The name refers to the fact that u is a left eigenvector for the eigenvalue 1.

There are various matrix norms, and given a matrix norm, we can define an associated tuning of a regular temperament by taking the matrix with the minimum norm subject to the condition that commas of the temperament are left eigenvectors with eigenvalue 0 (that is, elements of the null space) while vals of the temperament are right eigenvectors with eigenvalue 1. Perhaps the easiest norm to work with is the Frobenius norm, which simply treats a matrix like a vector and takes the square root of the sum of squares of the coefficients of the matrix. The associated tuning is the Frobenius tuning, which is the same as the unweighted RMS tuning which can be found using the pseudoinverse. If r is the rank of the temperament, the Frobenius norm of the Frobenius tuning is sqrt(r), which is minimal; this follows from the singular value decomposition.

The projection matrix of the Frobenius tuning is symmetrical. Because of this, r vals spanning the subspace of the temperament can be taken to be r eigenmonzos instead. The same considerations apply to the projection matrix of TOP-RMS tuning in weighted coordinates. This projection matrix can be transformed to a matrix in unweighted coordinates by monzo weighting the columns and val weighting the rows, but the resulting matrix is no longer symmetrical. However, a val (in unweighted coordinates) can be converted to a left eigenvalue with eigenvalue 1 by doubly val weighing it; that is, val weighting it, and then val weighting it again. By finding fractional monzos which approximate r such left eigenvalues, a projection matrix with fractional monzos as rows which approximates TOP-RMS tuning may be obtained. An easy way to do this is to use an equal temperament val to approximate val weighting.

For instance, if we take 19 30 44 53] and divide each coordinate twice by the corresponding coordinate of 31 49 72 87] we obtain a fractional eigenmonzo 19/961 30/2401 11/1296 53/7569], and similarly from the 31et val we have 1/31 1/49 1/72 1/87]. Using these as fractional eigenmonzos gives us a tuning which is already very close (less than 0.01 cents error for the primes) to TOP-RMS. Using 171et instead, the error is less than 0.0002 cents.

These methods suggest a wide range of tuning possibilities. For instance, Frobenius tuning uses unweighted eigenmonzos, whereas TOP-RMS doubly weights the vals to make left eigenvectors of them. Intermediate to the two is the tuning which val weights the vals and uses them as left eigenvectors; this gives a tuning which is less biased towards smaller primes than TOP-RMS. For rank two temperaments, using 2 and the product W of odd primes to p as eigenmonzos gives a tuning which has a simple expression in terms of roots of products of 2 and W, and where the errors in the tunings of the odd primes must cancel since W is tuned justly.

While minimax tuning for a list of target interval (such as an odd limit tonality diamond) can be found by setting it up as a linear programming problem, this is not necessary and in important respects not desirable. The problem is simple enough that it can be solved by brute force, which makes it easy to find exact answers in the form of fractional monzos. It can happen that the minimax solution is not unique, and the brute force approach allows ties to be broken using e.g. minimum squared error.

If the target set is a q-odd-limit diamond, eigenmonzos in the range 1 < x < sqrt(2) may be found by simply finding all of the sets of r - 1 q-odd-limit diamond intervals in that range which together with 2 define an independent set of intervals, and computing the corresponding projection matrix. The matrix leading to the least maximum error on elements of the diamond will be the minimax tuning. If there is a tie or ties, it may be broken by choosing the tuning with the smallest sum of squares of the error.

Algebraic considerations

For the mathematically inclined (other people may want to skip this paragraph) we note that monzos are elements of a free abelian group (or equivalently, Z-module) of rank n equal to the number of primes less than or equal to p for the p-limit in question. Fractional monzos do not define a free group but rather a divisible group, meaning any element may be divided by any nonzero integer. They are Z-modules, but more than that also Q-modules, or stated equivalently, elements in a vector space (of dimension n) over the rational numbers. They are also torsion-free (equivalently, flat) abelian groups, and are the injective hulls of the corresponding monzos.