Table Of ContentA TEST FOR MONOMIAL CONTAINMENT
SIMONKEICHERANDTHOMASKREMER
Abstract. We present an algorithm to decide whether a given ideal in the
polynomialringcontainsamonomialwithoutusingGr¨obnerbases,factoriza-
tionorsub-resultantcomputations.
5
1
0 1. Introduction
2
Let K be a field. Given an ideal I ⊆ K[T ,...,T ], the monomial containment
n 1 r
a problem istodecidewhetherI containsamonomial. Equivalently,oneisinterested
J in whether the intersection V(I)∩Tr of the zero set V(I)⊆Kr with the algebraic
9 torus Tr :=(K∗)r is empty. The monomial containment problem occurs frequently
1
when determining tropical varieties [4] or when determining GIT-fans [10]. The
usual approach is via Gr¨obner bases: I contains a monomial if and only if the
]
C saturation I :(T ···T )∞ contains 1∈K[T ,...,T ]. This can also be decided by
1 r 1 r √
A a radical membership test: I contains a monomial if and only if T ···T ∈ I.
1 r
. In the present paper, we provide a direct approach involving neither Gr¨obner
h
basis computations nor (sub-)resultants or factorization of polynomials. We con-
t
a sider more generally the following problem: given a polynomial g ∈ K[T ,...,T ],
1 r
m prove or disprove the existence of an element x∈Kr such that
[
(1) f(x) = 0 for all f ∈I, g(x)(cid:54)= 0.
1
v Clearly, setting g := T1···Tr ∈ K[T1,...,Tr] in (1), the existence of such x is
3 equivalent to the monomial containment problem. Our algorithm, Algorithm 4.1,
4 proceeds in three steps:
5
(i) Compute finite subsets S ,...,S ⊆ K[T ,...,T ] that are in triangu-
4 1 m 1 r
0 lar shape and polynomials g1,...,gm such that the solutions of (1) are
. preserved, i.e., the zero sets satisfy
1
0 V(I)\V(g) = (cid:91)V(S )\V(g ) ⊆ Kr.
i i
5
1 (ii) Making certain variables T invertible, we obtain a function field L and
j
v: an embedding ι: K[T1,...,Tr] → L[Tk1,...,Tks] such that the embedded
i equations ι(S ) are dense, i.e., each variable T corresponds to an equa-
X i kj
tion.
r (iii) Then an element x ∈ Kr satisfying (1) exists if and only if the minimal
a
polynomial of the class ι(g ) ∈ L[T ,...,T ]/(cid:104)S (cid:105) is not a monomial for
i k1 ks i
some i.
Experiments with our implementation of Algorithm 4.1 suggest that it is compet-
itive for certain classes of input; for instance, it usually beats the Gr¨obner basis
approach when a solution exists, i.e., the ideal is monomial-free.
Note that the idea behind step (i) of the algorithm is quite common and similar
concepts have been used by several authors for a more explicit study or even the
explicitcomputationofsolutions. See,e.g.,[1,2,5,8,17]foraseriesofpaperswith
2010 Mathematics Subject Classification. 13P05,13P10,13P15,14Q99.
ThefirstauthorwassupportedbytheDFGPriorityProgramSPP1489.
1
2 S.KEICHERANDT.KREMER
Gr¨obnerbasis-freealgorithmsforsystemsofequations. ThemethodsofWang[16],
Thomas [13, 14] as well as B¨achler, Gerdt, Lange-Hegermann and Robertz [3] can
also deal with systems of equations and inequalities. They determine the solutions
of such systems by means of certain triangular sets called simple systems; their
computationinvolvessub-resultantcomputations. Allalgorithms,includingoursin
step(i),sharetheconceptoftriangularsets,certainfinitesubsetsS ⊆K[T ,...,T ]
i 1 r
(cid:83)
such that V(I)= V(S ) holds. The S then give insight into the structure of the
i i
solution set V(I) ⊆ Kr. As we are only interested in solvability of (1), we will
only need triangular sets with weaker properties but which can be computed more
efficiently.
The structure of this paper is as follows. In Section 2, we show how to decom-
pose the given ideal into a list of triangular sets with sufficient properties for our
solvability test; this is step (i) in the previous list. Section 3 is devoted to steps
(ii) and (iii), i.e., we show how to reduce the problem to a dense system over a
function field and how to determine the solvability of such a system by means of
minimal polynomial computations. Explicit algorithms are given in each section.
In Section 4, we present our algorithm for the monomial containment problem.
We compare the experimental running time of the perl implementation [12] of the
algorithm to the Gr¨obner basis approach as well as to the methods of [3, 16].
This paper builds on [11]. We would like to thank Ju¨rgen Hausen for helpful
discussions.
2. Triangular shape
Inthissection,wetreatitem(i)ofthelistonpage1,i.e.,wedecomposeasystem
as in (1) with an ideal I ⊆ K[T ,...,T ] and a polynomial g ∈ K[T ,...,T ] into
1 r 1 r
a list of finite sets of polynomials that are in triangular shape. We show how to
compute this decomposition by iteratively applying a set of operations that do not
change the solvability of (1).
We first define the notion of triangular shape. In the literature, they are also
called triangular sets [1, 2, 7, 9].
Definition 2.1. Fix the lexicographical ordering T > ... > T on K[T ,...,T ].
1 r 1 r
We call polynomials f ,...,f ∈ K[T ,...,T ] of triangular shape if for each f ,
1 s 1 r j
there is 1≤k(f )≤r such that
j
(i) we have k(f )<...<k(f ),
1 s
(ii) f ∈K[T ,...,T ]\K[T ,...,T ] holds for each 1≤j ≤s.
j k(fj) r k(fj)+1 r
Wedenotebydeg (f)the(T -)degree ofapolynomialf ∈K[T ,...,T ]considered
asanelementofthTei univariatei polynomialringK[T ; j (cid:54)=i][T ].1Moreorver,wewrite
j i
LC (f ) ∈ R := K(cid:2)T ,...,T (cid:3).
k(fi) i <k(fi) k(fi)+1 r
fortheleadingcoefficientofthepolynomialf consideredintheringR [T ].
i <k(fi) k(fi)
We now introduce the concept of (semi-) triangular systems. Assume I is gen-
erated by polynomials f ,...,f ∈K[T ,...,T ]. We sort them into two sets (and
1 s 1 r
keep track of the inequality g): polynomials that are already in triangular shape
F(cid:67) and remaining polynomials F(cid:3).
Definition 2.2. A semi-triangular system (of equations) is a tuple (F(cid:3),F(cid:67),k,g)
consisting of finite subsets F(cid:3), F(cid:67) ⊆ K[T1,...,Tr], an integer 0 ≤ k ≤ r and a
polynomial g ∈K[T ,...,T ] such that
1 r
(i) F(cid:67) is of triangular shape,
(ii) we have LCk(f)(f)|g for all f ∈F(cid:67),
(iii) the set {1,...,k} contains {k(f); f ∈F(cid:67)},
MONOMIAL CONTAINMENT TEST 3
(iv) for all f ∈F(cid:3) and each 1≤i≤k we have degTi(f)=0.
Moreover, we call a semi-triangular system (F(cid:3),F(cid:67),k,g) a triangular system if
F(cid:3) ⊆K holds.
Example 2.3. Define in K[T1,T2,T3] the subsets F(cid:3) := ∅ and F(cid:67) := {f1,f2,f3}
where the f and k(f ) are
i i
f1 := T12−(T2+T3)T1, k(f1) = 1,
f2 := T22−T3 , k(f2) = 2,
f3 := T32−T3, k(f3) = 3.
Then F(cid:67) is of triangular shape and (F(cid:3),F(cid:67),3,T1T2T3) is a triangular system.
Definition 2.4. AlistS ofsemi-triangularsystemsiscalledatriangle mush. Two
trianglemushesS andS(cid:48) areequivalent ifwehaveV(S)=V(S(cid:48))withthesolutions
V(S) := (cid:91) V (F(cid:3)∪F(cid:67))\V(g) ⊆ Kr.
(F(cid:3),F(cid:67),k,g)∈S
ForthecaseofasingleelementS ={S},wewillusethesamenotionsforS instead
of S.
Example 2.5. Consider the triangle mush S := {(F(cid:3),∅,0,g)} in K[T1,...,T4]
where g :=T1T2T3 and F(cid:3) consists of the two polynomials
f := (T −T )(T −T )T , f := (T +T −T )T .
1 3 1 3 2 2 2 1 2 3 4
Going through the different cases, one directly verifies that V(S)⊆K4 consists of
all points (x ,x ,x ,0) and (x ,x ,x ,0) ∈ K4 where x ∈ K∗. We will continue
1 2 1 1 2 2 i
this example in 4.3.
Given a triangle mush S, we are interested in operations that transform S into
an equivalent triangle mush S(cid:48) that consists of triangular systems.
Construction 2.6 (Solution-preserving operations). Let S := {(F(cid:3),F(cid:67),k,g)}
consist of a semi-triangular system. Each of the following operations produces an
equivalent triangle mush S(cid:48).
(i) Case-by-case analysis: If f ∈ K[T ,...,T ] and h ∈ K[T ,...,T ] are
k+1 r 1 r
such that g |h and h|fg, then one may choose
S(cid:48) := {(F(cid:3)∪{f},F(cid:67),k,g), (F(cid:3),F(cid:67),k,h)}.
(ii) Polynomial division: Consider f,h∈F(cid:3) and b∈K[T1,...,Tr] with b|g.
Assume that for some j ∈Z we have
≥0
bjf = ah+u, a,u ∈ K[T ,...,T ]
k+1 r
where b := LC (h) and deg (u) < deg (h). Then we choose the
Tk+1 Tk+1 Tk+1
triangle mush
S(cid:48) := {(F(cid:3)\{f}∪{u},F(cid:67),k,g)}.
(iii) Unused variable: If k <r and degTk+1(f)=0 holds for each f ∈F(cid:3), then
we may choose
S(cid:48) := {(F(cid:3),F(cid:67),k+1,g)}.
(iv) Sortpolynomial: Ifk <rholdsandthereisexactlyonepolynomialf ∈F(cid:3)
with deg (f)(cid:54)=0 and LC (f)|g, then we may choose
Tk+1 k(f)
S(cid:48) := {(F(cid:3)\{f},F(cid:67)∪{f},k+1,g)}.
4 S.KEICHERANDT.KREMER
(v) Last polynomial: Assume k < r and there is exactly one polynomial f ∈
F(cid:3) with degTk+1(f)(cid:54)=0. For −1≤j ≤d, we write
d j
(cid:88) (cid:88)
f = a Ti , f := a Ti ∈ R [T ],
i k+1 j i k+1 <k+1 k+1
i=0 i=0
F(cid:67)j := F(cid:67)∪{fj}, F(cid:3)j := (F(cid:3)\{f})∪{aj+1,...,ad}.
Then we may choose
S(cid:48) := (cid:8)(F1,F1,k+1,ga ),...,(Fd,Fd,k+1,ga ),
(cid:3) (cid:67) 1 (cid:3) (cid:67) d
(F(cid:3)−1,F(cid:67),k+1,g)(cid:9).
Proof. One directly checks that in all cases S(cid:48) is a triangle mush. For (i), each
x ∈ V(S) either satisfies f(x) = 0 and g(x) (cid:54)= 0 or we have f(x) (cid:54)= 0 and h | fg
implies h(x) (cid:54)= 0, i.e., x ∈ V(S(cid:48)). The inclusion V(S(cid:48)) ⊆ V(S) is clear from g | h.
We come to (ii). Each x∈V(S) satisfies
u(x) = b(x)jf(x)−a(x)h(x) = 0.
For the reverse inclusion, we use b | g to obtain b(x) (cid:54)= 0. Consequently, we may
infer f(x)=0 from
b(x)jf(x) = (bjf)(x) = a(x)h(x)+u(x) = 0.
Operations (iii) and (iv) are clear. For (v), we define the following triangle mushes
for 0≤l≤d:
Sl := {(F(cid:3)l ∪{fl},F(cid:67),k,g)}, Dl := {(F(cid:3)j,F(cid:67)j,k+1,gaj); l<j ≤d)}.
Observe that by an application of operation (i), we obtain an equality of solutions
V(Sl) = V (cid:0)(cid:8)(cid:0)F(cid:3)l−1∪{fl},F(cid:67),k,g(cid:1), (cid:0)F(cid:3)l ∪{fl},F(cid:67),k,gal(cid:1)(cid:9)(cid:1).
Astheideal(cid:104)Fl−1∪{f }(cid:105)equals(cid:104)Fl−1∪{f }(cid:105)andbyanapplicationofoperation
(cid:3) l (cid:3) l−1
(iv), we obtain
V(Sl) = V (cid:0)(cid:8)(cid:0)F(cid:3)l−1∪{fl−1},F(cid:67),k,g(cid:1), (cid:0)F(cid:3)l ,F(cid:67)l ,k+1,gal(cid:1)(cid:9)(cid:1)
= V (S ∪(D \D )).
l−1 l−1 l
Adding the equations stored in D on both sides does not change the solution set,
l
i.e., V (S ∪D ) is equal to V (S ∪D ). Iteratively, we obtain V (S ∪D ) =
l l l−1 l−1 d d
V (S ∪D ). Moreover, because of f =a and operation (iii):
0 0 0 0
V(S0) = V (cid:0)(F(cid:3)−1,F(cid:67),k,g)(cid:1) = V (cid:0)(F(cid:3)−1,F(cid:67),k+1,g)(cid:1).
We conclude that V(S) equals V(S ∪D )=V(S ∪D ) which in turn is the same
d d 0 0
as the solution set V(S(cid:48)). (cid:3)
The next algorithm transforms a trianglemushintoan equivalenttriangle mush
consistingonlyoftriangularsystems. Givenatriangularsystem(F(cid:3),F(cid:67),k,g),the
idea is to reduce Tk+1-degrees of an element f of the unsorted polynomials F(cid:3)
by successive polynomial divisions; afterwards, we move f into the set of sorted
polynomials F(cid:67).
GivenafinitesetofpolynomialsF ⊆K[T ,...,T ],itsreduction isafinitesubset
1 r
red(F)⊆K[T ,...,T ] such that
1 r
LT(f1) (cid:45) LT(f2) for all f1,f2 ∈red(F(cid:3)),
(cid:104)LT(F)(cid:105) ⊆ (cid:104)red(LT(F))(cid:105), (cid:104)F(cid:105) = (cid:104)red(F)(cid:105)
where we denote by LT(f) or LT(M) the leading term of a polynomial f or set of
polynomials M with respect to the ordering defined in Section 2. Computing the
MONOMIAL CONTAINMENT TEST 5
reduction of F means successively applying the division algorithm to the elements
of F, see, e.g., [6].
Algorithm 2.7 (MakeTriangular). Input: a triangle mush S in K[T ,...,T ].
1 r
• While there is S :=(F(cid:3),F(cid:67),k,g)∈S with k <r, do:
– Replace F(cid:3) by its reduction red(F(cid:3)).
– If there is f ∈F(cid:3) with degTk+1(f)>0, then:
∗ If there is h∈F(cid:3)\{f} with degTk+1(h)>0, then:
· Perform a polynomial division of f by h in the univariate
polynomial ring R:=K(T ,...,T )[T ] to obtain
k+2 r k+1
f = a(cid:48)h+u(cid:48) ∈ R.
· Setb:=LC (h)∈K[T ,...,T ]andj :=deg (h)+
k+1 k+2 r Tk+1
1 ∈ Z . With a := bja(cid:48) and u := bju(cid:48) ∈ K[T ,...,T ]
≥0 k+1 r
we then have
bjf = ah+u ∈ K[T ,...,T ].
k+1 r
· Redefine S :=(S\{S})∪{S(cid:48),S(cid:48)(cid:48)} where
S(cid:48) := (F(cid:3)\{f}∪{u},F(cid:67),k,bg),
S(cid:48)(cid:48) := (F(cid:3)∪{b},F(cid:67),k,g).
∗ Otherwise, if there is no such h, then:
· Redefine S :=(S\{S})∪{S(cid:48),S ,...,S } where with the
1 d
notation of Construction 2.6 (v):
S(cid:48) := (cid:0)F(cid:3)−1,F(cid:67),k+1,g(cid:1),
(cid:16) (cid:17)
S := Fj,Fj,k+1,ga .
j (cid:3) (cid:67) j
– Otherwise, if there is no such f, then:
∗ Redefine S :=(S\{S})∪{S(cid:48)} where S(cid:48) :=(F(cid:3),F(cid:67),k+1,g).
• Define S(cid:48) :=S.
Output: S(cid:48). Then S(cid:48) is a triangle mush that is equivalent to S and consists of
triangular systems.
Proof. Note that we use only operations described in Construction 2.6; for in-
stance, the replacement of S by (S \ {S}) ∪ {S(cid:48),S(cid:48)(cid:48)} is an application of, first,
operation (i) and then operation (ii). Therefore, S(cid:48) is equivalent to S. As each
S := (F(cid:3),F(cid:67),k,g) ∈ S(cid:48) satisfies k = r, each element of F(cid:3) is constant, i.e., S is
triangular.
It remains to show that Algorithm 2.7 terminates. To this end, consider the
infinite digraph G(cid:48) = (V(cid:48),E(cid:48)) where V(cid:48) is the set of all semi-triangular systems
over K[T ,...,T ] and, given vertices S ,S ∈ V, the edge (S ,S ) ∈ E(cid:48) exists if
1 r 1 2 1 2
and only if Algorithm 2.7 replaces S within a single iteration of the while-loop by
1
a triangle mush S(cid:48) with S ∈ S(cid:48). Let G = (V,E) be the subgraph induced by all
2
semi-triangular systems that are reachable by a path starting in S.
Consider a path (S ,S ,...) in G, i.e., S ∈ V and (S ,S ) ∈ E for all i. We
1 2 i i i+1
write S = (Fi,Fi,k ,g ). By construction, k ≤ k ≤ r holds for all i. This
i (cid:3) (cid:67) i i i i+1
means there is i ∈ Z such that k = k for all i ≥ i and Algorithm 2.7 will
1 ≥1 i+1 i 1
performthepolynomialdivisionbjf =ah+u,i.e.,operation(ii)ofConstruction2.6,
for each such S . Since always deg (b) = 0 holds, we have deg (f) >
i Tki+1 Tki+1
deg (u) and the reduction step only reduces T -degrees, the sequence
Tki+1 ki+1
(cid:88)
(N ) , N := deg (f) ∈ Z
i i≥i1 i Tki+1 ≥0
f∈Fi
(cid:3)
6 S.KEICHERANDT.KREMER
is monotonically decreasing. As N ∈ Z holds, this sequence either is finite or
i ≥0
becomes stationary. Assume the latter holds, i.e., there is i ∈ Z such that
2 ≥i1
N =N is valid for all i≥i . This implies, that for all i≥i in the polynomial
i i+1 2 2
division step only the “b-part” will be added, i.e.,
Fi+1 = Fi ∪{b}.
(cid:3) (cid:3)
In particular, the ideal (cid:104)LT(Fi)(cid:105) is contained in (cid:104)LT(Fi+1)(cid:105) for each i ≥ i . As
(cid:3) (cid:3) 2
K[T ,...,T ] is noetherian, the chain
1 r
(cid:10)LT(cid:0)Fi2(cid:1)(cid:11) ⊆ (cid:10)LT(cid:0)Fi2+1(cid:1)(cid:11) ⊆ ...
(cid:3) (cid:3)
becomes stationary, i.e., there is i ∈Z such that (cid:104)LT(Fi)(cid:105)=(cid:104)LT(Fi+1)(cid:105) holds
3 ≥1 (cid:3) (cid:3)
for all i≥i . Moreover, as b=LC (h) holds and h∈red(Fi), we have
3 k+1 (cid:3)
LT(b) ∈/ (cid:10)LT(cid:0)red(cid:0)Fi(cid:1)(cid:1)(cid:11) ⊇ (cid:10)LT(cid:0)Fi(cid:1)(cid:11).
(cid:3) (cid:3)
ThenbcannotbeanelementofFi+1 fori≥i ,acontradiction. Thus,thesequence
(cid:3) 3
(N ) is finite. In turn, this forces the (S ,S ,...) to be finite and acyclic.
i i 1 2
Since each vertex S ∈V is adjacent to only finitely many vertices, the previous
argumentshowsthatGisafinitetree. Inparticular,thewhile-loopinAlgorithm2.7
will be executed at most |G| times for each vertex S ∈ V, i.e., the algorithm
terminates. (cid:3)
Remark 2.8. Algorithm 2.7 is similar to the decomposition into simple systems
used in [3]. Note, however, that they are interested in special properties (e.g., dis-
jointness)ofthisdecompositionwhereasoursisweakerbutneedsnotuseoperations
like gcd or subresultant computations.
AnexamplecomputationwithAlgorithm2.7willbeperformedattheendofthe
next section in Example 4.3.
3. Solvability
We now come to steps (ii) and (iii) in the list on page 1: as before, we as-
sume we are given an ideal I = (cid:104)f ,...,f (cid:105) ⊆ K[T ,...,T ] and a polynomial
1 s 1 r
g ∈K[T ,...,T ] and want to answer the question whether there is x∈Kr satisfy-
1 r
ing (1).
Using Algorithm 2.7 of the previous section with input I and g, we obtain an
equivalent triangle mush S that consists of triangular systems. Note that we can
replace each system (F(cid:3),F(cid:67),k,g) ∈ S with F(cid:3) = {0} by the equivalent system
(∅,F(cid:67),k,g); systems with F(cid:3)∩K∗ (cid:54)= ∅ clearly are not solvable. Then (1) can be
rephrased as the question, whether there is x∈Kr such that
f(x) = 0 for all f ∈F(cid:67), g(x) (cid:54)= 0
holds for some (∅,F(cid:67),k,g) ∈ S. Consequently, it suffices to present methods for
the case S ={S} of a single triangular system. Here is an overview of the steps to
test whether V(S)(cid:54)=∅ holds:
K[T1,...,Tr] L[Tk1,...,Tks] L[Tk1,...,Tks] L[Tk1,...,Tks]/(cid:104)F(cid:67)(cid:48)(cid:105)
⊆ ⊆ ⊆ ∈
S (cid:31) 3.1 (cid:47)(cid:47)ι(S)(cid:31) 3.3 (cid:47)(cid:47)(∅,F(cid:67)(cid:48),k(cid:48),g(cid:48))(cid:31) 3.8 (cid:47)(cid:47)g(cid:48)
dense dense,monic min.polyn.monomial?
Here, L is a suitable function field. The following proposition reduces the treat-
ment of a triangular system in K[T ,...,T ] to a triangular, dense system in
1 r
L[T ,...,T ], i.e., a triangular system (∅,{f ,...,f },k,g) such that the set
k1 ks 1 s
{k ,...,k } coincides with {k(f ),...,k(f )}.
1 s 1 s
MONOMIAL CONTAINMENT TEST 7
Proposition 3.1 (Swapthe field). Consider a triangular system S :=(∅,F(cid:67),k,g)
in K[T1,...,Tr]. Write F(cid:67) = {f1,...,fs} and let ki := k(fi) ∈ Z≥1 be as in
Definition 2.1. Under the canonical embedding
ι: K[T ,...,T ] → L[T ,...,T ], L := K(T ; i(cid:54)∈{k ,...,k })
1 r k1 ks i 1 s
we obtain a triangular system ι(S):=(∅,ι(F(cid:67)),s,ι(g)) that is dense in the polyno-
mial ring L[T ,...,T ]. Moreover, we have
k1 ks
V(S) (cid:54)= ∅ ⇐⇒ V(ι(S)) (cid:54)= ∅.
For the proof of Proposition 3.1 we recall from [18, Ch. VI] the generalization of
evaluation homomorphisms; we will need this to control the elements in L. A place
is a K-homomorphism ε: R →K with a subring R ⊆L such that
ϕ ε
x ∈ L\R =⇒ x−1 ∈R and ε(x−1) = 0.
ε ε
Given x ∈ Kr−s, denote by ε(cid:48) : K[T ; i ∈/ {k ,...,k }] → K the evaluation
x i 1 s
homomorphism. According to [18, Thm. 5 in VI.4], we have
K[Ti; i∈/ {k1,...,ks}] ⊆ Rεx ⊆ L
ε(cid:48) (cid:15)(cid:15)εx
x (cid:40)(cid:40)
K
with a place ε : R → K extending ε(cid:48). Moreover, we define the domain of t =
(t ,...,t )∈Lxs asεtxhe intersection x
1 s
s
Dom(t) := (cid:92)Dom(t ), Dom(t ) := (cid:110)y ∈Kr−s; t ∈R (cid:111).
i i i εy
i=1
Lemma 3.2. In the situation of Proposition 3.1, assume we have k =1,...,k =
1 s
s. Then the following claims hold.
(i) Consider x ∈ Kr−s and t ,...,t ∈ L satisfying ε (t ···t ) = 0. Then
1 n x 1 n
there is 1≤j ≤n such that ε (t )=0.
x j
(ii) For each t ∈ V(ι(S)) ⊆ Ls and each x ∈ Dom(t) ⊆ Kr−s, we have
(ε (t ),...,ε (t ),x)∈V(S) where the closure is taken in Kr.
x 1 x s
(iii) Given x∈V(S)⊆Kr, write x=(x(cid:48)(cid:48),x(cid:48)) with x(cid:48) ∈Kr−s, x(cid:48)(cid:48) ∈Ks. Then
there is t∈V(ι(S))⊆Ls such that
x(cid:48) ∈ Dom(t) ⊆ Kr−s and (ε (t ),...,ε (t )) = x(cid:48)(cid:48).
x(cid:48) 1 x(cid:48) s
Proof. For (i), we relabel t ,...,t such that there is k ∈Z with t ∈R for all
1 n ≥0 i εx
i≤k and t ∈/ R for i>k. By definition of places, ε (t−1)=0 for all i>k and
i εx x i
thus
k (cid:32) n n (cid:33) (cid:32) n (cid:33)(cid:32) n (cid:33)
(cid:89)ε (t ) = ε (cid:89)t (cid:89) t−1 = ε (cid:89)t (cid:89) ε (cid:0)t−1(cid:1) = 0.
x i x i i x i x i
i=1 i=1 i=k+1 i=1 i=k+1
(cid:112) (cid:112)
For (ii), given f ∈ (cid:104)F(cid:67)(cid:105) : g, we have ι(f) ∈ (cid:104)ι(F(cid:67))(cid:105) : ι(g), which means
ι(f)(t)=0. Write f =(cid:80) a Tν. From
ν ν
s r
f(ε (t ),...,ε (t ),x) = (cid:88)a (cid:89)ε (t )νi (cid:89) xνj = ε (ι(f)(t)) = 0
x 1 x s ν x i j−s x
ν i=1 j=s+1
we infer that (ε (t ),...,ε (t ),x) ∈ Kr is an element of the closure V(S) =
x 1 x s
V((cid:112)(cid:104)F(cid:67)(cid:105):g) in Kr.
8 S.KEICHERANDT.KREMER
We come to (iii). We first show by (finite) induction on 0 ≤ m ≤ s, that there
are t ,...,t ∈L such that for the evaluation homomorphism
m+1 s
(cid:40)
t , m<j ≤s,
θ : K[T ,...,T ] → L[T ,...,T ], T (cid:55)→ j
m 1 r 1 m j
T , else
j
we have (cid:104)f ,...,f (cid:105) ⊆ ker(θ ) and ε (t ) = x holds for each m < j ≤ s.
m+1 s m x(cid:48) j j
Nothing is to prove for m = s. Assume now that this claim holds for a fixed
1 ≤ m ≤ s; we show that it also holds for m−1. Since we have LC (f ) | g,
m i
g(x)(cid:54)=0 and ε (t )=x for m<j ≤s, setting a:=LC (f ), we obtain
x(cid:48) j j m m
(cid:12)
εx(cid:48)(θm(a)) = a(x)(cid:12)εx(g) = g(x) (cid:54)= 0.
In particular, θ (a) (cid:54)= 0. Therefore, the non-zero univariate polynomial f(cid:48) :=
m m
θ (f )∈L[T ] can be decomposed into linear factors
m m m
n
f(cid:48) = c(cid:89)(T −t ) with t ∈ L, c ∈ L∗.
m m mj mj
j=1
Note that c=θ (a) holds and thus ε (c)(cid:54)=0. Moreover, using again ε (t )=x
m x(cid:48) x(cid:48) j j
forj >mandf(cid:48) =θ (f ),wehaveε (f(cid:48) (x ))=f (x)=0wherethevanishing
m m m x(cid:48) m m m
is due to x∈V(S). The identity
n
(cid:89)
0 = εx(cid:48)(fm(cid:48) (xm)) = εx(cid:48)c (xm−tmj)
j=1
together with statement (i) provide us with 1 ≤ j ≤ n such that ε (t ) =
x(cid:48) mj
x . Defining t := t , the elements t ,...,t ∈ L satisfy the claims: we have
m m mj m s
(cid:104)f ,...,f (cid:105)⊆ker(θ ) since θ (f )=f(cid:48) (t )=0 and ε (t )=x holds.
m s m−1 m−1 m m m x(cid:48) m m
Using this argument, we now have a map θ0 such that both (cid:104)F(cid:67)(cid:105)⊆ker(θ0) and
ε (t )=x hold. Setting t:=(t ,...,t ), we obtain
x(cid:48) m m 1 s
t ∈ V(F(cid:67))\V(g) = V(ι(S)) ⊆ L
because f (t) = θ (t ) = 0 for each 1 ≤ m ≤ s and ε (θ (t)) = g(x) (cid:54)= 0 implies
m 0 m x(cid:48) 0
in particular that θ (t)=g(t)(cid:54)=0. By construction, ε (t)=x(cid:48)(cid:48) holds. (cid:3)
0 x(cid:48)
Proof of Proposition 3.1. Clearly,thesystemisdense. ByLemma3.2(iii),V(S)(cid:54)=
∅ implies that also V(ι(S)) is non-empty. If for each t ∈ V(ι(S)), there is x ∈
Dom(t), then Lemma 3.2 (ii) ensures V(S)(cid:54)=∅ and therefore V(S)(cid:54)=∅.
ItthusremainstoprovethatDom(t)(cid:54)=∅. Let1≤j ≤sbeaninteger. Ift =0
j
holds, clearly Dom(t ) = Kr−s \V(1) is non-empty. If t (cid:54)= 0, we consider the
j j
product f of the minimal polynomial of t over L with its common denominator
j
and thereby obtain a polynomial h:
m m
(cid:88) (cid:88)
f = a Xi, h = a Xi ∈ K[T ; j (cid:54)∈{k ,...,k }][X]
i m−i j 1 s
i=0 i=0
where h(t−1) = t−mf(t ) = 0. By definition, each x ∈ Kr−s with x ∈/ Dom(t )
j j j j
must satisfy ε (t−1) = 0. For all i > 0, from a ∈ K[T ; j (cid:54)∈{k ,...,k }] we
x j m−i j 1 s
know that a ∈R holds and therefore obtain ε (a t−i)=0. We have
m−i εx x m−i j
(cid:32) m (cid:33)
(cid:88)
ε (a ) = ε h(t−1)− a t−i = 0,
x m x j m−i j
i=1
MONOMIAL CONTAINMENT TEST 9
from which we infer that a (x) = 0 and therefore x ∈ V(a ) ⊆ Kr−s hold; note
m m
that the inclusion V(a )(cid:40)Kr−s is proper since a (cid:54)=0. In other words,
m m
Dom(t ) ⊇ Kr−s\V(a ) (cid:54)= ∅.
j m
Asfiniteintersectionofsupersetsofnon-emptyopensubsets,alsothesetDom(t)=
Dom(t )∩...∩Dom(t ) is non-empty; this completes the proof. (cid:3)
1 s
For the remainder of this section, we write L for a field as in Proposition 3.1;
note, however, that the following claims also hold for any field L.
The next step is to make all coefficients of a dense triangular system monic. We
will call a triangular system (∅,F(cid:67),k,g) in L[T1,...,Tr] monic if LCk(f)(f) = 1
for all f ∈F(cid:67). For instance, the system in Example 2.3 is monic.
Proposition 3.3 (Make monic). Consider a triangular system S := (∅,F(cid:67),k,g)
in the ring L[T ,...,T ] that is dense in L[T ,...,T ] for a 1 ≤ n ≤ r. Assume
1 r n r
there is f ∈ F(cid:67) with k(f) = n such that F := F(cid:67)\{f} is monic. Then the class
h∈R:=L[T ,...,T ]/(cid:104)F(cid:105) of h:=LC (f) is annihilated by a polynomial
n+1 r Tn
p = bXj +fXj+1 ∈ L[X]\{0} with f ∈ L[X], b∈L∗
where j ∈ Z is maximal with Xj | p. Moreover, writing f = hTm + c with
≥0 n
m ∈ Z and c ∈ L[T ,...,T ] such that deg (c) < m, we have a monic dense
≥0 n r Tn
triangular system S(cid:48) that is equivalent to S:
f(h)
S(cid:48) := (∅,F ∪{f(cid:48)},k,g) with f(cid:48) := Tm− c ∈ L[T ,...,T ].
n b n r
Lemma 3.4. (i) Consider a triangular system S := (∅,F(cid:67),k,g) in the ring
L[T ,...,T ] that is dense in L[T ,...,T ] for a 1 ≤ n ≤ r. Setting
1 r n r
R:=L[Tn,...,Tr]/(cid:104)F(cid:67)(cid:105), the ring extension L⊆R is integral.
(ii) Let L ⊆ R be a ring extension, I ⊆ R an ideal and h ∈ R such that
√
h∈R/I is integral over L. Define J := I :h⊆R and let
p = bXj +fXj+1 ∈ L[X] with f ∈ L[X], b∈L∗
be the minimal polynomial of h where j ∈ Z is maximal with Xj | p.
≥0
Then h(cid:48) :=−f(h)/b∈R yields hh(cid:48)−1∈J.
Proof. For (i), we write F(cid:67) = {fn,...,fr} and assume k(fi) = i. Define Rj :=
L[T ,...,T ]/(cid:104)f ,...,f (cid:105) for n≤j ≤r and R =L. The canonical projection
n r j r r+1
π: R [T ] → R = R [T ]/(cid:104)f (cid:105), f (cid:55)→ f +(cid:104)f (cid:105)
j+1 j j j+1 j j j
gives us π(f (T )) = f (T ) = 0. Since R = R [T ] and f ∈ R [X] is monic,
j j j j j j+1 j j j+1
the generator T is integral over R and non-zero. This shows that in the chain
j j+1
R=R ⊇...⊇R =L each ring extension is integral, and so is R⊇L.
n r+1
We come to (ii). Note that p(h) ∈ I and I ⊆ J ensures p(h+J) = 0+J. We
have
(cid:0) (cid:1) j
p(h) = hf(h)+b h = 0 ∈ R/J.
√
Observe that h is not a zero-divisor: for each x ∈ R with xh ∈ I : h, already
√
x ∈ I : h holds. That is hf(h) + b = 0. Setting h(cid:48) := −f(h)/b, we obtain
h(cid:48)h−1∈J from
f(h) f(h)h+b
h(cid:48)h−1 = − h−1 = − = 0 ∈ R/J. (cid:3)
b b
Proof of Proposition 3.3. Note that the system (∅,F,k,g) in L[T ,...,T ] is dense
1 r
in L[T ,...,T ]. By Lemma 3.4 (i), the residue class h ∈ R is integral over L,
n+1 r
10 S.KEICHERANDT.KREMER
i.e., p exists. Using the inclusion of the ideal (cid:112)(cid:104)F(cid:105) : h ⊆ L[T ,...,T ] in the
n+1 r
ideal (cid:112)(cid:104)F(cid:105):g ⊆L[T ,...,T ], we obtain
1 r
(cid:112) (cid:112) −f(h)
hh(cid:48)−1 ∈ (cid:104)F(cid:105):h ⊆ (cid:104)F(cid:105):g with h(cid:48) := ∈ L[T ,...,T ]
b n+1 r
fromthesecondstatementofLemma3.4. Onedirectlyverifiestheequalityofideals
(cid:112) (cid:112) (cid:112)
(cid:104)F(cid:67)(cid:105):g = (cid:104)F(cid:105)+(cid:104)f(cid:105):g = (cid:104)F(cid:105)+(cid:104)f(cid:48)(cid:105):g.
In particular, V(S)=V(S(cid:48)) holds with the dense triangular system S(cid:48). Moreover,
LC (f(cid:48))=1 by choice of f(cid:48) and S(cid:48) is monic. (cid:3)
1
In order to make Proposition 3.3 computational, we first show how one can
compute the required minimal polynomials.
Algorithm 3.5 (MinimalPolynomial). Input: an element g ∈ R where L ⊆ R is
an integral ring extension of finite dimension d:=dimL(R).
• ChoosingasuitableL-vectorspacebasisofR,weconsiderM :=[g0,...,gd]
as a d×(d+1) matrix over L.
• Compute the kernel K :=ker(M)(cid:54)={0}.
• Choose q ∈K ⊆Ld+1 such that max(1≤j ≤d; q (cid:54)=0) is minimal.
j
• Define p :=q X0+...+q Xd ∈L[X].
g 0 d
Output: p ∈L[X]. This is the minimal polynomial of g ∈R.
g
Proof. By construction, we have p(g) = Mq = 0. For the minimality, let p(cid:48) =
(cid:80)d q(cid:48)Xj ∈ L[X] be the minimal polynomial of g. Then Mq(cid:48) = (cid:80)d q(cid:48)hj =
j=0 j j=0 j
p(cid:48)(h)=0, i.e., q(cid:48) ∈K. By choice of q, we have
deg(p(cid:48)) = max(1≤j ≤d; q(cid:48) (cid:54)=0) ≥ max(1≤j ≤d; q (cid:54)=0) = deg(p). (cid:3)
j j
Remark 3.6. In Algorithm 3.5, the element q ∈K can be computed using Gauss-
ian elimination.
Algorithm 3.7 (Make monic). Input: a triangular system S :=(∅,F(cid:67),k,g) that
is dense in L[T1,...,Tr]. We assume F(cid:67) ={f1,...,fr} with k(fi)=i.
• For n=r down to 1, do:
– Set Fn := {f ; i > n} ⊆ L[T ,...,T ] and define the dense trian-
(cid:67) i n+1 r
gular system (∅,Fn,k,g).
(cid:67)
– Decompose f = hTd + c with d ∈ Z and h ∈ L[T ,...,T ],
n n ≥1 n+1 r
c∈L[T ,...,T ] such that deg (c)<d.
n r Tn
– Use Algorithm 3.5 to compute the monic minimal polynomial p ∈
h
L[X] of h∈L[T ,...,T ]/(cid:104)Fn(cid:105).
n+1 r (cid:67)
– Decompose p = bXj+1 +aXj with b ∈ L[X], a ∈ L∗ by choosing
h
j ∈Z maximal with Xj |p .
≥0 h
(cid:112)
– Define h(cid:48) :=−b(h)/a. This yields hh(cid:48)−1∈ (cid:104)Fn(cid:105):h.
(cid:67)
– Redefinef asTd+h(cid:48)c∈L[T ,...,T ]. ThenS(cid:48) :=(∅,Fn∪{f },k,g)
n n n r (cid:67) n
is a monic triangular system that is dense in L[T ,...,T ].
n r
Output: S(cid:48). Then S(cid:48) is a monic triangular system that is dense in L[T ,...,T ]
1 r
and is equivalent to S.
Proof. Note that the minimal polynomial p exists by Lemma 3.4 (i) since the
h
system is dense. By Lemma 3.4 (ii), h ∈ L[T ,...,T ]/(cid:112)(cid:104)Fn(cid:105) : h is invertible.
n+1 r (cid:67)
The remaining steps are correct by Proposition 3.3. (cid:3)
Wenowshowthattheexistenceofsolutionsofamonic,densetriangularsystem
can be tested by determining a minimal polynomial.