# Generalized Tenney norms and Tp interval space

# Basics

It can be useful to define a notion of the "complexity" of an interval, so that small-integer ratios such as 3/2 are less complex and intervals such as 32805/32768 are more complex. This can be accomplished for any free abelian group of (subgroup) monzos by embedding the group in a normed vector space, so that the norm of any interval is taken to be its complexity. The monzos form a ℤ-module, with coordinates given by integers, and the vector space embedding can be constructed by simply allowing real coordinates, hence defining the module over ℝ instead of ℤ and giving it the structure of a vector space. The resulting space is called interval space, with the monzos forming the integer lattice of vectors with integer coordinates, but where we will allow any vector space norm on ℝⁿ.

The most important and natural norm which arises in this scenario is the **Tenney norm**, which we will explore below.

# The Tenney Norm (T1 norm)

The **Tenney norm**, also called **Tenney height**, is the norm such that for any monzo representing an interval a/b, the norm of the interval is log2(a·b). For a full-limit monzo |a b c d ...>, this norm can be calculated as |log2(2)·a| + |log2(3)·b| + |log2(5)·c| + |log2(7)·d| + ... . This is a variant of the ordinary L1 norm where each coordinate is weighted in proportion to the log2 of the prime that it represents. As we will soon see below, generalizations of the Tenney norm that correspond to other weighted Lp norms also exist; these we will call **Tp norms**, with the Tenney norm being designated the **T1 norm**.

Informally speaking, we can obtain the Tenney norm on an interval space for any JI group by applying these three steps:

- if the interval is a subgroup monzo, with coordinates in the subgroup basis, map it back to its corresponding full-limit monzo
- weight the axis for each prime p by log2(p)
- take the ordinary L1 norm of the result.

To formalize this idea in its full generality, the Tenney norm of any vector *v* in an interval space with associated JI group **G** can be expressed as follows:

[math]\left \| \vec{v} \right \|_{\textbf{T1}}^\textbf{G} = \left \| \mathbf{W_L} \cdot \mathbf{V_\textbf{G}} \cdot \vec{v} \right \|_\textbf{1}[/math]

where **VG** is a V-map in which the nth column is a monzo expressing the nth basis element of **G** in a suitable full-limit **L** containing all of **G** as a subgroup, **WL** is a diagonal weighting matrix in which the nth entry in the diagonal is the log2 of the nth prime in **L**, and the || · ||**1** on the right hand side of the equation is the L1 norm on the resulting full-limit real vector.

It is notable that, for interval spaces corresponding to a group of monzos where the basis is set to consist of only primes or prime powers, the Tenney norm of any interval *v* can be represented by the simpler expression

[math]\left \| \vec{v} \right \|_{\textbf{T1}}^\textbf{G} = \left \| \mathbf{W_G} \cdot \vec{v} \right \|_\textbf{1}[/math]

where **WG** is a diagonal "weighting matrix" such that the nth entry in the diagonal is the log2 of the interval represented by the nth coordinate of the monzo. For Tenney norms on these spaces, the unit sphere will look like the ordinary L1 unit sphere, but be dilated a different amount along each axis. Conversely, it is also important to note that that for groups for which the basis does *not* only consist of primes or prime powers, the unit sphere of the Tenney norm won't look like a dilated L1 unit sphere at all.

# Generalized Tenney Norms (Tp norms)

A useful generalization of the Tenney norm, called the **Generalized Tenney Norm**, **Tp norm**, or **Tp height**, can be obtained as follows:

[math]\left \| \vec{v} \right \|_{\textbf{Tp}}^\textbf{G} = \left \| \mathbf{W_L} \cdot \mathbf{V_\textbf{G}} \cdot \vec{v} \right \|_\textbf{p}[/math]

In this scheme the ordinary Tenney norm now becomes the **T1 norm**, and in general we call an interval space that's been given a Tp norm **Tp interval space**. We may sometimes notate this as **TpG**, where **G** is the associated group the interval space is built around.

Note that the || · ||**Tp** norm on the left side of the equation now has a subscript of Tp rather than T1, and that the || · ||**p** norm on the right side of the equation now has a subscript of p rather than 1. The Generalized Tenney Norm can thus be thought of as applying the same three-step process that the Tenney norm does, but where the last step can be an arbitrary Lp norm rather than restricting our consideration to the L1 norm.

Tp norms are thus generalizations of the Tenney norm which continue to weight the primes and prime powers as the Tenney norm does, but for which an arbitrary interval n/d may no longer have a complexity of log2(n·d). Furthermore, generalized Tp norms may sometimes differ from the T1 norm in their ranking of intervals by Tp complexity, although the Tp norm of any interval is always bounded by its T1 norm. However, despite these supposed theoretical disadvantages, there can be many indirect implications of using a Tp norm other than T1 which are theoretically justified; additionally, certain Tp norms are worth using as an approximation to T1 for their strong computational advantages. As such, Tp spaces are musically justified enough to merit further study, despite the surface advantages of sticking exclusively to the T1 norm.

# The Tenney-Euclidean Norm (TE norm, T2 norm)

The T2 norm is often called the **Tenney-Euclidean norm**, **TE norm**, or **TE height**, as it has the same relationship with Euclidean geometry that the T1 norm has with taxicab geometry. Applications involving the TE norm tend to be easy to compute, such as the host of TE-related metrics defined for rating temperaments(1)(2)(3). It approximates the T1 complexity of many intervals, although notably rates 9/1 as more complex than 15/1.

The T2 norm is also the only Tp norm that naturally defines an inner product, given by the matrix multiplication

[math]\left \langle \vec{v},\vec{w} \right \rangle_\textbf{G} = \vec{v}^T \cdot \left(\mathbf{V}^T_\mathbf{G} \cdot \mathbf{W}^2_\mathbf{L} \cdot \mathbf{V}_\mathbf{G} \right) \cdot \vec{w}[/math]

The matrix product (**VG**T · **WL**2 · **VG**) itself is a positive definite matrix, and as such defines the inner product for the TE norm. Note that this setup represents the vectors * v* and

*by column vectors, so that*

**w***T denotes a row vector. As was the case with Tp norms in general, this equation simplifies considerably when the group*

**v****G**takes as its basis only primes and prime powers, becoming instead

[math]\left \langle \vec{v},\vec{w} \right \rangle_\textbf{G} = \vec{v}^T \cdot \mathbf{W}^2_\mathbf{L} \cdot \vec{w}[/math]

In these cases, the relationship between the TE inner product and the ordinary Euclidean inner product becomes apparent; the former is simply a version of the latter which weights the coordinates of each vector.

# Examples

Say that we're in the 2.9/7.5/3 subgroup, and we want to find the T1 norm of |0 -2 1>. Then we can come up with a V-map **VG** for this subgroup in the 7-limit as follows:

[math]\left[ \begin{array}{rrrrrl} | & 1 & 0 & 0 & 0 & \rangle\\ | & 0 & 2 & 0 & -1 & \rangle\\ | & 0 & -1 & 1 & 0 & \rangle \end{array} \right][/math]

Note that the "rows" here are written in kets; this is a convention to signify that each ket, representing a monzo, is actually supposed to represent a column of the matrix as explained here.

We can also come up with a weighting matrix for the full-limit **WL** as follows:

[math]\begin{bmatrix} \log_2(2) & 0 & 0 & 0\\ 0 & \log_2(3) & 0 & 0\\ 0 & 0 & \log_2(5) & 0\\ 0 & 0 & 0 & \log_2(7) \end{bmatrix}[/math]

Given these matrices, the T1 norm of our subgroup basis monzo |0 -2 1>, which we will call **v**, can be found by taking the L1 norm of the resulting real vector **WL** · **VG** · **v**. This expression works out to

[math]\left \| \vec{v} \right \|_\mathbf{T1}^\mathbf{2.9/7.5/3} = \left \| \begin{bmatrix} \log_2(2) & 0 & 0 & 0\\ 0 & \log_2(3) & 0 & 0\\ 0 & 0 & \log_2(5) & 0\\ 0 & 0 & 0 & \log_2(7) \end{bmatrix} \cdot \left[ \begin{array}{rrrrrl} | & 1 & 0 & 0 & 0 & \rangle\\ | & 0 & 2 & 0 & -1 & \rangle\\ | & 0 & -1 & 1 & 0 & \rangle \end{array} \right] \cdot \left[ \begin{array}{rrrrl} | & 0 & -2 & 1 & \rangle \end{array} \right] \right \|_\mathbf{1}[/math]

which finally resolves to

[math]\left \| \vec{v} \right \|_\mathbf{T1}^\mathbf{2.9/7.5/3} = \left \| |0 \;-7.925 \;\; 2.322 \;\; 5.615 \rangle \right \|_\mathbf{1} = 15.861[/math]

Note that the value 15.861 is obtained by |0| + |-7.925| + |2.322| + |5.615|, which is the L1 norm of the vector.

To confirm this, we can put the subgroup basis monzo |0 -2 1> back into rational form to see that it represents the interval 245/243. As the L1 norm is supposed to give log(n·d) for any interval n/d, we can confirm that we have the right answer above by noting that log(245·243) is indeed equal to 15.861.