editing disabled

A regular temperament T is an equivalence class of Z-module homomorphisms T: J → K, where J is a Z-module of JI intervals, K is a Z-module of tempered intervals, and two homomorphisms are said to represent the same temperament if they differ only by unimodular transformation. An element of K is called a tmonzo, and an element of the dual module K* is called a tval.

Tmonzos are rather straightforward, and tvals act on tmonzos in the same way that vals act on monzos: they're linear functionals which map from tmonzos to a scalar representing a certain number of steps. Note that there is no restriction on which bases tmonzos can be written in, but one option is to use the basis corresponding to the mapping matrix for the temperament which is in normal val list form.

Example

As an example, consider the mapping matrix
[<1 1 0|]
[<0 1 4|]

This matrix represents meantone temperament. If we right-multiply this matrix by the monzo |1 0 0>, representing 2/1, we get the tmonzo |1 0>. If we right-multiply it instead by |-1 1 0>, we get the tmonzo |0 1>. That 2/1 and 3/2 map to |1 0> and |0 1> respectively tell us that the tempered versions of these intervals can serve as a basis for meantone. If we now right-multiply the matrix by the monzo |-2 0 1>, representing 5/4, we get the tmonzo |-2 4>, telling us that the tempered 5/4 maps to four tempered 3/2's minus two tempered 2/1's.