Skip to content

The Tensor Algebra

An algebraic way of expressing refinement

Here, we drop one last key bit of algebraic machinery, necessary before we can kick off our description of ring-switching. The goal is to define the tensor algebra, an algebraic object that plays an essential role in the technique.

Throughout our treatment thus far, we have often purposefully played on both sides of a divide: the formal–algebraic divide, let's say. (This motif traces back to the beginning). On the one hand, we have formal manipulations of lists and bits (things like splitting and concatenating). On the other hand, these operations simultaneously correspond to algebraic operations (like basis-combination and decomposition).

Our treatment of the tensor algebra will follow this trend. First, we will describe it in rather surface-level terms: just to keep things down-to-earth. On the other hand, there is always an algebraic story running in parallel with the formal one. That latter story will become essential when it comes time to evaluate.

First Description

As usual, we are going to fix two tower levels TιTτ\mathcal{T}_\iota \subset \mathcal{T}_\tau. We write κτ\kappa \coloneqq \tau - \ell; we recall that Tτ\mathcal{T}_\tau is a 2κ2^\kappa-dimensional vector space over Tτ\mathcal{T}_\tau, and that we have an association between Tτ\mathcal{T}_\tau-elements α\alpha and lists of Tι\mathcal{T}_\iota-elements (α0,,α2κ1)(\alpha_0, \ldots , \alpha_{2^\kappa - 1}).

In other words, Tτ\mathcal{T}_\tau-elements and lists of 2κ2^\kappa Tι\mathcal{T}_\iota-elements are "the same thing".

What if we make this idea two-dimensional? Nothing stops us from defining a square, 2κ×2κ2^\kappa \times 2^\kappa array, each of whose cells is a Tι\mathcal{T}_\iota-element. Let's write aa for just such an array.

The motivation thus far is lacking, but for starters, we can make a few points. First, by looking at aa's columns—and interpreting each one as a Tι\mathcal{T}_\iota-element—we can "cast" aa as an array of 2κ2^\kappa Tτ\mathcal{T}_\tau-elements (av)vBκ\left( a_v \right)_{v \in \mathcal{B}_\kappa}. Similarly, we can do an identical thing for aa's rows, yielding a different decomposition (au)uBκ\left( a_u \right)_{u \in \mathcal{B}_\kappa}. Thus, the square array aa has "two different decompositions at once". These will end up relating to each other in interesting ways.

Similarly, we can define the multiplication of aa by some element αTτ\alpha \in \mathcal{T}_\tau in two different ways. For one, we can multiply each column of aa by α\alpha; this will give us the column decomposition (aav)vBκ\left( a \cdot a_v \right)_{v \in \mathcal{B}_\kappa}. We can also multiply each row of aa by α\alpha, yielding (aau)uBκ\left( a \cdot a_u \right)_{u \in \mathcal{B}_\kappa}.

The Algebraic Side

As it happens, this object is nothing other than an algebraic one: namely, the Tι\mathcal{T}_\iota-algebra ATτTιTτA \coloneqq \mathcal{T}_\tau \otimes_{\mathcal{T}_\iota} \mathcal{T}_\tau. That is, it's the tensor product of Tτ\mathcal{T}_\tau with itself over its own subfield Tι\mathcal{T}_\iota. The whole thing takes place in the category of Tι\mathcal{T}_\iota-algebras. The column and row decompositions above fall out as basic properties of the tensor product, as do the multiplication operations. This entire setup is described in [DP24, § 2.5].

Two particular algebraic operations will prove especially important. Given a single Tτ\mathcal{T}_\tau-element, we can always view it as an AA-element, by inscribing it (in Tι\mathcal{T}_\iota-coordinates) into the leftmost column of a 2κ×2κ2^\kappa \times 2^\kappa array (and putting 0s elsewhere). This gives us the column embedding φ0:TτA\varphi_0 : \mathcal{T}_\tau \to A. Symmetrically, we can equally embed any Tτ\mathcal{T}_\tau-element into the top row; this gives a second embedding φ1:TτA\varphi_1 : \mathcal{T}_\tau \to A.

The key point is that these operations are algebraic and mathematically meaning, and not just formal; this fact will become crucial in what follows.