# Tp tuning

**T _{p} tuning** is a generalization of TOP and TE tuning. (In this article

*p*denotes a parameter,

*p*≥ 1; it does not denote a prime.)

For a subgroup temperament over a general JI subgroup, and for a given choice of *p* (most commonly *p* = 2), there are two notions of T_{p} tuning:

- The first is called
**inharmonic TE**, because the basis entries are treated as if they were primes, reminiscent of some inharmonic timbres. Inharmonic TE depends on the basis used for the subgroup. In non-octave temperaments, inharmonic TE could be used when optimizing a specific voicing of a tempered JI chord. For example in 3/2.7/4.5/2 semiwolf temperament which tempers out 245/243, the 3/2.7/4.5/2 inharmonic TE optimizes the 4:6:7:10 chord. - The second is called
**subgroup TE**, because it treats the temperament as a restriction of a full prime-limit temperament to a subgroup of the prime-limit. Subgroup TE does not depend on the basis used for the subgroup, and as stated, extends naturally to the TE tuning of the full prime-limit temperament.

The two notions agree exactly when the temperament is defined on a JI subgroup with a basis consisting of rationally independent (i.e. pairwise coprime) members. That is, the subgroup has a basis where no two elements share a prime factor (examples: 2.3.5 and 2.9.5; nonexample: 2.9.5.21).

## Definition

If *p* ≥ 1, define the T_{p} norm, which we may also call the T_{p} complexity, of any monzo in weighted coordinates m as

[math]||\ |m_2 \ m_3 \ \ldots \ m_k\gt ||_p = (|m_2|^p + |m_3|^p + \ldots + |m_k|^p)^{1/p}[/math]

where 2, 3, … , *k* are the primes up to *k* in order. In unweighted coordinates, this would be, for unweighted monzo b,

[math]||\ |b_2 \ b_3 \ \ldots \ b_k\gt ||_p = (|b_2 \log_2 2 |^p + |b_3 \log_2 3|^p + \ldots + |b_k \log_2 k |^p)^{1/p}[/math]

If *q* is any positive rational number, ||*q*||_{p} is the T_{p} norm defined by its monzo.

For some just intonation group G, which is to say some finitely generated group of positive rational numbers which can be either a full prime-limit group or some subgroup of such a group, a regular temperament tuning T for an abstract temperament S is defined by a linear map from monzos belonging to G to a value in cents, such that T (*c*) = 0 for any comma *c* of the temperament. We define the error of the tuning on *q*, Err (*q*), as |T (*q*) - cents (*q*)|, and if *q* ≠ 1, the *T _{p} proportional error* is PE

_{p}(

*q*) = Err (

*q*)/||

*q*||

_{p}. For any tuning T of the temperament, the set of PE

_{p}(

*q*) for all

*q*≠ 1 in G is bounded, and hence has a least upper bound, the supremum sup (PE

_{p}(T)). The set of values sup (PE

_{p}(T)) is bounded below, and by continuity achieves its minimum value, which is the T

_{p}error E

_{p}(S) of the abstract temperament S; if we measure in cents as we've defined above, E

_{p}(S) has units of cents. Any tuning achieving this minimum, so that sup (PE

_{p}(T)) = E

_{p}(S), is an T

_{p}tuning. Usually this tuning is unique, but in the case

*p*= 1, called the TOP tuning, it may not be. In this case we can choose a TOP tuning canonically by setting it to the limit as

*p*tends to 1 of the T

_{p}tuning, thereby defining a unique tuning T

_{p}(S) for any abstract temperament S on any group G. Given T

_{p}(S) in a group G containing 2, we may define a coresponding pure-octaves tuning (POL

_{p}tuning) by dividing by the tuning of 2: T

_{p}' (S) = 1200 T

_{p}(S)/(T

_{p}(S))

_{1}, where (T

_{p}(S))

_{1}is the first entry of T

_{p}(S). When

*p*= 2, POL

_{2}tuning generalizes POTE tuning.

## Dual norm

We can extend the T_{p} norm on monzos to a vector space norm on interval space, thereby defining the real normed interval space T_{p}. This space has a normed subspace generated by monzos belonging to the just intonation group G, which in the case where G is a full *p*-limit will be the whole of T_{p} but otherwise might not be; this we call G-interval space. The dual space to G-interval space is G-tuning space, and on this we may define a dual norm. If *r*_{1}, *r*_{2}, … , *r*_{n} are a set of generators for G, which in particular could be a normal list and so define smonzos for G, then corresponding generators for the dual space can in particular be the sval generators. On this standard basis for G-tuning space we can express the dual norm canonically as the G-sval norm. If [*r*_{1} *r*_{2} … *r*_{n}] is the normal G generator list, then ⟨cents (*r*_{1}) cents (*r*_{2}) … cents (*r*_{n})] is a point, in unweighted coordinates, in G-tuning space, and the nearest point to it under the G-sval norm on the subspace of tunings of some abstract G-temperament S, meaning svals in the null space of its commas, is precisely the **L p tuning** L

_{p}(S).

In the special case where *p* = 2, this becomes L_{2} tuning. This is called *inharmonic TE* in Graham Breed's temperament finder.

## Applying the Hahn-Banach theorem

Suppose T = T_{p} (S) is an T_{p} tuning for the temperament S, and J is the JI tuning. These are both elements of G-tuning space, which are linear functionals on G-interval space, and hence the error map Ɛ = T - J is also. The norm ||Ɛ|| of Ɛ is minimal among all error maps for tunings of S since T is the T_{p} tuning. By the Hahn–Banach theorem, Ɛ can be extended to an element Ƹ in the space of full *p*-limit tuning maps with the same norm; that is, so that ||Ɛ|| = ||Ƹ||. Additionally, due to a corollary of Hahn-Banach, the set of such error maps valid for S can be extended to a larger set which is valid for an extended temperament S*; this temperament S* will be of rank greater than or equal to S, and will share the same kernel.
||Ƹ||, the norm of the full *p*-limit error map, must also be minimal among all valid error maps for S*, or the restriction of Ƹ to G would improve on Ɛ. Hence, as ||Ƹ|| is minimal, J* + Ƹ, where J* is the full *p*-limit JIP, must equal the T_{p} tuning for S*. Thus to find the T_{p} tuning of S for the group G, we may first find the T_{p} tuning T* for S*, and then apply it to the normal interval list giving the standard form of generators for G.

Note that while the Hahn-Banach theorem is usually proven using Zorn's lemma and does not guarantee any kind of uniqueness, in most cases there is only one L_{p} tuning and the extension of Ɛ to Ƹ is in that case unique. It is also easy to see that this can only be non-unique if *p* = 1 or *p* = Infinity, so that we may get a unique L_{p} tuning (called the "TIPTOP" tuning for *p* = Infinity) by simply taking the limit as *p* approaches our value.

## T_{2} tuning

In the special case where *p* = 2, the T_{p} norm for the full prime limit becomes the T_{2} norm, which when divided by the square root of the number *n* of primes in the prime limit, is the Tenney-Euclidean norm, giving TE complexity. Associated to this norm is T_{2} tuning extended to arbitrary JI groups, and RMS error, which for a tuning map T is ||(T - J)/*n* ||_{2} = ||T - J||_{RMS}.

For an example, consider indium temperament, with group 2.5/3.7/3.11/3 and comma basis 3025/3024 and 3125/3087. The corresponding full 11-limit temperament is of rank three, and using the usual methods, in particular the pseudoinverse, we find that the T_{2} (TE) tuning map is ⟨1199.552 1901.846 2783.579 3371.401 4153.996]. Applying that to 12/11 gives a generator of 146.995, and multiplying that by 1200.000/1199.552 gives a POT_{2} tuning, or extended POTE tuning, of 147.010. Converting the tuning map to weighted coordinates and subtracting ⟨1200 1200 1200 1200 1200] gives ⟨-0.4475 -0.0685 -1.1778 0.9172 0.7741]. The ordinary Euclidean norm of this, i.e. the square root of the dot product, is 1.7414, and dividing by sqrt (5) gives the RMS error, 0.77879 cents.

This is called *subgroup TE* in Graham Breed's temperament finder.

## See also

- Dave Keenan & Douglas Blumeyer's guide to RTT: tuning in nonstandard domains - for a generalization of the inharmonic and subgroup approaches to all regular temperament tuning schemes, beyond only T
_{p}tuning schemes as are discussed here (minimax-[math]q[/math]-(lp-)S tuning schemes, in D&D's naming system), and done in a more in-depth textbook tutorial style. This also includes an additional neutral approach which is not discussed here, a discussion of why one might choose one approach over the others, and demonstrations of how to compute tunings using each of the approaches, with examples.