1 Introduction

1.1 Implicitisation

An important theme in computational algebraic geometry is implicitisation: given a list \((\varphi _1,\ldots ,\varphi _n)\) of polynomials in \(K[x_1,\ldots ,x_m]\), which represent a polynomial map \(\varphi \) from the m-dimensional affine space \({\mathbb A}^m\) to \({\mathbb A}^n\) over the field K, the challenge is to compute equations for the Zariski closure \(\overline{{\text {im}}(\varphi )}\) of the image of \(\varphi \). This challenge is solved, at least theoretically, by elimination using Buchberger’s algorithm; e.g. see [7, §3.3].

1.2 Implicitisation in Families

But now consider a scenario where one is given not a single polynomial map, but rather a family \(\varphi _i:{\mathbb A}^{m_i} \rightarrow {\mathbb A}^{n_i}\) of polynomial maps depending on a discrete parameter i that takes infinitely many values. If the ambient spaces \({\mathbb A}^{m_i}\) and \({\mathbb A}^{n_i}\) and the polynomial map \(\varphi _i\) vary favourably with i, it is sometimes possible to find finitely many equations that capture the image closures of all \(\varphi _i\) at once.

1.3 Implicitisation Over Categories

To make the phrase “vary favourably” concrete, assume that i ranges through the objects of a category C and \({\mathbb A}(i)\) is a finite-dimensional affine space varying functorially with i. This means that for each \(\pi \in {\text {Hom}}_C(i,j)\) we have a linear map \({\mathbb A}(\pi ):{\mathbb A}(i) \rightarrow {\mathbb A}(j)\) such that \({\mathbb A}({\text {id}}_i)={\text {id}}_{{\mathbb A}(i)}\) and \({\mathbb A}(\sigma \circ \pi )={\mathbb A}(\sigma ) \circ {\mathbb A}(\pi )\) for \(\sigma \in {\text {Hom}}_C(j,k)\). Suppose that \({\mathbb A}'(i)\) is another affine space depending functorially on \(i \in C\), and finally that, for any \(i \in C\), we have a polynomial map \(\varphi _i:{\mathbb A}(i) \rightarrow {\mathbb A}'(i)\) such that the following diagram commutes for every \(\pi \in {\text {Hom}}_C(i,j)\):

In this case, if f is a polynomial equation for the image closure \(\overline{{\text {im}}(\varphi _j)}\) of \(\varphi _j\), then \(f \circ {\mathbb A}'(\pi )\) is a polynomial equation for \(\overline{{\text {im}}(\varphi _i)}\)—and, since we assumed that \({\mathbb A}'(\pi )\) is linear, of the same degree. We then ask:

  1. (1)

    Do there exist finitely many \(j \in C\) such that the equations for those \(\overline{{\text {im}}(\varphi _j)}\), by pulling back along the linear maps \({\mathbb {A}}'(\pi )\) for all relevant \(\pi \), define \(\overline{{\text {im}}(\varphi _i)}\) for all \(i \in C\)?

  2. (2)

    If so, does there exist an algorithm for computing these finitely many j?

A well-known case where the answer to the two questions above is “yes” is that where C is the opposite category \(\mathbf {FI^{op}}\) of the category \(\textbf{FI}\) of finite sets with injections, \({\mathbb A}(i)=({\mathbb A}^n)^i\), \({\mathbb A}'(i)=({\mathbb A}^{n'})^i\) for some fixed n and \(n'\), and the maps \({\mathbb A}(i) \rightarrow {\mathbb A}(j), {\mathbb A}'(i) \rightarrow {\mathbb A}'(j)\) corresponding to an injection \(j \rightarrow i\) are the canonical projections. In that case, it is known that the kernel of the \(\textbf{FI}\)-homomorphism \(\varphi ^*\) dual to the \(\mathbf {FI^{op}}\)-polynomial map \(\varphi \) is finitely generated and can be computed using a version of Buchberger’s algorithm, and this has been applied to problems in algebraic statistics [4, 5, 15,16,17]. The setting discussed in the current paper is of a very different flavour in that it involves continuous symmetries rather than discrete symmetries, and it is also significantly more complicated. One cause for trouble is that in the setting below, we do not actually know whether the kernel of the relevant algebra homomorphism is finitely generated, and so we have to settle for finding set-theoretic equations for the \(\overline{{\text {im}}(\varphi _i)}\).

1.4 Implicitisation in Polynomial Functors

In the case where C is the category \(\textbf{Vec}\) of finite-dimensional K-vector spaces, and both \({\mathbb A}\) and \({\mathbb A}'\) are polynomial functors \(\textbf{Vec}\rightarrow \textbf{Vec}\) (see Sect. 2.3 for definitions), the second author established a positive answer to the first question above [9]; see Theorem 2.4.2.

Example 1.4.1

Here are two instances of this setting:

  1. (1)

    \({\mathbb A}(V)=V^k\) for some positive integer k, \({\mathbb A}'(V)=S^3 V\), the third symmetric power of V, and

    $$\begin{aligned} \varphi _V(v_1,\ldots ,v_k):=v_1^3 + \cdots + v_k^3. \end{aligned}$$

    The image of \(\varphi _V\) is the set of cubic homogeneous polynomials in \(\dim (V)\) variables of Waring rank \(\le k\), and its closure is the variety of polynomials of border Waring rank \(\le k\).

  2. (2)

    \({\mathbb A}(V)=(S^2 V)^k \times V^k\), \({\mathbb A}'(V)=S^3 V\), and

    $$\begin{aligned} \varphi _V(q_1,\ldots ,q_k,v_1,\ldots ,v_k):=q_1 v_1 + \cdots + q_k v_k. \end{aligned}$$

    In this case, the image of \(\varphi _V\) is closed [8] and consists of the cubics of q-rank (also called slice rank or Schmidt rank in the literature) \(\le k\).

In the first case, it is well known that generators of the vanishing ideal of \(\overline{{\text {im}}(\varphi _U)}\) for U of dimension \(k+1\) pull back to generators of the ideal of \(\overline{{\text {im}}(\varphi _V)}\) for all V; this is called symmetric inheritance in [19]. Much more is known for small values of k; in particular, for \(k \le 2\), the ideal is generated by \(3 \times 3\)-minors of catalecticant matrices [22].

In the second case, we do not know whether the ideal is finitely generated in this sense, but [8] assures the existence of a number \(\ell =\ell (k)\) such that equations for \(\overline{{\text {im}}(\varphi _U)}\) with U of dimension \(\ell \) pull back to equations that define \(\overline{{\text {im}}(\varphi _V)}\) for all V set-theoretically. No explicit value of \(\ell (k)\) is known, even for \(k=2\). \(\diamondsuit \)

In many respects, the q-rank example is much more difficult than the Waring rank example. The main reason for this is that the source \({\mathbb A}\) is a polynomial functor of degree 2, whereas \({\mathbb A}\) has degree 1 in the first case. Nevertheless, Theorem 2.4.2 implies, for general polynomial functors \({\mathbb A},{\mathbb A}'\) and morphisms \(\varphi \), the existence of a U such that in \({\mathbb A}'(U)\) one sees enough set-theoretic equations to define \(\overline{{\text {im}}(\varphi _V)}\) for all V.

1.5 Main Result

The main result of this paper makes Theorem 2.4.2 effective.

Theorem 1.5.1

(Main Theorem; see Theorem 4.1.1 for a more precise statement) There exists an algorithm \(\textbf{implicitise}\) that, on input polynomial functors \({\mathbb A},{\mathbb A}'\) and a morphism \(\varphi :{\mathbb A}\rightarrow {\mathbb A}'\), computes a \(U \in \textbf{Vec}\) such that the equations for \(\overline{{\text {im}}(\varphi _U)}\) pull back to set-theoretic defining equations for \(\overline{{\text {im}}(\varphi _V)}\) for all V.

This means, in particular, that the number \(\ell (k)\) for the cubics of q-rank at most any fixed k can in principle be computed.

1.6 Structure of the Algorithm

The structure of \(\textbf{implicitise}\) is as follows. For \(U=K^0,K^1,K^2,\ldots \), one computes equations for \(\overline{{\text {im}}(\varphi _U)}\) using Buchberger’s algorithm. By Theorem 2.4.2, we know that at some point these equations, via pull-back, define \(\overline{{\text {im}}(\varphi _V)}\) for all V. However, Theorem 2.4.2 does not give a criterion for when we may stop—this is different from the algorithm in the \(\textbf{FI}\)-setting: there, if one has not seen new equations arise between the finite set \(\{1,\ldots ,n\}\) and the finite set \(\{1,\ldots ,2n\}\), one is guaranteed to have found a generating set of equations [4].

To obtain a stopping criterion in the polynomial functor setting, we derive an algorithm \(\textbf{parameterise}\) that, on input the polynomial equations on \({\mathbb A}'(U)\) found so far, computes a parameterisation \(\psi \) of the closed subset of \({\mathbb A}'\) defined by those equations. If we can check that \({\text {im}}(\psi ) \subseteq \overline{{\text {im}}(\varphi )}\), then we are done.

That such a parameterisation \(\psi \) exists is guaranteed by the unirationality theorem from [2]. The algorithm \(\textbf{parameterise}\) makes this theorem effective.

Finally, to check that \({\text {im}}(\psi )\) lies in the closure of \({\text {im}}(\varphi )\), we pass to infinite dimensions and use a result from [3] that says that this happens if and only if a suitably generic point of \({\text {im}}(\psi _\infty )\) can be reached as the limit of a curve in \({\text {im}}(\varphi _\infty )\). In the current paper, we show that this curve, which lives in infinite-dimensional space, can be represented in finite terms, and searched for, on a computer.

If such a curve does not exist, i.e. if \({\text {im}}(\psi )\) is not contained in \(\overline{{\text {im}}(\varphi )}\), then this is because the current space U is too small. In this case, the search for a curve does not terminate. So for our algorithm \(\textbf{implicitise}\) to terminate, it is imperative to run the search for witness curves in parallel to the search for equations: in each step, U is increased with one dimension, new equations are computed, and a new curve search is started. We model this behaviour by running the algorithm on countably many parallel processors. Of course, standard results in the theory of computation imply that this algorithm can then also run on an ordinary Turing machine (see, e.g. [20]).

1.7 Outlook

The algorithms \(\textbf{implicitise}\) and \(\textbf{parameterise}\) are very much theoretical algorithms, and—apart from recent research on varieties over categories—they rely on many powerful results from classical, finite-dimensional, computational algebra: Buchberger’s algorithm, of course, but also algorithms for computing the radical of an ideal and for computing the minimal primes containing a radical ideal. Also, a fair amount of representation theory of the general linear group goes into the algorithm.

At present, a general implementation of \(\textbf{implicitise}\) and \(\textbf{parameterise}\) seems entirely out of reach. However, we believe that our computational approach to implicitisation in polynomial functors will in the future serve as a guide towards finding equations in concrete settings, e.g. for the variety of cubics of q-rank \(\le 2\) from Example 1.4.1.

1.8 Organisation of the Paper

In Sect. 2, we collect material that we will need in the rest of the paper: some assumptions on the ground field, computer representations of finite-dimensional affine varieties, polynomial functors and their closed subsets, and morphisms between these.

In Sect. 3, we derive the algorithm \(\textbf{parameterise}\); see Theorem 3.1.1. In Sect. 4, we derive the algorithm \(\textbf{implicitise}\) and prove our Main Theorem; see Theorem 4.1.1 for a more precise statement.

Finally, \(\textbf{implicitise}\) depends on a procedure called \(\textbf{certify}\) that aims at certifying the existence of a curve as discussed in Sect. 1.6. This procedure requires tools from infinite-dimensional algebraic geometry, both from the paper [3] and from more classical sources. In particular, it is Greenberg’s approximation theorem (Theorem 5.5.1) from [13] and its effective version in [23] which allows us to represent this curve in finite terms.

2 Preliminaries

2.1 The Ground Field

Let K be a field of characteristic zero in which we can do computations on a computer. More precisely, we want K to be a computable field, and we further require that there exists an algorithm for factoring polynomials in K[X]. The class of such fields is quite large; it includes \({\mathbb Q}\) and its finitely generated extensions [14, Appendix B].

2.2 Finite-Dimensional Affine Varieties

A finite-dimensional affine variety over K is represented by a finite list of generators of a radical ideal in some polynomial ring over K with finitely many variables. We will only consider varieties over K, and in particular the adjective irreducible will refer to irreducibility over K. A morphism between affine varieties over K is represented by a finite list of polynomials. Our algorithms will intensively use existing algorithms for dealing with affine varieties. Good general references are [6, 7]. In particular, we will need algorithms for computing the radical of an ideal; see, e.g. [18].

If R is a K-algebra and h is an element of R, then we write R[1/h] for the localisation. Similarly, if B is a finite-dimensional affine variety and h an element of K[B], then we write B[1/h] for the basic open subset defined by h, i.e. the affine variety with coordinate ring K[B][1/h].

2.3 Polynomial Functors

Let \(\textbf{Vec}\) be the category of finite-dimensional K-vector spaces. We write \({\text {Hom}}(U,V)\) and \({\text {End}}(U)\) for the spaces of K-linear maps \(U \rightarrow V\) and \(U \rightarrow U\), respectively.

Definition 2.3.1

A polynomial functor of degree at most d over K is a covariant functor \(P:\textbf{Vec}\rightarrow \textbf{Vec}\) such that for any \(U,V \in \textbf{Vec}\) the map \(P:{\text {Hom}}(U,V) \rightarrow {\text {Hom}}_{P(U),P(V)}\) is polynomial of degree at most d. Polynomial functors of degree at most d form an abelian category in which a homomorphism \(P \rightarrow Q\) is a natural transformation, i.e. given by a linear map \(\psi _U:P(U) \rightarrow Q(U)\) for each \(U \in \textbf{Vec}\), such that for all \(\varphi \in {\text {Hom}}(U,V)\) we have \(Q(\varphi ) \circ \psi _U = \psi _V \circ P(\varphi )\). \(\diamondsuit \)

When we say polynomial functor, we will always mean a polynomial functor of degree at most some integer. A priori, a polynomial functor seems to be given by an infinite amount of data. But up to isomorphism, the following lemma due to Friedlander–Suslin [11, Lemma 3.4] implies that it is given by a finite amount of data only.

Lemma 2.3.2

[11] The map from polynomial functors of degree at most d to \({\text {GL}}_d\)-representations that assigns to P the vector space \(P(K^d)\) with the algebraic group homomorphism \({\text {GL}}_d \rightarrow {\text {GL}}(P(K^d)), \varphi \mapsto P(\varphi )\) is an equivalence of abelian categories from polynomial functors of degree at most d to polynomial \({\text {GL}}_d\)-representations of degree at most d.

Here, a homomorphism \(\rho :{\text {GL}}_d \rightarrow {\text {GL}}(W)\) of algebraic groups is called polynomial of degree at most d if it extends to a polynomial map \({\text {End}}(K^d) \rightarrow {\text {End}}(W)\) of degree at most d. For our algorithmic purposes, it is important that the proof of the Friedlander–Suslin lemma, and in particular the map back, is completely constructive. We sketch this map back.

Proof

(Construction of the inverse map in the Friedlander–Suslin Lemma) By polynomiality, \(\rho \) extends to a polynomial map \(\rho :M_d \rightarrow {\text {End}}(W)\), where \(M_d:={\text {End}}(K^d)\), and this extension is a monoid homomorphism. Dually, this gives an algebra homomorphism \(K[{\text {End}}(W)] \rightarrow K[M_d]\) that restricts to a linear map from \({\text {End}}(W)^*\) to the space \(K[M_d]_{\le d}\) of polynomials of degree \(\le d\) in the standard coordinates \(x_{ij}\) on \(M_d\). Dualising once again, we obtain a map \(\tilde{\rho }:S:=K[M_d]_{\le d}^* \rightarrow {\text {End}}(W)\). By a similar construction, now applied to the multiplication \(M_d \times M_d \rightarrow M_d\) instead of \(\rho \), S becomes an associative algebra, and \(\tilde{\rho }\) is an algebra homomorphism, so W is a left S-module. (This actually gives an equivalence of categories between polynomial \({\text {GL}}_d\)-representations of degree \(\le d\) and S-modules.) Now let \(V \in \textbf{Vec}\) be arbitrary. Then, \({\text {Hom}}(K^d,V)\) is a right \(M_d\)-module, and by a construction like above applied to the map \({\text {Hom}}(K^d,V) \times M_d \rightarrow {\text {Hom}}(K^d,V)\), the space \(K[{\text {Hom}}(K^d,V)]_{\le d}^*\) becomes a right S-module. Finally, define \(P(V):=K[{\text {Hom}}(K^d,V)]_{\le d}^* \otimes _S W\). This is the polynomial functor corresponding to \(\rho \). \(\square \)

The Friedlander–Suslin lemma is relevant to us for two reasons. First, since polynomial representations of \({\text {GL}}_d\) are completely reducible and the irreducible ones are completely classified by combinatorial data, the same holds for polynomial functors. The consequence is that each polynomial functor of degree at most d is a direct sum of Schur functors: functors of the form \(S_\lambda : V \mapsto {\text {Hom}}_{S_e}(U_\lambda ,V^{\otimes e})\), where \(e \le d\), \(\lambda \) is a partition of e, and \(U_\lambda \) is the corresponding irreducible representation of the symmetric group \(S_e\) on e letters. So we may represent a polynomial functor by a finite tuple of partitions. Second, the above shows that the Friedlander–Suslin lemma is completely constructive: it can be transformed into algorithms that, using basic linear algebra, compute the following data from a polynomial representation \(\rho \) of \({\text {GL}}_d\) of degree \(\le d\) corresponding to a polynomial functor P:

  • (a basis for) P(V) on input V;

  • (a matrix for) \(P(\varphi ):P(U) \rightarrow P(V)\) on input a linear map \(\varphi :U \rightarrow V\); and

  • (a matrix for) \(\psi _V:P(V) \rightarrow Q(V)\) on input a second polynomial \({\text {GL}}_d\)-representation of degree \(\le d\) representing the polynomial functor Q, as well as homomorphism of \({\text {GL}}_d\)-representations.

We will not make these algorithms explicit here.

Each polynomial functor P of degree at most d is a direct sum of homogeneous polynomial functors: \(P=P_0 \oplus \cdots \oplus P_d\), where

$$\begin{aligned} P_e(V):=\{p \in P(V) \mid P(t \cdot \text {id}_V)p=t^e p\}. \end{aligned}$$

In particular, \(P_0\) is a degree-0 polynomial functor, which assigns a fixed vector space, also denoted \(P_0\), to every V and the identity \({\text {id}}_{P_0}\) to every linear map \(\varphi \in {\text {Hom}}(U,V)\). We call P pure if \(P_0 = 0\), and we call \(P_1 \oplus \cdots \oplus P_d\) the pure part of P.

2.4 Closed Subsets of Polynomial Functors

Definition 2.4.1

A closed subset X of a polynomial functor P over K is the data of a closed subvariety X(V) of \(\overline{K} \otimes P(V)\) defined over K such that for each \(\varphi \in {\text {Hom}}(U,V)\) the linear map \(1 \otimes P(\varphi )\) maps X(U) into X(V). \(\diamondsuit \)

We take points with coordinates in \(\overline{K}\) because K might not be large enough to see all points. On the other hand, our algorithm will always work over K itself, and all varieties will be defined over K. In fact, we shall usually drop the \(\overline{K}\) from the notation and just write closed subvariety X(V) of P(V) and \(P(\varphi ):X(U) \rightarrow X(V)\) in the above setting. This is not different from the classical setting of implicitisation, where one computes the equations of the Zariski closure in \(\overline{K}^n\) of the image of a polynomial map \(\overline{K}^m \rightarrow \overline{K}^n\) which is defined over K.

For a closed subset X of a polynomial functor P and a linear map \(\varphi \in {\text {Hom}}(U,V)\), we will write \(X(\varphi ):X(U) \rightarrow X(V)\) for the restriction of \(P(\varphi )\) to X(U). Note that, in particular, the map \({\text {GL}}(V) \times X(V) \rightarrow X(V), (g,x) \mapsto X(g)(x)\) defines an algebraic action of \({\text {GL}}(V)\) on X(V), for each \(V \in \textbf{Vec}\). So this paper is concerned with (typically) highly symmetric varieties, related by linear maps coming from linear maps between distinct vector spaces.

If X is a closed subset of P, then the variety \(B:=X(0)\) is a closed subvariety of \(P(0)=P_0\). For each \(V \in \textbf{Vec}\), the zero map \(0_{V,0}: V \rightarrow 0\) maps X(V) to X(0), and indeed onto X(0), because for any \(p_0 \in X(0) \subseteq P(0)\) we have

$$\begin{aligned} p_0=P(0_{V,0} \circ 0_{0,V})p_0=P(0_{V,0})(P(0_{0,V})p_0) \in P(0_{V,0})(X(V)) \end{aligned}$$

where we have used that P is a functor and X is a closed subset of P. Hence for each V, X(V) is a closed subset of \(B \times P'(V)\), where \(P'\) is the pure part of P, such that X(V) maps surjectively to B. We will also say that X is a closed subset of \(B \times P'\).

The following theorem with its corollary implies that a closed subset X of a polynomial functor P can be represented on a computer.

Theorem 2.4.2

[9] Let P be a polynomial functor and let \(X_1 \supseteq X_2 \supseteq \ldots \) be a descending chain of closed subsets of P. Then, this chain stabilises, i.e. there exists \(n_0\) such that \(X_{n_0} = X_{n_0 + 1} = \ldots \)

Corollary 2.4.3

For each closed subset \(X \subseteq P\), there exists a vector space \(U \in \textbf{Vec}\) with the property that for all \(V \in \textbf{Vec}\) we have

$$\begin{aligned} X(V)=\bigcap _{\varphi \in {\text {Hom}}(V,U)} P(\varphi )^{-1}(X(U)). \end{aligned}$$

Proof

For every \(n\in {\mathbb N}\) consider the closed subset \(X_n\) in P defined by

$$\begin{aligned} X_n(V):=\bigcap _{\varphi \in {\text {Hom}}(V,K^n)} P(\varphi )^{-1}(X(K^n)). \end{aligned}$$

Using that P is a polynomial functor and X is a closed subset, we can see that for all n, \(X_n(K^n) = X(K^n)\) and that \(X_1 \supseteq X_2 \supseteq \ldots \) is a descending chain. By Theorem 2.4.2, this chain stabilises at, say, \(X_{n_0}\), and hence for \(n\ge n_0\), \(X(K^n) = X_n(K^n) = X_{n_0}(K^n)\). Using that X is a closed subset, we get the same for \(n<n_0\). Hence, \(X=X_{n_0}\), and the corollary holds for \(U=K^{n_0}\). \(\square \)

Consequently, if \(f_1,\ldots ,f_k \in K[P(U)]\) are defining equations for X(U), then the pull-backs of the \(f_i\) along all linear maps \(P(\varphi ):P(V) \rightarrow P(U)\) cut out X(V). We then write \(X=\mathcal {V}_P(f_1,\ldots ,f_k)\). The tuple consisting of P, U, and \((f_1,\ldots ,f_k)\) together form a computer representation of X. Slightly more generally, we will often represent X as follows.

Definition 2.4.4

Let B be a finite-dimensional affine variety, P a pure polynomial functor, U a finite-dimensional vector space, and \(f_1,\ldots ,f_k \in K[B \times P(U)]\). The tuple \((B,P,U,f_1,\ldots ,f_k)\) is called the implicit representation of the closed subset X of \(B \times P\) defined by

$$\begin{aligned} X(V)=\{(b,p') \mid \forall \varphi \in {\text {Hom}}(V,U) \ \forall i=1,\ldots ,r: f_i(b,P(\varphi )p')=0\}. \qquad \diamondsuit \end{aligned}$$

Again by Corollary 2.4.3, every closed subset of \(B \times P\) admits an implicit representation. Here, we allow that some of the \(f_i\) are nonzero elements of K[B], so that X does not map surjectively to B but rather onto a closed subvariety of B.

2.5 Irreducibility

Definition 2.5.1

Let B be a finite-dimensional affine variety, Q a pure polynomial functor, and X a closed subset of \(B \times Q\). Then, X is called irreducible if \(X \ne \emptyset \) and whenever \(X=X_1 \cup X_2\) where \(X_1,X_2\) are closed subsets of \(B \times Q\) (as always, defined over K), we have \(X=X_1\) or \(X=X_2\). \(\diamondsuit \)

A straightforward check shows that X is irreducible if and only if X(V) is irreducible for each \(V \in \textbf{Vec}\) (i.e. not the union of two closed proper subsets defined over K); in particular, \(B \times Q\) is irreducible if and only if B is irreducible. Note that since K may not be algebraically closed, irreducibility in our sense may not imply irreducibility over \(\overline{K}\).

2.6 Gradings and Ideals

For any polynomial functor \(P=P_0 \oplus \cdots \oplus P_d\), and any \(V \in \textbf{Vec}\), the coordinate ring \(K[P(V)] \cong \bigotimes _{e=0}^d K[P_e(V)]\) is a graded polynomial ring in which the coordinates on \(K[P_e(V)]\) are given the degree e. A polynomial f is homogeneous of degree n with respect to this grading if and only if \(f(P(t \cdot {\text {id}}_V) p)=t^n f(p)\) for all \(p \in P(V)\). If X is a closed subset of P, then X(V) is preserved under \(P(t \cdot {\text {id}}_V)\) for all t, and hence the ideal of X(V) is homogeneous.

Similarly, for B a finite-dimensional affine variety and P a pure polynomial functor, \(K[B \times P(V)]\) has a standard grading in which the elements of K[B] have degree 0, and the ideal of any closed subset X of \(B \times P\) is homogeneous.

We find that the coordinate rings K[X(V)], for X a closed subset of a polynomial functor P of degree at most d (or for X a closed subset of \(B \times P\) with P a pure polynomial functor of degree d), have standard gradings and are generated in degree at most d. A straightforward computation shows that for each \(\varphi \in {\text {Hom}}(U,V)\), the pull-back \(X(\varphi )^*:K[X(V)] \rightarrow K[X(U)]\) is a graded K-algebra homomorphism.

2.7 Morphisms

Definition 2.7.1

Let XY be closed subsets of polynomial functors. Then, a morphism \(\alpha :X \rightarrow Y\) is given by a morphism \(\alpha _V:X(V) \rightarrow Y(V)\) of affine varieties over K for each \(V \in \textbf{Vec}\) such that for all \(\varphi \in {\text {Hom}}(U,V)\) we have \(Y(\varphi ) \circ \alpha _U=\alpha _V \circ X(\varphi )\). \(\diamondsuit \)

By taking for \(\varphi \) scalar multiples of the identity, one finds that the pull-back \(\alpha _V^*\) is a graded K-algebra homomorphism.

Lemma 2.7.3 ensures that we can represent morphisms on a computer. First, the following generalises a well-known property of finite-dimensional affine varieties (see [1, Proposition 1.3.22]).

Lemma 2.7.2

If X is a closed subset of a polynomial functor P and Y is a closed subset of a polynomial functor Q, then any morphism \(X \rightarrow Y\) extends to a morphism \(P \rightarrow Q\).

Lemma 2.7.3

Let XY be closed subsets of polynomial functors of degree at most d. Then, a morphism \(\alpha :X \rightarrow Y\) is uniquely determined by \(\alpha _{K^d}:X(K^d) \rightarrow Y(K^d)\), and this unique determination is algorithmic in the sense that if \(\alpha _{K^d}\) is known, then \(\alpha _V\) can be computed for any \(V \in \textbf{Vec}\).

Proof

By Lemma 2.7.2, \(\alpha \) extends to a morphism \(\beta :P \rightarrow Q\), where X,Y are closed subsets in the degree-\(\le d\) polynomial functors PQ. Now for each \(e=0,\ldots ,d\), the restriction of \(\beta _V^*:Q_e(V)^* \rightarrow K[P(V)]_{e}\) defines, as V varies, a homomorphism from the polynomial functor \(V^* \mapsto Q_e(V)^*\) to the polynomial functor \(V^* \mapsto K[P(V)]_e\), both of degree e (except that \(K[P(V)]_e\) is not finite-dimensional if \(P_0 \ne 0\), but we may replace it by its image). Then, we apply the Friedlander–Suslin lemma to conclude that this homomorphism is uniquely determined by its evaluation at \(V=K^d\). The algorithmicity follows from the algorithmicity of the Friedlander–Suslin lemma. \(\square \)

Remark 2.7.4

A special instance of the lemma is when \(X=P\) and \(Y=Q\), with PQ pure polynomial functors of degree \(\le d\). In this case, the space of morphisms \(\textbf{Map}(P,Q)\) is a finite-dimensional vector space over K, namely, the direct sum for \(e=1,\ldots ,d\) of the space of \({\text {GL}}_d\)-equivariant linear maps \(Q_e(V)^* \rightarrow K[P(V)]_e\), where \(V=K^d\). This space will be important to us towards the end of the paper. \(\diamondsuit \)

Remark 2.7.5

We will often consider morphisms \(\alpha : A \times P \rightarrow B \times Q\), where AB are finite-dimensional varieties over K and PQ are pure polynomial functors. Such a morphism decomposes into a morphism \(\alpha ^{(0)}:A \rightarrow B\) and a morphism \(\alpha ^{(1)}:A \times P \rightarrow Q\); here we use that \(\alpha _V^*\) preserves the degree and that the coordinates on B have degree zero (see Sect. 2.6), and hence their images cannot involve the positive-degree coordinates on P. If A is irreducible, then \(\alpha ^{(1)}\) can be thought of as a K(A)-valued point of the finite-dimensional affine space \(\textbf{Map}(P,Q)\); this will be a useful point of view later. \(\diamondsuit \)

2.8 Shifting

Definition 2.8.1

Any fixed \(U \in \textbf{Vec}\) defines a covariant polynomial functor \(\textrm{Sh}_U:\textbf{Vec}\rightarrow \textbf{Vec}\) of degree 1 by \(\textrm{Sh}_U(V)=U\oplus V\) and, for \(\varphi :V \rightarrow W\), \(\textrm{Sh}_U(\varphi )={\text {id}}_U \oplus \varphi \). If P is a polynomial functor of degree d, then \(\textrm{Sh}_U P:=P \circ \textrm{Sh}_U\) is also a polynomial functor of degree d, called the shift over U of P. \(\diamondsuit \)

The top-degree parts of \(\textrm{Sh}_U P\) and P are canonically isomorphic [9, Lemma 14]. If X is a closed subset of P, then \(\textrm{Sh}_U X:=X \circ \textrm{Sh}_U\) is a closed subset of \(\textrm{Sh}_U P\). Note that \((\textrm{Sh}_U X)(0)=X(U)\), so shifting has the effect of making the finite-dimensional base variety larger. More precisely, if X is a closed subset of \(B \times P\) with P a pure polynomial functor, then \(\textrm{Sh}_U X\) is a closed subset of \((B \times P(U)) \times P'\) where \(P'\) is the pure part of \(\textrm{Sh}_U P\).

2.9 An Order on Polynomial Functors

Definition 2.9.1

A polynomial functor Q is a subfunctor of P when \(Q(V) \subseteq P(V)\) for all V and \(Q(\varphi ) = P(\varphi )|_{Q(V)}\) for all \(\varphi \in {\text {Hom}}(V, W)\). In this case, the quotient P/Q is defined by \((P/Q)(V):= P(V)/Q(V)\). \(\diamondsuit \)

Definition 2.9.2

We call a polynomial functor Q smaller than a polynomial functor P if the two are not isomorphic and for the largest e such that \(Q_e\) is not isomorphic to \(P_e\), the former is a quotient of the latter. \(\diamondsuit \)

Using the Friedlander–Suslin lemma, one can show that this is a well-founded order on polynomial functors [9, Lemma 12].

2.10 Summary

We have now indicated computer representations for all the mathematical objects that we will need below: finite-dimensional affine varieties, polynomial functors, closed subsets of the latter and morphisms between these. Furthermore, we have introduced two tools in the design and analysis of our algorithms: shifting and a well-founded order on polynomial functors.

3 Parameterisation

3.1 The Result

The goal of this section is to prove the following theorem.

Theorem 3.1.1

There exists an algorithm \(\textbf{parameterise}\) that, on input a finite-dimensional affine variety B, a pure polynomial functor Q, a finite-dimensional vector space U over K, and elements \(f_i \in K[B \times Q(U)]\) for \(i=1,\ldots ,k\), computes \((A;P;\beta )\) where A is a finite-dimensional affine variety, P is a pure polynomial functor, and \(\beta \) is a morphism \(A \times P \rightarrow B \times Q\), defined over K, such that for each finite-dimensional K-vector space V we have

$$\begin{aligned}&\beta (A(\overline{K}) \times \overline{K} \otimes P(V)) \\&= \{ (b,q) \in B(\overline{K}) \times \overline{K} \otimes Q(V) \mid \forall i\ \forall \varphi \in {\text {Hom}}_K(V,U):\ f_i(b, 1 \otimes Q(\varphi )q) =0 \}. \end{aligned}$$

Here, \(Z(\overline{K})\) means the \(\overline{K}\)-points of a finite-dimensional affine variety Z defined over K, i.e. the set of K-algebra homomorphisms \(K[Z] \rightarrow \overline{K}\). If Z is just a vector space over K, then this means \(\overline{K} \otimes Z\). In what follows, to simplify notation, we will supress \(\overline{K}\) and write \((b,q) \in B \times Q(V)\) when we really mean \((b,q) \in B(\overline{K}) \times Q(V)(\overline{K})\), and for a \(\varphi \in {\text {Hom}}_K(V,W)\) we will write \((b,Q(\varphi )q) \in B \times Q(W)\) instead of \((b,(1 \otimes Q(\varphi ))q) \in B(\overline{K}) \times Q(W)(\overline{K})\). This is analogous to Definition 2.4.1 in the case of closed subsets, where X(V) denotes the \(\overline{K}\)-points of the given variety.

We write \(X:=\mathcal {V}_{B \times Q}(f_1,\ldots ,f_k)\), so that X(V) is the set on the right-hand side above. This is the closed subset of \(B \times Q\) that we want to parameterise.

Remark 3.1.2

We allow A to be reducible, even when B is irreducible. The fact that \(\alpha :A \times P \rightarrow B \times Q\) as in the theorem exists is [1, Theorem 4.2.5]; see also [2, Proposition 5.6]. If B is indeed irreducible, then for some irreducible component \(A'\) of A the restriction of \(\alpha \) to \(A' \times P\) is dominant into \(\mathcal {V}_{B \times Q}(f_1,\ldots ,f_k)\). \(\diamondsuit \)

3.2 Smearing Out Equations

Before proving the theorem, we introduce an algorithm that computes the equations for any single instance X(V).

Proposition 3.2.1

There exists an algorithm \(\textbf{smear}\), that, on the same input as \(\textbf{parameterise}\) plus a finite-dimensional vector space V, outputs generators of the radical ideal of \(X(V) \subseteq K[B \times Q(V)]\).

Proof

The algorithm \(\textbf{smear}(B;Q;U;f_1,\ldots ,f_k;V)\) proceeds as follows: choose identifications \(U=K^m\) and \(V=K^n\) and construct the generic matrix

$$\begin{aligned} \psi :=\sum _{i=1}^{\dim U} \sum _{j=1}^{\dim V} z_{ij} E_{ij} \in K[(z_{ij})_{ij}] \otimes {\text {Hom}}_K(V,U), \end{aligned}$$

where the \(E_{ij}\) form the standard basis of \({\text {Hom}}_K(V,U)\). Then compute \(Q(\psi ) y \in K[(z_{ij})_{ij}] \otimes Q(U)\), where \(y=(y_1,\ldots ,y_{\dim Q(V)})^T\) represents a point of \(Q(V) \cong K^{\dim Q(V)}\) with variables as coordinates, substitute \(Q(\psi )y\) into the \(f_i\), and expand as a polynomial in the \(z_{ij}\) with coefficients in \(K[B][y_1,\ldots ,y_{\dim Q(V)}] \cong K[B \times Q(V)]\). Finally, return generators of the radical of the ideal generated by all these coefficients. The correctness of this algorithm follows from the fact that those coefficients span the same space as the images of the \(f_i\) under pull-back along the linear maps \(Q(\varphi ):Q(V) \rightarrow Q(U)\) for all \(\varphi \in {\text {Hom}}(V,U)\). \(\square \)

3.3 The Parameterisation Algorithm

The algorithm \(\textbf{parameterise}\) is recursive and proceeds as follows; the algorithmic part is written in normal font, text that will be used in the analysis in italic. The proofs of termination and correctness are below.

  1. (1)

    If \(Q=0\), then compute the variety \(A \subseteq B\) defined by \(f_1,\ldots ,f_k\) via a radical ideal computation, return \((A;0; A \hookrightarrow B)\), and exit.

  2. (2)

    Decompose \(Q=Q' \oplus R\) where R is an irreducible subfunctor of the top-degree part of Q. This corresponds to choosing a partition in the tuple representing Q. Let \(x_1,\ldots ,x_n\) be a basis of \(R(U)^*\). We regard elements in \(K[B \times Q(U)] \cong K[B \times Q'(U)] \otimes K[R(U)] \cong K[B \times Q'(U)][x_1,\ldots ,x_n]\) as polynomials in \(x_1,\ldots ,x_n\) with coefficients in \(K[B \times Q'(U)]\).

  3. (3)

    Compute

    $$\begin{aligned} (f_1',\ldots ,f'_r):=\textbf{smear}(B;Q;U;f_1,\ldots ,f_k;U) \end{aligned}$$

    and a Gröbner basis \((g_1,\ldots ,g_l)\) of the elimination ideal in \(K[B \times Q'(U)]\) obtained by eliminating all \(x_i\) from \(f_1',\ldots ,f'_r\). The elements \(f_1',\ldots ,f'_r\) generate the radical ideal of X(U) in \(B \times (Q'(U) \oplus R(U))\). Let \(X'(V)\) be the closure of the image of X(V) under projection \(B \times Q(V) \rightarrow B \times Q'(V)\), so \(X'\) is a closed subset of \(B \times Q'\). Then \(g_1,\ldots ,g_l\) generate the radical ideal of \(X'(U)\) by construction; and, as we will see below in the proof of correctness, we have \(X'=\mathcal {V}_{B \times Q'}(g_1,\ldots ,g_l)\).

  4. (4)

    In each \(f_i\), replace each coefficient by its normal form modulo \(g_1,\ldots ,g_l\). This has the effect that all coefficients that vanish identically on \(X'(U)\) are set to zero.

  5. (5)

    If all \(f_i\) are now zero, then compute

    $$\begin{aligned} (A';P';\alpha '):= \textbf{parameterise}(B;Q';U;g_1,\ldots ,g_l), \end{aligned}$$

    output \((A';P' \oplus R; \alpha ' \times {\text {id}}_R)\), and exit.

  6. (6)

    Pick the minimal i for which \(f_i\) is nonzero and let \(x_j\) be a variable that appears in some monomial in \(f_i\) with a nonzero coefficient. There cannot be degree-0 elements among the \(f_i\), because these would lie in the elimination ideal and hence have been reduced to zero.

  7. (7)

    Compute the partial derivative \(h:=\partial f_i / \partial x_j \in K[B \times Q'(U)][x_1,\ldots ,x_n]\). By construction, this h is nonzero and its coefficients, which are a subset of the coefficients of \(f_i\) up to some positive integer scalars, do not lie in the ideal generated by \(g_1,\ldots ,g_l\).

  8. (8)

    Compute

    $$\begin{aligned} (A';P';\alpha '):=\textbf{parameterise}(B;Q;U;h,f_1,\ldots ,f_k). \end{aligned}$$
  9. (9)

    Compute \(\tilde{Q}:=(\textrm{Sh}_{U} Q)/R\) via [12, Exercise 6.11], determine the pure part \(Q''\) of \(\tilde{Q}\), and compute \(B'':=(B \times Q(U))[1/h]\). So we have \((B \times \textrm{Sh}_U Q)[1/h] = B'' \times (Q'' \oplus R)\).

  10. (10)

    Compute

    $$\begin{aligned} (f_1'',\ldots ,f_s''):=\textbf{smear}(B;Q;U;f_1,\ldots ,f_k;U \oplus U) \end{aligned}$$

    and replace each \(f_i''\) by its image in \(K[B'' \times (Q''(U) \oplus R(U))]\) under the map \(K[B \times Q(U \oplus U)] \rightarrow K[B'' \times (Q''(U) \oplus R(U))]\) dual to the inclusion

    $$\begin{aligned} B'' \times (Q''(U) \oplus R(U))&\subseteq B \times Q(U) \times (Q''(U) \oplus R(U))\\&= B \times (\textrm{Sh}_U Q)(U) = B \times Q(U \oplus U). \end{aligned}$$

    The elements \(f_1'',\ldots ,f_s''\) generate the radical ideal of \((\textrm{Sh}_U X)(U)[1/h]\) in \(B'' \times (Q''(U) \oplus R(U))\). As we will see in the proof of correctness, we have \((\textrm{Sh}_U X)[1/h]=\mathcal {V}_{B'' \times (Q'' \oplus R)}(f_1'',\ldots ,f_s'')\).

  11. (11)

    Using Buchberger’s algorithm to eliminate the coordinates on R(U) from \(f_1'',\ldots ,f_s''\), compute equations \(g''_1,\ldots ,g''_t\) for the projection of the finite-dimensional affine variety \((\textrm{Sh}_{U} X)(U)[1/h]\) into \(B'' \times Q''(U)\). Recall from [9, Lemma 25] that the projection \((B'' \times (Q'' \oplus R)) \rightarrow B'' \times Q''\) restricts to a closed embedding from \((\textrm{Sh}_{U} X)[1/h]\) to a closed subset \(X''\) of the latter space. We will see below that \(X''=\mathcal {V}_{B'' \times Q''}(g''_1,\ldots ,g''_t)\).

  12. (12)

    Compute the inverse \(\iota :X'' \rightarrow (\textrm{Sh}_{U}X)[1/h]\). By Lemma 2.7.3, this inverse is uniquely determined by its instance \(\iota _V\) with \(\dim V=\deg (Q)\).

  13. (13)

    Compute

    $$\begin{aligned} (A'';P'';\alpha ''):=\textbf{parameterise}(B'';Q'';U;g''_1,\ldots ,g''_t), \end{aligned}$$

    output

    $$\begin{aligned} (A' \sqcup A''; P' \oplus P''; \alpha ' \sqcup (\pi \circ \iota \circ \alpha '')), \end{aligned}$$

    where \(\pi : B \times (\textrm{Sh}_{U} Q) \rightarrow B \times Q\), evaluated at V, equals \({\text {id}}_B \times Q(0_{U,0} \oplus {\text {id}}_V)\), and exit. Here, \(\alpha '\) is regarded as a map \(A' \times (P' \oplus P'') \rightarrow B \times Q\) that ignores the argument from \(P''\), and similarly \(\alpha ''\) ignores the component in \(P'\).

3.4 Termination of Parameterise

Proof of termination of \(\textbf{parameterise}\)

If, on some input, \(\textbf{parameterise}\) would not terminate, then this was due to an infinite chain of recursive calls to itself. In the recursive calls in steps 5 and 13, the polynomial functors \(Q'\) and \(Q''\), respectively, are smaller than Q in the order from Sect. 2.9, whereas Q remains the same in the call in step 8. Since the order on polynomial functors is well founded, apart from a finite initial segment, the infinite chain consists entirely of consecutive calls in step 8. Now note that, after each such call, \(X'(U)\) either remains constant or becomes smaller. As long as it remains constant, i.e. the list \((g_1,\ldots ,g_l)\) remains constant, the degree in \(x_1,\ldots ,x_n\) of the first equation keeps dropping. Hence after finitely many such steps, \(X'(U)\) becomes strictly smaller. It follows that \(X'(U)\) becomes smaller infinitely often, but this contradicts the Noetherianity of the finite-dimensional variety \(B \times Q'(U)\). \(\square \)

3.5 Correctness of Parameterise

Proof that \(\textbf{parameterise}\) returns the correct output

We now prove that the output of the algorithm is correct. This is immediate if the algorithm exits in step 1.

If it exits in step 5, then by Lemma 3.5.1, \(X=X' \times R\), which is parameterised by \(\alpha ' \times {\text {id}}_R\) for a parameterisation \(\alpha '\) of \(X'\). Moreover, by the same lemma, \(X'\) is defined by \(g_1,\ldots ,g_l\).

Finally, assume that the algorithm exits in step 13. We need to show that the union of the images of \(\alpha '\) and \(\pi \circ \iota \circ \alpha ''\) (on \(\overline{K}\)-points) equals X.

First consider \(\alpha '\), which is computed in step 8. The closed subset \(Y:=\mathcal {V}_{B \times Q}(f_1,\ldots ,f_k,h)\) parameterised by \(\alpha '\) is clearly contained in X, so \(\alpha ':A' \times P' \rightarrow B \times Q\) has image on \(\overline{K}\)-points contained in the \(\overline{K}\)-points of X.

Next we argue that \(\mathcal {V}_{B'' \times (Q'' \oplus R)}(f_1'',\ldots ,f_s'')\) is precisely \((\textrm{Sh}_UX)[1/h]\). First, by construction, \(f_1'',\ldots ,f_s''\) generate the ideal of \((\textrm{Sh}_UX)[1/h](U)\) in \((B \times Q(U \oplus U))[1/h]\); this shows the containment \(\supseteq \). For the opposite containment, we argue that if V is any finite-dimensional K-vector space and \((b,q) \in B \times Q(U\oplus V)\) has the property that

$$\begin{aligned} (\forall \varphi \in {\text {Hom}}(V,U): (b,Q({\text {id}}_U \oplus \varphi )q) \in X(U \oplus U) ) \Rightarrow (b,q) \in X(U \oplus V). \end{aligned}$$

To show that \((b,q) \in X(U \oplus V)\), since X is defined by its equations in \(K[B \times Q(U)]\), it suffices to prove that for each \(\psi \in {\text {Hom}}(U \oplus V,U)\) we have \((b,Q(\psi )q) \in X(U)\). Let \(\varphi :=\psi |_V \in {\text {Hom}}(V,U)\) be the restriction of \(\psi \) to V. Then,

$$\begin{aligned} \ker ({\text {id}}_U \oplus \varphi : U \oplus V \rightarrow U \oplus U) = \ker (\varphi ) \subseteq \ker (\psi ) \end{aligned}$$

and hence the linear map \(\psi \) factors as \(\psi ' \circ ({\text {id}}_U \oplus \varphi )\) for some \(\psi ' \in {\text {Hom}}(U \oplus U,U)\). Hence, since Q is a functor,

$$\begin{aligned} (b,Q(\psi )q)=(b,Q(\psi ') (Q({\text {id}}_U \oplus \varphi ) q))\in X(U) \end{aligned}$$

because \((b,Q({\text {id}}_U \oplus \varphi )q) \in X(U \oplus U)\) and \({\text {id}}_B \times Q(\psi ')\) maps \(X(U \oplus U)\) into X(U). This concludes the proof that \(\mathcal {V}_{B'' \times (Q'' \oplus R)}(f_1'',\ldots ,f_s'')=(\textrm{Sh}_UX)[1/h]\).

Next, by [9, Lemma 25], the projection \(B'' \times (Q'' \oplus R) \rightarrow B'' \times Q''\) restricts to an isomorphism embedding from \((\textrm{Sh}_U X)[1/h]\) to a closed subset of \(B'' \times Q''\).

By Lemma 3.5.2, the equations of \(X''\) can be pulled back from the equations of \(X''(U)\), so we have indeed \(X''=\mathcal {V}_{B'' \times Q''}(g''_1,\ldots ,g''_t)\).

Finally, consider the image of \(\pi \circ \iota \circ \alpha ''\). A straightforward calculation shows that setting \(\pi _V:={\text {id}}_B \times Q(0_{U,0} \oplus {\text {id}}_V)\) does indeed yield a morphism \(B \times \textrm{Sh}_U Q \rightarrow B \times Q\) that maps \(\textrm{Sh}_U X\) into X. We need to show that if \(\alpha '':A'' \times P'' \rightarrow B'' \times Q''\) is a morphism parameterising \(X''\), then \(\pi \circ \iota \circ \alpha ''\) is a morphism \(A'' \times P'' \rightarrow B \times Q\) whose image contains all points in X that are not in the subset Y parameterised by \(\alpha '\). So assume that \((b,q) \in X(V) \subseteq B \times Q(V)\) does not lie in Y(V). Then, there exists a linear map \(\varphi :V \rightarrow U\) such that \(h(b,Q(\varphi )q) \ne 0\). Let \(\psi \in {\text {Hom}}(V,U \oplus V)\) be the map \(v \mapsto (\varphi (v),v)\). Then, since \(({\text {id}}_U \oplus 0_{V,0}) \circ \psi = \varphi \), the point \(q':=Q(\psi )q \in X(U \oplus V)\) satisfies

$$\begin{aligned} h(b,Q({\text {id}}_U \oplus 0_{V,0})q')=h(b,Q(\varphi )q) \ne 0, \end{aligned}$$

i.e. \(q'\) lies in \((\textrm{Sh}_U X)[1/h]\), which is the image of \(\iota \circ \alpha ''\). Moreover, since \((0_{U,0} \oplus {\text {id}}_V) \circ \psi ={\text {id}}_V\), we have \(\pi _V(q')=q\). Hence, q lies in the image of \(\pi \circ \iota \circ \alpha ''\). This concludes the proof of correctness of \(\textbf{parameterise}\). \(\square \)

Lemma 3.5.1

Let Q be a pure polynomial functor and \(X \subseteq B \times Q\) a closed subset. Assume that X is defined by its equations in \(K[B \times Q(U)]\), let R be a subfunctor of Q, and set \(Q':=Q/R\). Define \(X'\) as the closure of the image of X under the projection \({\text {id}}_B \times \pi : B \times Q \rightarrow B \times Q'\). Assume that \(X(U)=({\text {id}}_B \times \pi _U)^{-1}(X'(U))\). Then, \(X(V)=({\text {id}}_B \times \pi _V)^{-1}(X'(V))\) for all \(V \in \textbf{Vec}\), so that \(X=X' \times R\), and moreover \(X'\) is defined by its equations in \(K[B \times Q'(U)]\).

Proof

Let \((b,q) \in B \times Q(V)\) satisfy \((b,\pi _V(q)) \in X'(V)\). Then for all \(\varphi \in {\text {Hom}}(V,U)\), we have

$$\begin{aligned} (b,\pi _U(Q(\varphi )(q))) = (b,Q'(\varphi )(\pi _V(q))) \in X'(U) \end{aligned}$$

and hence, by assumption, \((b,Q(\varphi )(q)) \in X(U)\). But then, since X is defined by its equations in \(K[B \times Q(U)]\), we have \((b,q) \in X(V)\). This proves the first statement.

For the last statement, suppose that \((b,q') \in B \times Q'(V)\) is such that \((b,Q'(\varphi )(q')) \in X'(U)\) for all \(\varphi \in {\text {Hom}}(V,U)\). Pick any \(q \in Q(V)\) with \(\pi _V(q)=q'\). Then, the same computation as above shows that \((b,q) \in X(V)\), hence a fortiori \((b,q') \in X'(V)\). Hence, \(X'\) is defined by its equations in \(K[B \times Q'(U)]\). \(\square \)

Lemma 3.5.2

Let Q be a pure polynomial functor, R a (not necessarily irreducible) subfunctor, B an affine variety. Set \(Y:=B\times Q\), \(Y':=B\times (Q/R)\). Let X be a closed subset of Y such that the projection \(\pi : Y \rightarrow Y'\) restricts to an isomorphism from X to a closed subset \(X'\) of \(Y'\). Let U be a vector space such that X is defined by its equations in K[Y(U)]. Then, \(X'\) is defined by its equations in \(K[Y'(U)]\).

Proof

The idea is to find an inverse to \(\pi \), i.e. a morphism \(\psi : Y' \rightarrow Y\) such that

  1. (1)

    \(\pi _V \circ \psi _V = {\text {id}}_{Y'(V)} \)

  2. (2)

    \(\psi |_{X'} = (\pi |_X)^{-1}\)

Once we have found this \(\psi \), we are done: Let \(y' \in Y'(V)\), such that for every linear map \(\varphi : V \rightarrow U,\) \(Y'(\varphi )(y') \in X'(U)\), and hence, by property (2), \(\psi _U(Y'(\varphi )(y')) \in X(U)\). Since \(\psi \) is a morphism, we get

$$\begin{aligned} \psi _U(Y'(\varphi )(y')) = (Y(\varphi ) (\psi _V(y')) \in X(U). \end{aligned}$$

Since X is defined by its equations in K[Y(U)], we get that \(\psi _V(y') \in X(V)\), and hence, with property (1) of \(\psi \), \(\pi _V(\psi _V(y')) = y' \in X'(V)\).

By the Friedlander–Suslin Lemma (Lemma 2.3.2 and proof of Lemma 2.7.3), it is enough to find a \({\text {GL}}_d\)-equivariant map \(\tilde{\psi }: Y'(K^d) \rightarrow Y(K^d)\), where d is the degree of Q, that fulfils properties (1) and (2) (with \(V=K^d\) and \(\psi _{K^d} = \tilde{ \psi }\)).

It is easy to find a possibly non-\({\text {GL}}_d\)-equivariant map \(\hat{\psi }: Y'(K^d) \rightarrow Y(K^d)\) with properties (1) and (2): Note that \(X'(K^d)\) is a closed subvariety of the affine space \({\mathbb A}^{n'}_B\), where \(n'=\dim (Q(K^d)/R(K^d))\) and \(X(K^d)\) is a closed subvariety of the affine space \({\mathbb A}^n_B\), where \(n=\dim (Q(K^d))\). By basic properties of affine spaces, the map \((\pi _{K^d}|_{X(K^d)})^{-1}\) extends to a morphism \(\hat{\psi }\) from the ambient affine space \({\mathbb A}^{n'}_B\) of \(X'(K^d)\) to the ambient affine space \({\mathbb A}^n_B\) of \(X(K^d)\). Now \(\hat{\psi }\) lives in some finite-dimensional space equipped with a linear action of \({\text {GL}}_d\) given by \((g,\eta ) \mapsto Y(g) \circ \eta \circ Y'(g^{-1})\). Since this space is an algebraic group representation of \({\text {GL}}_d\) and \({\text {GL}}_d\) is linearly reductive, there exists a \({\text {GL}}_d\)-equivariant linear map \(\rho \) from the space onto its subspace of \({\text {GL}}_d\)-invariant elements—the so-called Reynolds operator. Then, \(\tilde{\psi }:=\rho (\hat{\psi })\) is \({\text {GL}}_d\)-equivariant, and we claim that it still satisfies (1) and (2).

By the Lefschetz principle, it is sufficient to check this when \(K={\mathbb C}\). In this case, \(\tilde{\psi }\) takes the more explicit form

$$\begin{aligned} \tilde{\psi }:= \int _{U_d({\mathbb C})} Y(\varphi ) \circ \hat{\psi } \circ Y'(\varphi )^{-1}\,\textrm{d}\varphi \end{aligned}$$

where \(U_d({\mathbb C}) \subseteq {\text {GL}}_d({\mathbb C})\) is the unitary group, and the integral is over the Haar measure (see, e.g. [21]) with \(\int _{U_d({\mathbb C})}\,\textrm{d}\varphi =1\) (note that the Haar integral needs to be taken over a compact group, so we have to use \(U_d({\mathbb C})\) instead of \({\text {GL}}_d({\mathbb C})\)).

Indeed, by construction, the morphism \(\tilde{\psi }\) defined by this integral is \(U_d\)-equivariant. To see that it is, indeed, \({\text {GL}}_d\)-equivariant, one uses that \(U_d({\mathbb C})\) is Zariski dense in \({\text {GL}}_d({\mathbb C})\) [21, Section 8.6.1]. This is a version of Weyl’s well-known unitary trick.

The following chain of equations now verifies that \(\tilde{\psi }\) meets property (1):

$$\begin{aligned} \pi _{{\mathbb C}^d} \circ \tilde{\psi }&= \pi _{{\mathbb C}^d} \circ \int _{U_d({\mathbb C})} Y(\varphi ) \circ \hat{\psi } \circ Y'(\varphi )^{-1}\,\textrm{d}\varphi \\&= \int _{U_d({\mathbb C})} \pi _{{\mathbb C}^d} \circ Y(\varphi ) \circ \hat{\psi } \circ Y'(\varphi )^{-1}\,\textrm{d}\varphi \\&= \int _{U_d({\mathbb C})} Y'(\varphi ) \circ \pi _{{\mathbb C}^d} \circ \hat{\psi } \circ Y'(\varphi )^{-1}\,\textrm{d}\varphi = \int _{U_d({\mathbb C})} {\text {id}}_{Y'({\mathbb C}^d)}\,\textrm{d}\varphi . \end{aligned}$$

For property (2), let \(x \in X'({\mathbb C}^d)\). Then,

$$\begin{aligned} \tilde{\psi }(x)&=\int _{U_d({\mathbb C})} Y(\varphi )(\hat{\psi } (\underbrace{Y'(\varphi )^{-1}(x)}_{\in X'({\mathbb C}^d)}))\,\textrm{d}\varphi \\&= \int _{U_d({\mathbb C})} Y(\varphi )((\pi _{{\mathbb C}^d}|_{X({\mathbb C}^d)})^{-1} (Y'(\varphi )^{-1}(x)))\,\textrm{d}\varphi \\&= \int _{U_d({\mathbb C})} Y(\varphi )(Y(\varphi )^{-1} ((\pi _{{\mathbb C}^d}|_{X({\mathbb C}^d)})^{-1}(x)))\,\textrm{d}\varphi = (\pi _{{\mathbb C}^d}|_{X({\mathbb C}^d)})^{-1}(x). \end{aligned}$$

Note that for the second to last equality we have used that \((\pi |_X)^{-1}\) is a morphism, as is easy to verify. \(\square \)

4 Implicitisation

4.1 The Result

The goal of this section is to prove the following more precise version of the Main Theorem.

Theorem 4.1.1

There exists an algorithm \(\textbf{implicitise}\) that, on input finite-dimensional affine varieties AB, pure polynomial functors PQ, and a morphism \(\alpha :A \times P \rightarrow B \times Q\), computes a \(U \in \textbf{Vec}\) and elements \(f_1,\ldots ,f_k \in K[B \times Q(U)]\) that define the image closure of \(\alpha \), i.e. such that, for all \(V \in \textbf{Vec}\), we have

$$\begin{aligned}&\overline{\alpha (A(\overline{K}) \times \overline{K} \otimes P(V))} \\&= \{ (b,q) \in B(\overline{K}) \times \overline{K} \otimes Q(V) \mid \forall i\ \forall \varphi \in {\text {Hom}}_K(V,U):\ f_i(b, 1 \otimes Q(\varphi )q) =0 \}. \end{aligned}$$

4.2 The Implicitisation Algorithm

The algorithm \(\textbf{implicitise}(A,P,B,Q,\alpha )\) is run on countably many parallel processors: the one where the original call is handled, plus countably many labelled \(0,1,2,3,\ldots \) where call to an auxiliary procedure \(\textbf{certify}\) is made. The latter has the following specification.

Proposition 4.2.1

There exists a procedure \(\textbf{certify}\) that, on input finite-dimensional affine varieties \(A,A',B\), pure polynomial functors \(P,P',Q\), and morphisms \(\alpha :A \times P \rightarrow B \times Q\) and \(\alpha ': A' \times P' \rightarrow B \times Q\), has the following behaviour: if for all \(V \in \textbf{Vec}\) we have

$$\begin{aligned} \alpha '(A'(\overline{K}) \times (\overline{K} \otimes P'(V))) \subseteq \overline{\alpha (A(\overline{K}) \times (\overline{K} \otimes P(V)))}, \end{aligned}$$

then \(\textbf{certify}(B;Q;A;P;\alpha ;A';P';\alpha ')\) terminates and returns “true”. Otherwise, it does not terminate.

The proof of Proposition 4.2.1 is deferred to Sect. 5. We can now present the steps for \(\textbf{implicitise}(A,P,B,Q,\alpha )\).

  1. (1)

    Set \(n:=0\).

  2. (2)

    While no instance of \(\textbf{certify}\) has returned “true”, perform steps (3)–(6):

  3. (3)

    Set \(U:=K^n\) and, by classical elimination, compute defining equations \(f_{n,1},\ldots ,f_{n,k_n} \in K[B \times Q(U)]\) for the image closure of \(\alpha _U\). This is a finite-dimensional affine variety.

  4. (4)

    Compute \((A_n,P_n,\alpha _n):=\textbf{parameterise}(B;Q;U;f_{n,1},\ldots ,f_{n,k_n})\).

  5. (5)

    On the n-th processor, start \(\textbf{certify}(B;Q;A;P;\alpha ;A_n;P_n;\alpha _n)\).

  6. (6)

    Set \(n:=n+1\).

  7. (7)

    if the m-th processor has returned “true”, then return \((K^{m};f_{m,1},\ldots ,f_{m,k_{m}})\).

4.3 Correctness and Termination of \(\textbf{implicitise}\)

Proof of Theorem 4.1.1

By Corollary 2.4.3, there exists a value of n such that the tuple \((K^{n};f_{n,1},\ldots ,f_{n,k_n})\) computed in iteration n is a correct output for \(\textbf{implicitise}\). It then follows that \(\alpha _n\), which, by virtue of \(\textbf{parameterise}\), parameterises the closed subset of \(B \times Q\) defined by \(f_{n,1},\ldots ,f_{n,k_n}\), has its image contained in the closure of the image of \(\alpha \). Hence, by Proposition 4.2.1, the n-th call to \(\textbf{certify}\) terminates and returns “true”. This shows that \(\textbf{implicitise}\) terminates.

Next, when it terminates with output \((K^m;f_{m,1},\ldots ,f_{m,k_m})\), then this is because the image of \(\alpha _m\), which equals the closed subset of \(B \times Q\) defined by \(f_{m,1},\ldots ,f_{m,k_m}\), is contained in the image closure of \(\alpha \). Since, conversely, the image closure of \(\alpha \) is contained in the closed subset defined by \(f_{m,1},\ldots ,f_{m,k_m}\), the output is correct. \(\square \)

5 Certifying Inclusion of Image Closures

5.1 An Instructive Example

Example 5.1.1

Let \(\alpha :(S^1)^2 \rightarrow S^3\) be the morphism defined by \(\alpha (u,v)=u^3+v^3\). The image closure of \(\alpha \) is the set of symmetric three-tensors of border Waring rank at most 2. On the other hand, let \(\beta :(S^1)^2 \rightarrow S^3\) be the morphism defined by \(\beta (u,v)=6 u^2v\). Then, we have

$$\begin{aligned} \beta (u,v)= & {} 6 u^2 v=\lim _{t \rightarrow 0} [(t^2 v + t^{-1}u)^3 + (t^2 v - t^{-1}u)^3] \nonumber \\= & {} \lim _{t \rightarrow 0} \alpha (t^2 v + t^{-1}u,t^2 v - t^{-1}u) \end{aligned}$$

and this implies that \({\text {im}}(\beta ) \subseteq \overline{{\text {im}}(\alpha )}\). However, \({\text {im}}(\beta ) \not \subseteq {\text {im}}(\alpha )\)—indeed, it is well known that the Waring rank of cubics of the form \(u^2 v\) with uv linearly independent vectors is equal to 3. \(\diamondsuit \)

This example shows a certificate for \({\text {im}}\beta \subseteq \overline{{\text {im}}\alpha }\), namely, that \(\beta \) is a limit of a composition \(\alpha \circ \gamma _t\) with

$$\begin{aligned} \gamma _t:(S^1)^2 \rightarrow (S^1)^2, (u,v) \mapsto (t^2 v + t^{-1} u, t^2 v - t^{-1} u). \end{aligned}$$

Roughly speaking, whenever \({\text {im}}(\beta )\) is contained in \(\overline{{\text {im}}(\alpha )}\), where \(\beta ,\alpha \) are morphisms into \(B \times Q\), with B a finite-dimensional variety and Q a pure polynomial functor, there is a certificate of this inclusion such as the one above—see below for the precise statement. However, we are not aware of any a priori lower bound on the (negative) exponents of t in such a certificate. This is why, in Proposition 4.2.1, the procedure \(\textbf{certify}\) does not terminate when no certificate exists.

5.2 An Excursion to Infinite Dimensions

We collect some material on \({\text {GL}}\)-varieties. The results stated here appeared in [2, 3] or can directly be derived from results there.

Given a finite-dimensional variety A and a pure polynomial functor P, we construct the inverse limit \(\lim _{\leftarrow n} (A \times P(K^n)) = A \times P_\infty \), where the projections \(P(K^{n+1}) \rightarrow P(K^n)\) are of the form \(P(\pi )\) with \(\pi \) the standard projection \(K^{n+1} \rightarrow K^n\). Rather than as a set of K-valued points, we will regard \(A \times P_\infty \) as a reduced, affine K-scheme, namely, the spectrum of the ring \(K[A] \otimes _K R\), where R is the symmetric algebra of the countable-dimensional vector space \(\lim _{n \rightarrow \infty } P(K^n)^*\). The group \({\text {GL}}:=\bigcup _{n=0}^\infty {\text {GL}}_n(K)\) acts on \(A \times P_\infty \) by means of automorphisms and \(A \times P_\infty \) is a \({\text {GL}}\)-variety in the sense of [2]. More generally, if X is a closed subset of a polynomial functor, then the inverse limit \(X_\infty \) of all \(X(K^n)\) is a \({\text {GL}}\)-variety. The association \(X \mapsto X_\infty \) is an equivalence of categories with the category of affine \({\text {GL}}\)-varieties, which sends a morphism \(\alpha :X \rightarrow Y\) to a \({\text {GL}}\)-equivariant morphism \(\alpha _\infty :X_\infty \rightarrow Y_\infty \) of affine schemes over K.

Let \(\alpha :A \times P \rightarrow B \times Q\) and \(\alpha ':A' \times P' \rightarrow B \times Q\) be morphisms as in Proposition 4.2.1. Then, the following two statements are equivalent:

  1. (1)

    \(\overline{{\text {im}}(\alpha _\infty )} \supseteq {\text {im}}(\alpha '_\infty )\) and

  2. (2)

    \(\overline{{\text {im}}(\alpha _V)} \supseteq {\text {im}}(\alpha '_V)\) for all \(V \in \textbf{Vec}\).

It is (2) which we want to certify in \(\textbf{certify}(B;Q;A;P;\alpha ;A',P',\alpha ')\). From now on, we assume that \(A,A'\) are irreducible—in the procedure \(\textbf{certify}\) we will reduce to this case.

Now the article by Bik, Eggermont, Snowden and the second author [3] contains the following useful criterion for (1). Let \(a'\) be the generic point of \(A'\) and let \(p' \in P'_\infty (K)\) be a point whose \({\text {GL}}\)-orbit is dense in \(P_{\infty }\) (such points exist, see [2]). Let \(x:=\alpha '_\infty (a',p')\); this is an \(\Omega \)-point of \(B \times Q_\infty =:X_\infty \), where \(\Omega =K(A')\), and the \({\text {GL}}\)-orbit of x is dense in \({\text {im}}(\alpha '_\infty )\). Write \(Y_\infty :=A \times P_\infty \).

Theorem 5.2.1

(Theorem 6.6 from [3]) We have \({\text {im}}(\alpha '_\infty ) \subseteq \overline{{\text {im}}(\alpha _\infty )}\) if and only if there exists a finite-dimensional field extension \(\widetilde{\Omega }\) of \(\Omega \) and a bounded \(\widetilde{\Omega }((t))\)-point y(t) of \(Y_\infty \) such that \(\lim _{t \rightarrow 0} \alpha _\infty (y(t))=x\).

Here bounded means that the exponents of t in the countably many coordinates of the \(P_\infty \)-component of y(t) are uniformly bounded from below, see [3, Definition 6.1]. This ensures that \(\alpha _\infty (y(t))\) is a well-defined \(\widetilde{\Omega }((t))\)-point of \(X_\infty \). The theorem says that we can choose y(t) such that \(\alpha _\infty (y(t))\) is in fact an \(\widetilde{\Omega }[[t]]\)-point of \(X_\infty \) and that setting t to zero yields x.

The procedure \(\textbf{certify}\) should certify the existence of y(t). To this end, we will narrow down the space in which to search for y(t) to an increasing chain of finite-dimensional varieties. First, we will show that y(t) needs not use more of \(P_\infty \) than can be obtained by applying morphisms to \(p'\). To do so (see Proposition 5.4.1 below), we now introduce systems of variables in Schur functors.

5.3 Systems of Variables in Schur Functors

Fix a field extension \(\Omega \) of K. For every nonempty partition \(\lambda \), \(S_{\lambda ,\infty }\) is an affine scheme over K whose \(\Omega \)-valued points form an \(\Omega \)-vector space of uncountable dimension. Let \(V_\lambda \subseteq S_{\lambda ,\infty }(\Omega )\) be the set of all points s for which there exist k, partitions \(\mu _1,\ldots ,\mu _k\) with \(0<|\mu _i|<|\lambda |\), an \(\Omega \)-valued point \(\alpha \) of \(\textbf{Map}(S_{\mu _1} \oplus \cdots \oplus S_{\mu _k},S_\lambda )\), and an \(\Omega \)-valued point p of \(S_{\mu _1,\infty } \times \cdots \times S_{\mu _k,\infty }\) such that \(\alpha _\infty (p)=s\). (Recall the definition of \(\textbf{Map}(P',P)\) from Remark 2.7.4.)

Example 5.3.1

If \(\lambda =(2)\), then \(S_{\lambda ,\infty }(\Omega )\) is the space of infinite-by-infinite symmetric matrices with entries in \(\Omega \), and \(V_\lambda \) is the subspace of matrices of finite rank. \(\diamondsuit \)

Now \(V_\lambda \) is a proper \(\Omega \)-vector subspace of \(S_{\lambda ,\infty }(\Omega )\), and we choose any \(\Omega \)-basis \((\xi _{\lambda ,i})_{i \in I_\lambda }\) of a vector space complement to \(V_\lambda \) in \(S_{\lambda ,\infty }(\Omega )\), where \(I_\lambda \) is an uncountable index set. We call the \(\xi _{\lambda ,i}\) variables. We choose these variables for every \(\lambda \) and write \(\xi \) for the resulting uncountable tuple; \(\xi \) is what we call a system of variables (over \(\Omega \)) for all Schur functors. If f is an \(\Omega \)-valued point of \(\textbf{Map}(S_{\mu _1} \oplus \cdots \oplus S_{\mu _k},S_{\lambda })\) and we fix indices \(i_1 \in I_{\mu _1},\ldots ,i_k \in I_{\mu _k}\), then we will write \(f(\xi )\) for \(f(\xi _{\mu _1,i_1},\ldots ,\xi _{\mu _k,i_k})\). This is slight abuse of notation, since it is not apparent from the formula \(f(\xi )\) which indices were chosen, but the notation is compatible with the notation f(x) for a polynomial that uses finitely many of an uncountable set of variables x.

Remark 5.3.2

We need to fix the extension \(\Omega \) first and then choose the system of variables. It is not true that a system of variables chosen over K is also a system of variables over field extensions of K, as \(S_{\lambda ,\infty }(K)\otimes _{K} \Omega = S_{\lambda ,\infty }(\Omega )\) only when \(\Omega \) is finite-dimensional over K. \(\diamondsuit \)

The following proposition follows readily from the material in [2].

Proposition 5.3.3

Let \(S=S_{\mu _1} \oplus \cdots \oplus S_{\mu _k}\) be a pure polynomial functor, and let \(s=(s_1,\ldots ,s_k) \in S_\infty (\Omega )\). Then, the \(s_i\) can be chosen as part of a system of variables if and only if the \({\text {GL}}\)-orbit of s is dense in \(S_\infty (\Omega )\).

The following theorem expresses that the variables in a system are independent and generate all vectors in all Schur functors.

Theorem 5.3.4

Fix a field extension \(\Omega \) of K and a system of variables \(\xi \) over \(\Omega \) for all Schur functors. Then for every nonempty partition \(\lambda \) and any \(p \in S_{\lambda ,\infty }(\Omega )\), there exist partitions \(\lambda _1,\ldots ,\lambda _k\) and an \(\Omega \)-valued point f of \(\textbf{Map}(S_{\lambda _1} \oplus \cdots \oplus S_{\lambda _k}, S_\lambda )\) and variables \(\xi _{\lambda _j,i_j}\) for \(j=1,\ldots ,k\) and \(i_j \in I_{\lambda _j}\) such that \(p=f_\infty (\xi _{\lambda _1,i_1},\ldots ,\xi _{\lambda _k,i_k})\). Moreover, if f really depends on all \(\xi _{\lambda _j,i_j}\) in the sense that replacing one of them by zero changes the outcome, then, up to permutations of \(\{1,\ldots ,k\}\), the partitions \(\lambda _j\), the variables \(\xi _{\lambda _j,i_j}\), and f are unique.

Proof

The existence of f follows by induction on \(|\lambda |\): we may write p

$$\begin{aligned} p=c_1 \xi _{\lambda ,i_1} + c_2 \xi _{\lambda ,i_2} + \cdots + c_l \xi _{\lambda ,i_l} + \tilde{p} \end{aligned}$$

with \(\tilde{p} \in V_\lambda \) and (unique) \(i_1,\ldots ,i_l \in I_\lambda \) and \(c_1,\ldots ,c_l \in \Omega \). Now \(\tilde{p}=\alpha _\infty (q)\), for a suitable \(\alpha \), where q is an \(\Omega \)-valued point of \(S_{\mu _1,\infty } \times \cdots \times S_{\mu _k,\infty }\) with \(0<|\mu _i|<|\lambda |\) for all i. By the induction hypothesis, the components \(q_i,i=1,\ldots ,k\) of q are of the form \(f_{i,\infty }(\xi )\), and then p equals

$$\begin{aligned} \alpha _\infty (f_{1,\infty }(\xi ),\ldots ,f_{k,\infty }(\xi )) + \sum _{i=1}^l c_i \xi _{\lambda ,i}, \end{aligned}$$

so that \(f:=\alpha (f_1,\ldots ,f_k) + \sum _{i=1}^l c_i {\text {id}}_{S_\lambda }\) does the trick for the obvious choice of variables.

For uniqueness, it suffices to show that if f is a nonzero \(\Omega \)-valued point of \(\textbf{Map}(S_{\mu _1} \oplus \ldots \oplus S_{\mu _k},S_\lambda )\) and \(\xi _{\mu _1,i_1},\ldots ,\xi _{\mu _k,i_k}\) are distinct variables, then \(f_\infty (\xi ) \ne 0\). Indeed, by Proposition 5.3.3, the \({\text {GL}}\)-orbit of \((\xi _{\mu _1,1},\ldots ,\xi _{\mu _k,i_k})\) is dense, and \(f_\infty \) is \({\text {GL}}\)-equivariant, so that \(f_\infty (\xi )=0\) implies that \(f=0\), a contradiction. \(\square \)

Remark 5.3.5

Our notion of systems of variables is inspired by [10]. Indeed, If we restrict a system of variables in Schur functors to the symmetric powers \(S^d\) with \(d=0,1,\ldots \), then the proof of [10, Theorem 1.1] shows that these are algebraically independent (over \(\Omega \)) generators of the ring \(\bigoplus _d S^d_\infty (\Omega )\), and that this ring is therefore abstractly isomorphic to a polynomial ring. This fact can also be deduced from Theorem 5.3.4 above. \(\diamondsuit \)

5.4 Narrowing Down the Search for y(t)

In this section, we retain the notation from Sect. 5.2. The following diagram represents the situation:

where \(\Omega =K(A')\), \(a'\) is the generic point of \(A'\), \(p'\) is a K-point of \(P_\infty \) with dense \({\text {GL}}\)-orbit, and we want to certify the existence of y(t), defined over a finite extension \(\widetilde{\Omega }\) of \(\Omega \), such that \(\lim _{t \rightarrow 0} \alpha _\infty (y(t))=x\).

Proposition 5.4.1

If a y(t) as in Theorem 5.2.1 exists, then it can be chosen of the form \((a(t),\gamma (t)_\infty (p'))\) with \(a(t) \in A(\widetilde{\Omega }((t)))\) and \(\gamma (t)\) a \(\widetilde{\Omega }[t,t^{-1}]\)-valued point of the finite-dimensional affine space \(\textbf{Map}(P',P)\).

Proof

Write \(y(t)=(a(t),p(t))\). First, terms in p(t) of sufficiently high degree in t do not contribute to \(\lim _{t \rightarrow 0} \alpha _\infty (a(t),p(t))\), so we may truncate p(t) and assume that it is a finite sum \(\sum _{d=m_1}^{m_2} t^d p_d\) where each \(p_d \in P_\infty (\widetilde{\Omega })\).

Now write \(P'=S_{\lambda _1} \oplus \cdots \oplus S_{\lambda _k}\), where the \(\lambda _i\) are partitions. Accordingly, decompose \(p'=(p'_1,\ldots ,p'_k)\) with \(p'_i \in S_{\lambda _i,\infty }\). Over the field extension \(\widetilde{\Omega }\) of K, choose a system of variables \(\xi \) in such a manner that \(p'_1,\ldots ,p'_k\) are among these variables; this can be done by Proposition 5.3.3 because \({\text {GL}}\cdot p'\) is dense in \(P'_\infty \). Then, by Theorem 5.3.4, we have \(p_d=f_{d,\infty }(\xi )\) for all d, where \(f_d\) is an (essentially unique) morphism into P with coefficients in \(\widetilde{\Omega }\).

Recall from Remark 2.7.5 that \(\alpha \) splits as \(\alpha ^{(0)}:A \rightarrow B\) and \(\alpha ^{(1)}:A \times P \rightarrow Q\), and similarly for \(\alpha '\). The limit \(\lim _{t \rightarrow 0} \alpha ^{(1)}_\infty (a(t),p(t)) \) equals

$$\begin{aligned} g_\infty (p_{m_1},\ldots ,p_{m_2}) = g_\infty (f_{m_1,\infty }(\xi ),\ldots , f_{m_2,\infty }(\xi )) \end{aligned}$$

for some \(\widetilde{\Omega }\)-point g of \(\textbf{Map}(P^{m_2-m_1+1},Q)\). On the other hand, by the choice of y(t), it equals \((\alpha ')^{(1)}_\infty (p')\). In the latter expression, only the variables \(p'_1,\ldots ,p'_k\) appear. By the uniquess statement in Theorem 5.3.4, the same must apply to \(g_\infty (f_{m_1,\infty }(\xi ),\ldots ,f_{m_2,\infty }(\xi ))\).

Therefore, replacing each \(p_d\) by \(\tilde{p}_d:=f_{d,\infty }(p',0)\), where all variables not among the variables \(p_1',\ldots ,p_k'\) are set to zero, yields a \(\tilde{y}(t)\) with the same property as y(t): \(\lim _{t \rightarrow 0} \alpha _\infty (\tilde{y}(t))=x\). Now \(\gamma (t):=\sum _d t^d f_d(\cdot ,0)\) is the desired \(\widetilde{\Omega }[t,t^{-1}]\)-valued point of \(\textbf{Map}(P',P)\). \(\square \)

Recall from Remark 2.7.5 that \((\alpha ')^{(1)}\) can be regarded an \(\Omega \)-point of \(\textbf{Map}(P',Q)\). Similarly, \(\alpha ^{(1)}(a(t),\cdot )\) can be regarded an \(\widetilde{\Omega }((t))\)-point of \(\textbf{Map}(P,Q)\).

Lemma 5.4.2

A point \((a(t),\gamma (t)_\infty (p'))\) as in Proposition 5.4.1 satisfies the property \(\lim _{t \rightarrow 0} \alpha _\infty (a(t),\gamma (t)_\infty (p'))=\alpha '(a',p')=:(b,q) \in (B \times Q_\infty )(\Omega )\) if and only if, first, \( \lim _{t \rightarrow 0} \alpha ^{(0)}(a(t))=b\) and, second, the \(\widetilde{\Omega }((t))\)-point \(\alpha ^{(1)}(a(t),\cdot ) \circ \gamma (t)\) of \(\textbf{Map}(P',Q)\) satisfies

$$\begin{aligned} \lim _{t \rightarrow 0} \alpha ^{(1)}(a(t),\cdot ) \circ \gamma (t) = (\alpha ')^{(1)}; \end{aligned}$$

an equality of \(\widetilde{\Omega }\)-points in \(\textbf{Map}(P',Q)\).

Proof

The statement “if” is immediate, by substituting \(p'\); and the statement “only if” follows from the fact that the \({\text {GL}}\)-orbit of \(p'\) is dense in \(P'_\infty \). \(\square \)

5.5 Greenberg’s Approximation Theorem

We have almost arrived at a countable chain of finite-dimensional varieties in which we can look for y(t). The only problem is that the point \(a(t) \in A(\widetilde{\Omega }((t)))\) does not yet have a finite representation. For concreteness, assume that A is given by a prime ideal \(I=(f_1,\ldots ,f_r)\) in \(K[x_1,\ldots ,x_m]\), B is embedded in \(K^n\), and \(\alpha ^{(0)}:A \rightarrow B\) is the restriction of some polynomial map \(\alpha ^{(0)}: K^m \rightarrow K^n\).

Then, a(t) is an m-tuple in \(\widetilde{\Omega }((t))^m\), and together with \(\gamma (t)\) it is required to satisfy the following properties from Lemma 5.4.2:

  1. (i)

    \(f_i(a(t))=0\) for \(i=1,\ldots ,r\);

  2. (ii)

    \(\lim _{t \rightarrow 0} \alpha ^{(0)}(a(t))=b\);

  3. (iii)

    and \(\lim _{t \rightarrow 0} \alpha ^{(1)}(a(t),\cdot ) \circ \gamma (t) = (\alpha ')^{(1)}\).

Suppose that we fix a lower bound \(-d_1\), with \(d_1 \in {\mathbb Z}_{\ge 0}\), on the exponents of t appearing in a(t) or in \(\gamma (t)\). From the data of \(\alpha \) and \(d_1\), one can compute a bound \(d_2 \in {\mathbb Z}_{\ge 0}\) such that the validity of (ii) and (iii) does not depend on the terms in a(t) or \(\gamma (t)\) with exponents \(>d_2\). However, (i) does depend on all (typically infinitely many) terms of a(t). Here, Greenberg’s approximation theorem comes to the rescue. As this theorem requires formal power series rather than Laurent series, we put \(\tilde{a}(t):=t^{d_1} a(t)\). Accordingly, replace each \(f_i\) by \(\tilde{f}_i:=t^e f_i(t^{-d_1}x_1,\ldots ,t^{-d_1}x_n)\) where e is large enough such that all coefficients of \(\tilde{f}_i\) for all i are in \(\widetilde{\Omega }[[t]]\). Note that a(t) is a root of all \(f_i\) if and only if \(\tilde{a}(t)\) is a root of all \(\tilde{f}_i\).

Theorem 5.5.1

(Greenberg, [13]) There exist numbers \(N_0 \ge 1,c \ge 1,s \ge 0\) such that for all \(N \ge N_0\) and \(\overline{a}(t) \in \widetilde{\Omega }[[t]]^n\) with \(\tilde{f}_i(\overline{a}(t)) \equiv 0 \mod t^N\) for all \(i=1,\ldots ,r\) there exists an \(\tilde{a}(t) \in \widetilde{\Omega }[[t]]^n\) such that \(\tilde{a}(t) \equiv \overline{a}(t) \mod t^{\lceil \frac{N}{c} \rceil -s}\) and moreover \(f_i(\tilde{a}(t))=0\) for all i. Moreover, \(N_0,c,s\) can be computed from \(\tilde{f}_1,\ldots ,\tilde{f}_r\).

As a matter of fact, the computability, which is crucial to our work, is only implicit in [13]; it is made explicit in the overview paper [23].

Corollary 5.5.2

There exist natural numbers \(d_2,N_1\), which can be computed from \(d_1\) and \(f_1,\ldots ,f_r\), \(\alpha \), such that the following statements are equivalent:

  1. (1)

    a pair \(a(t),\gamma (t)\) with properties (i)–(iii) exists that has no exponents of t smaller than \(-d_1\);

  2. (2)

    a pair \(a(t),\gamma (t)\) exists with all exponents of t in the interval \(\{-d_1,\ldots ,d_2\}\) that satisfies (ii) and (iii), and that satisfies (i) modulo \(t^{N_1}\).

Proof

The implication (1) \(\Rightarrow \) (2) holds for any choice of \(N_1\) if \(d_2\) is chosen large enough so that the terms of \(a(t),\gamma (t)\) with degree \(>d_2\) in t do not affect (ii),(iii), and do not contribute to the terms of degree \(<N_1\) in \(f_i(a(t))\) for any i.

For the converse, first we compute \(\tilde{f}_i\) and e as above; they depend on the choice of \(d_1\). Then, we compute \(N_0,c,s\) as in Greenberg’s theorem. Compute \(N_1 \ge N_0-e\) such that terms in \(a(t),\gamma (t)\) in which t has exponent at least \(\lceil \frac{N_1+e}{c} \rceil -s-d_1\) do not affect properties (ii)–(iii), and then compute \(d_2\) as in the first paragraph.

Given a pair \(a(t),\gamma (t)\) as in (2), set \(\bar{a}(t):=t^{d_1} a(t)\). Then, for each i,

$$\begin{aligned} \tilde{f}_i(\bar{a}(t))=t^e f_i(a(t)) \equiv 0 \mod t^{N_1+e}. \end{aligned}$$

Then, since \(N_1+e \ge N_0\), Greenberg’s theorem yields \(\tilde{a}(t) \in \widetilde{\Omega }[[t]]^n\) such that \(\tilde{f}_i(\tilde{a}(t))=0\) for all i and such that

Now set \(a_1(t):=t^{-d_1}\tilde{a}(t)\), so that \(f_i(a_1(t))=0\) for all i—this is property (i)—and

Since the terms of a(t) with exponent of degree at least \(\lceil \frac{N_1+e}{c} \rceil -s-d_1\) do not affect (ii) and (iii), the pair \(a_1(t),\gamma (t)\) also satisfy these conditions. \(\square \)

5.6 The Procedure Certify

To compute \(\textbf{certify}(B;Q;A;P;\alpha ;A';P';\alpha ')\), we proceed as follows. For convenience, we again assume that we have sufficiently many processors working in parallel.

  1. (1)

    If A and \(A'\) are not both irreducible, decompose A into irreducible components \(A_i\) and \(A'\) into irreducible components \(A'_j\), and assign the computation of \(\textbf{certify}(B;Q;A_i;P;\alpha |_{A_i \times P};A_j',P',\alpha '_{A'_j \times P'})\) for all ij to distinct processors. As soon as for each j there exists at least one i such that the computation returns “true”, return “true”. So in what follows we may assume that \(A,A'\) are irreducible. They are given by prime ideals \(I \subseteq K[x_1,\ldots ,x_n]\) and \(J \subseteq K[y_1,\ldots ,y_m]\), respectively.

  2. (2)

    Let \(f_1,\ldots ,f_r\) be generators of I.

  3. (3)

    Compute \(b:=(\alpha ')^{(0)}(a')\) where \(a'\) is the generic point of \(A'\). So \(a'\) is just the m-tuple \((y_1+J,\ldots ,y_m+J) \in \Omega ^m\), where \(\Omega \) is the fraction field of \(K[y_1,\ldots ,y_m]/J\).

  4. (4)

    Compute the \(\Omega \)-valued point \((\alpha ')^{(1)}\) of \(\textbf{Map}(P',Q)\).

  5. (5)

    Construct a K-basis \(\gamma _1,\ldots ,\gamma _m\) of the vector space \(\textbf{Map}(P',P)\).

  6. (6)

    Set \(d_1:=0\), \(r:=\)“false”.

  7. (7)

    While not r, perform the steps (8)–(10):

  8. (8)

    From \(\alpha \) and \(d_1\), compute the natural numbers \(N_1,d_2\) from Corollary 5.5.2 and make the Ansatz \(\gamma (t)=\sum _{i=1}^m c_i(t) \gamma _m\) where \(c_i(t)\) is a linear combination of \(t^{-d_1},\ldots ,t^{d_2}\) with coefficients to be determined in an extension of \(\Omega \); and the Ansatz \(a(t)=(a_1(t),\ldots ,a_n(t))\), where \(a_i\) is also a linear combination of \(t^{-d_1},\ldots ,t^{d_2}\) with coefficients to be determined.

  9. (9)

    The desired properties of \((a(t),\gamma (t))\) from the second item of Corollary 5.5.2 translate into a system of polynomial equations for the \((m+n)\cdot (d_2+d_1+1)\) coefficients of the \(c_i(t)\) and the \(a_i(t)\). By a Gröbner basis computation, test whether a solution exists over an algebraic closure of \(\Omega \). If so, set \(r:=\)“true”.

  10. (10)

    Set \(d_1:=d_1+1\).

  11. (11)

    Return “true”.

Proof of Proposition 4.2.1

The first step is justified by the observation that the image closure of \(\alpha \) contains the image of \(\alpha '\) if and only if for each j, the image of \(\alpha '|_{A'_j \times P'}\) is contained in the image closure of some \(\alpha |_{A_i \times P}\).

If the image closure of \(\alpha \) contains the image of \(\alpha '\), then by Theorem 5.2.1, Proposition 5.4.1, Lemma 5.4.2, and Corollary 5.5.2, the procedure \(\textbf{certify}\) terminates and returns “true”. Otherwise, by the same results, the system of equations in step (9) does not have a solution, and the procedure does not terminate. \(\square \)

6 Conclusion

The Noetherianity theorem [9] and the unirationality theorem [2] imply that closed subsets of polynomial functors admit two different descriptions: an implicit description by finitely many equations, and a description as the image (closure) of some morphism. In this paper, we have described highly nontrivial algorithms \(\textbf{parameterise}\) and \(\textbf{implicitise}\) that translate between these two descriptions. Interestingly, \(\textbf{implicitise}\) requires calls to \(\textbf{parameterise}\) as well as Greenberg’s approximation theorem for a stopping criterion. We do not expect these two algorithms to be implemented in full generality anytime soon, but we do believe that their structure may guide us in finding equations for closed subsets of polynomial functors such as “cubics of q-rank \(\le 2\)”.