Normal forms: Difference between revisions
Incorporate canonical form |
+intro and place normal val list above normal interval list cuz it's simpler |
||
| Line 1: | Line 1: | ||
Since a [[regular temperament]] can be represented by multiple equivalent [[Vals and tuning space|val]] lists (aka [[mapping]]s) or [[Monzos and interval space|monzo]] lists (or comma lists), we have developed '''normal lists''' in order to uniquely identify each temperament. | |||
== Introduction to Hermite normal form == | == Introduction to Hermite normal form == | ||
An integral matrix is a matrix whose entries are all integers. An important normalized form for integral matrices is [[Wikipedia: Hermite normal form|Hermite normal form]], and by using Hermite normal form we may define normalized forms of lists of intervals or | An integral matrix is a matrix whose entries are all integers. An important normalized form for integral matrices is [[Wikipedia: Hermite normal form|Hermite normal form]], and by using Hermite normal form we may define normalized forms of lists of intervals or monzos (aka comma lists) or lists of vals, the '''normal interval/monzo list''' and the '''normal val list'''. | ||
<!-- | <!-- | ||
| Line 18: | Line 20: | ||
There is some redundancy in the statement of these conditions, but that does no harm. | There is some redundancy in the statement of these conditions, but that does no harm. | ||
== Normal val list == | |||
=== Hermite normal form === | |||
If L is a list of ''n'' vals, we may write it as an ''n''×''m'' matrix, where the rows of the matrix are the vals, and ''m'' = π (''p''), where ''p'' is the prime limit. To get the normal val list, we do the following: | |||
# Hermite reduce the matrix for L | |||
# Throw away all rows which consist of nothing but zeros, resulting in a ''k''×''m'' matrix | |||
# Find the [[Wikipedia: Moore–Penrose pseudoinverse|Moore–Penrose pseudoinverse]] of the ''k''×''m'' matrix, and multiply this from the left by the row vector 1200·[1 log<sub>2</sub>3 log<sub>2</sub>5 … log<sub>2</sub>''p'']. If the ''i''-th entry in the result is negative, multiply the corresponding val by -1. Return the result. | |||
The point of steps two and three is that now the vals on the list correspond to a list of generators which are all positive (written additively) or equivalently greater than 1 (written multiplicatively). Just as a normal comma list can be used to classify an [[abstract regular temperament]], so can a normal val list. The val list is what on [[Graham Breed]]'s [http://x31eq.com/temper/ web site] is called a "mapping", put into a canonical form. The "mapping" (though not the "Map to lattice") listed on temperament pages of this wiki are all normal val lists; an example would be [{{val| 1 0 -4 -13 }}, {{val| 0 1 4 10 }}], the normal val list for septimal meantone. Using this as input, the output is 1199.25¢, 1899.45¢ (tempered 2/1, tempered 3/1). | |||
=== Canonical form === | |||
{{See also| Canonical form }} | |||
The canonical form of the val list requires that the normal val list be defactored, therefore uniquely characterizing each temperament. | |||
== Normal interval list == | == Normal interval list == | ||
| Line 46: | Line 63: | ||
=== Tenney-minimal form === | === Tenney-minimal form === | ||
In each temperament page on this wiki, however, the "comma lists" are not normal interval lists as defined above. Instead, it shows ratio-wise the simplest comma sequence sufficient to define the temperament, which may be called the Tenney-minimal form. | In each temperament page on this wiki, however, the "comma lists" are not normal interval lists as defined above. Instead, it shows ratio-wise the simplest comma sequence sufficient to define the temperament, which may be called the Tenney-minimal form. | ||
== Maple code == | == Maple code == | ||
| Line 205: | Line 207: | ||
[[Category:Regular temperament theory]] | [[Category:Regular temperament theory]] | ||
[[Category:Math]] | [[Category:Math]] | ||
{{Todo| | {{Todo| rework }} | ||