arXiv:1604.04372v2 [math.AG] 14 Jul 2016

The Chow Form of the Essential Variety in Computer Vision
Gunnar Fløystad, Joe Kileel, Giorgio Ottaviani
Abstract
The Chow form of the essential variety in computer vision is calculated. Our derivation
uses secant varieties, Ulrich sheaves and representation theory. Numerical experiments
show that our formula can detect noisy point correspondences between two images.

1

Introduction

The essential variety E is the variety of 3 × 3 real matrices with two equal singular values,
and the third one equal to zero (σ1 = σ2 , σ3 = 0). It was introduced in the setting of
computer vision; see [19, §9.6]. Its elements, the so-called essential matrices, have the form
T R, where T is real skew-symmetric and R is real orthogonal. The essential variety is a
cone of codimension 3 and degree 10 in the space of 3×3-matrices, defined by homogeneous
cubic equations, that we recall in (2.1). The complex solutions of these cubic equations
define the complexification EC of the essential variety. While the real essential variety is
smooth, its complexification has a singular locus that we describe precisely in §2.
The Chow form of a codimension c projective variety X ⊂ Pn is the equation Ch(X) of
the divisor in the Grassmannian Gr(Pc−1 , Pn ) given by those linear subspaces of dimension
c−1 which meet X. It is a basic and classical tool that allows one to recover much geometric
information about X; for its main properties we refer to [17, §4]. In [1, §4], the problem of
computing the Chow form of the essential variety was posed, while the analogous problem
for the fundamental variety was solved, another important variety in computer vision.
The main goal of this paper is to explicitly find the Chow form of the essential variety.
This provides an important tool for the problem of detecting if a set of image point correspondences {(x(i) , y (i) ) ∈ R2 × R2 | i = 1, . . . , m} comes from m world points in R3 and
two calibrated cameras. It furnishes an exact solution for m = 6 and it behaves well given
noisy input, as we will see in §4. Mathematically, we can consider the system of equations:
(
g
g
(i) ≡ x
(i)
AX
(1.1)
g
(i) ≡ g
BX
y (i) .

2010 Mathematics Subject Classification. 14M12, 14C05, 14Q15, 13D02, 13C14, 68T45.
Key words and phrases. Chow form, Ulrich sheaf, Pieri resolutions, calibrated cameras, essential variety.

1

(i)
(i)
g
(i) = (x(i) : x(i) : 1)T ∈ P2 and g
Here x
y (i) = (y1 : y2 : 1)T ∈ P2 are the given image points.
1
2
The unknowns are two 3 × 4 matrices A, B with rotations in their left 3 × 3 blocks and
g
(i) ∈ P3 . These represent calibrated cameras and world points, respectively.
m = 6 points X
A calibrated camera has normalized image coordinates, as explained in [19, §8.5]. Here ≡
denotes equality up to nonzero scale. From our calculation of Ch(EC ), we deduce:

Theorem 1.1. There exists an explicit 20 × 20 skew-symmetric matrix M(x, y) of degree
≤ (6, 6) polynomials over Z in the coordinates of (x(i) , y (i) ) with the following properties. If
(1.1) admits a complex solution then M(x(i) , y (i) ) is rank-deficient. Conversely, the variety
of point correspondences (x(i) , y (i) ) such that M(x(i) , y (i) ) is rank-deficient contains a dense
subset for which (1.1) admits a complex solution.
In fact, we will produce two such matrices. Both of them, along with related formulas we
derive, are available in ancillary files accompanying the arXiv version of this paper, and
we have posted them at http://math.berkeley.edu/~jkileel/ChowFormulas.html.
Our construction of the Chow form uses the technique of Ulrich sheaves introduced by
Eisenbud and Schreyer in [12]. We construct rank 2 Ulrich sheaves on the essential variety
EC . For an analogous construction of the Chow form of K3 surfaces, see [3].
From the point of view of computer vision, this paper contributes a complete characterization for an ‘almost-minimal’ problem. Here the motivation is 3D reconstruction. Given
multiple images of a world scene, taken by cameras in an unknown configuration, we want
to estimate the camera configuration and a 3D model of the world scene. Algorithms for
this are complex, and successful. See [2] for a reconstruction from 150,000 images.
By contrast, the system (1.1) encodes a tiny reconstruction problem. Suppose we are
given six point correspondences in two calibrated pictures (the right-hand sides in (1.1)).
We wish to reconstruct both the two cameras and the six world points (the left-hand
sides in (1.1)). If an exact solution exists then it is typically unique, modulo the natural
symmetries. However, an exact solution does not always exist. In order for this to happen,
a giant polynomial of degree 120 in the 24 variables on the right-hand sides has to vanish.
Theorem 1.1 gives an explicit matrix formula for that polynomial.
The link between minimal or almost-minimal reconstructions and large-scale reconstructions is surprisingly strong. Algorithms for the latter use the former reconstructions
repeatedly as core subroutines. In particular, solving the system (1.1) given m = 5 point
pairs, instead of m = 6, is a subroutine in [2]. This solver is optimized in [24]. It is used to
generate hypotheses inside random sampling consensus (RANSAC) [15] schemes for robust
reconstruction from pairs of calibrated images. See [19] for more vision background.
This paper is organized as follows. In §2, we prove that EC is a hyperplane section of
s of 4 × 4 symmetric matrices of rank ≤ 2. This implies a determinantal
the variety P X4,2
description of EC ; see Proposition 2.6. A side result of the construction is that EC is the
secant variety of its singular locus, which corresponds to pairs of isotropic vectors in C3 .
In §3, we construct two Ulrich sheaves on the variety of 4 × 4 symmetric matrices of
rank ≤ 2. One of the constructions we propose is new to our knowledge. Both sheaves are
2

GL(4)-equivariant, and they admit “Pieri resolutions” in the sense of [28]. We carefully
analyze the resolutions using representation theory, and in particular show that their middle
differentials may be represented by symmetric matrices; see Propositions 3.8 and 3.11.
In §4, we combine the results of the previous sections and we construct the Chow form
of the essential variety. The construction from [12] starts with our rank 2 Ulrich sheaves
and allows to define two 20 × 20 matrices in the Plücker coordinates of Gr(P2 , P8 ) each of
which drops rank exactly when the corresponding subspace P2 meets the essential variety
EC . It requires some technical effort to put these matrices in skew-symmetric form, and
here our analysis from §3 pays off. We conclude the paper with numerical experiments
demonstrating the robustness to noise that our matrix formulas in Theorem 1.1 enjoy.
Acknowledgements. The authors are grateful to Bernd Sturmfels for his interest and
encouragement. They thank Anton Fonarev pointing out the connection to Littlewood
complexes in Remark 3.6. J.K. and G.O. are grateful to Frank Schreyer for very useful
conversations. G.F. and J.K. thank Steven Sam for help with PieriMaps and for suggesting
references to show that the middle maps φ are symmetric. J.K. thanks Justin Chen for
valuable comments. G.O. is a member of GNSAGA-INDAM.

2

The essential variety is a determinantal variety

2.1

Intrinsic description

Let E ⊂ R3×3 be the essential variety defined by the conditions:
E := {M ∈ R3×3 | σ1 (M ) = σ2 (M ), σ3 (M ) = 0}.
The polynomial equations of E are (see [14, §4]) as follows:


E = {M ∈ R3×3 | det(M ) = 0, 2(M M T )M − tr M M T M = 0}.

(2.1)

These 10 cubics minimally generate the real radical ideal [4, p.85] of the essential variety
E, and that ideal is prime. Indeed, the real radical property follows from our Proposition
2.1(i) and [21, Theorem 12.6.1]. We denote by EC the projective variety in P8C given by the
complex solutions of (2.1). The essential variety EC has codimension 3 and degree 10. In
s
this section, we will prove that it is isomorphic to a hyperplane section of the variety P X4,2
of complex symmetric 4 × 4 matrices of rank ≤ 2. The first step towards this is Proposition
2.1 below, and that relies on the group symmetries of EC , which we now explain.
Consider R3 with the standard inner product Q, and the corresponding action of
SO(3, R) on R3 . Complexify R3 and consider C3 with the action of SO(3, C), which has universal cover SL(2, C). It is technically simpler to work with the action of SL(2, C). Denoting
by U the irreducible 2-dimensional representation of SL(2, C), we have the equivariant isomorphism C3 ∼
= S2 U . Writing Q also for the complexification of the Euclidean product,
3

the projective space P(S2 U ) divides into two SL(2, C)-orbits, namely the isotropic quadric
with equation Q(u) = 0 and its complement. Let V be another complex vector space of dimension 2. The essential variety EC is embedded into the projective space of 3 × 3-matrices
P(S2 U ⊗ S2 V ). Since the singular value conditions defining E are SO(3, R) × SO(3, R)invariant, it follows that EC is SL(U ) × SL(V )-invariant using [10, Theorem 2.2].
The following is a new geometric description of the essential variety. From the computer
vision application, we start with the set of real points E. However, below we see that the
surface Sing(EC ) inside EC , which has no real points, ‘determines’ the algebraic geometry.
Part (i) of Prop. 2.1 is proved also in [22, Prop. 5.9].
Proposition 2.1. (i) The singular locus of EC is the projective surface given by:

Sing(EC ) = a · bT ∈ P(C3×3 ) | Q(a) = Q(b) = 0 .

(ii) The second secant variety of Sing(EC ) equals EC .

Proof. Denote by S the variety a · bT ∈ P(C3×3 ) | Q(a) = Q(b) = 0 , and let Sb be the
b consists of elements of the form M =
affine cone over it. The line secant variety σ2 (S)
3×3
T
T
T
such that Q(ai ) = ai ai = Q(bi ) = bTi bi = 0 for i = 1, 2. We coma 1 b1 + a 2 b2 ∈ C
T
pute that M M = a1 bT1 b2 aT2 + a2 bT2 b1 aT1 so that tr(M M T ) = 2(bT1 b2 )(aT1 a2 ). Moreover
M M T M = a1 bT1 b2 aT2 a1 bT1 + a2 bT2 b1 aT1 a2 bT2 = (bT1 b2 )(aT1 a2 )M . Hence the equations (2.1)
of EC are satisfied by M . This proves that σ2 (S) ⊂ EC . Since σ2 (S) and EC are both of
codimension 3 and EC is irreducible, the equality σ2 (S) = EC follows. It remains to prove
(i). Denote by [ai ] the line generated by ai . Every element a1 bT1 + a2 bT2 with [a1 ] 6= [a2 ],
[b1 ] 6= [b2 ] and Q(ai ) = Q(bi ) = 0 for i = 1, 2 can be taken by SL(U ) × SL(V ) to a scalar
multiple of any other element of the same form. This is the open orbit of the action of
SL(U ) × SL(V ) on EC . The remaining orbits are the following:
1. the surface S, with set-theoretic equations M M T = M T M = 0.

2. T1 \ S, where T1 = a · bT ∈ P(C3×3 ) | Q(a) = 0 is a threefold, with set-theoretic
equations M T M = 0.

3. T2 \ S, where T2 = a · bT ∈ P(C3×3 ) | Q(b) = 0 is a threefold, with set-theoretic
equations M M T = 0.
4. Tan(S) \ (T1 ∪ T2 ), where the tangential variety Tan(S) is the fourfold union of all
tangent spaces to S, with set-theoretic equations tr(M M T ) = 0, M M T M = 0.


0 0
√1
One can compute explicitly that the Jacobian matrix of EC at  −1 0 0 ∈ T1 \ S
0
0 0
has rank 3. The following code in Macaulay2 [18] does that computation:

4

R = QQ[m_(1,1)..m_(3,3)]
M = transpose(genericMatrix(R,3,3))
I = ideal(det(M))+minors(1,2*M*transpose(M)*M - trace(M*transpose(M))*M)
Jac = transpose jacobian I
S = QQ[q]/(1+q^2)
specializedJac = (map(S,R,{1,0,0,q,0,0,0,0,0}))(Jac)
minors(3,specializedJac)
Hence the points in T1 \ S are smooth points of EC . By symmetry, also the points in
T2 \ S are smooth. By semicontinuity, the points in Tan(S) \ (T1 ∪ T2 ) are smooth. Since
points in S are singular for the secant variety σ2 (S), this finishes the proof of (i).
Remark 2.2. From the study of tensor decomposition, the parametric description in
Proposition 2.1 is identifiable. That shows that real essential matrices have the form
aT b + aT b with a, b ∈ C3 and Q(a) = Q(b) = 0. This may be written in the alternative
form (u2 )T v 2 + (u2 )T v 2 ∈ S2 (U ) ⊗ S2 (V ) with u ∈ U , v ∈ V . This may help in computing
real essential matrices. Note that the four non-open orbits listed in the proof of Proposition
2.1 are contained in the isotropic quadric tr(M M T ) = 0, hence they have no real points.
Remark 2.3. The surface Sing(EC ) is more familiar with the embedding by O(1, 1), when
it is the smooth quadric surface, doubly ruled by lines. In the embedding by O(2, 2), the two
rulings are given by conics. These observations suggests expressing EC as a determinantal
variety, as we do next in Proposition 2.4. Indeed, note that the smooth quadric surface
embedded by O(2, 2) is isomorphic to a linear section of the second Veronese embedding
of P3 , which is the variety of 4 × 4 symmetric matrices of rank 1.
Proposition 2.4. The essential variety EC is isomorphic to a hyperplane section of the
variety of rank ≤ 2 elements in P(S2 (U ⊗ V )). Concretely, that ambient space identifies
s , and
with the projective variety of 4 × 4 symmetric matrices of rank ≤ 2, denoted by P X4,2
the section consists of traceless 4 × 4 symmetric matrices of rank ≤ 2.
Proof. The embedding of P(U ) × P(V ) in P(S2 (U ) ⊗ S2 (V )) is given by (u, v) 7→ u2 ⊗ v 2 .
Recall that Cauchy’s formula states S2 (U ⊗ V ) = (S2 (U ) ⊗ S2 (V )) ⊕ ∧2 U ⊗ ∧2 V , where
dim(U ⊗ V ) = 4. Hence, P(S2 (U ) ⊗ S2 (V )) is equivariantly embedded as a codimension
one subspace in P(S2 (U ⊗ V )). The image is the subspace of traceless elements, and
this map sends u2 ⊗ v 2 7→ (u ⊗ v)2 . By Proposition 2.1, we have shown that Sing(EC )
embeds into a hyperplane section of the variety of rank 1 elements in P(S2 (U ⊗ V )). So,
EC = σ2 (Sing(EC )) embeds into that hyperplane section of the variety of rank ≤ 2 elements.
Comparing dimensions and degrees, the result follows.
Remark 2.5. In light of the description in Proposition 2.4, it follows by Example 3.2 and
Corollary 6.4 of [7] that the Euclidean distance degree is EDdegree(EC ) = 6. This result
has been proved also in [9], where the computation of EDdegree was performed in the more
5

general setting of orthogonally invariant varieties. This quantity measures the algebraic
complexity of finding the nearest point on E to a given noisy data point in R3×3 .

2.2

Coordinate description

We now make the determinantal description of EC in Proposition 2.4 explicit in coordinates.
For this, denote a = (a1 , a2 , a3 )T ∈ C3 . We have Q(a) = a21 + a22 + a23 . The SL(2, C)-orbit
T
√
Q(a) = 0 is parametrized by u21 − u22 , 2u1 u2 , −1(u21 + u22 ) where (u1 , u2 )T ∈ C2 . Let:


m11 m12 m13
M = m21 m22 m23  ∈ C3×3 ,
m31 m32 m33
and define the 4 × 4 traceless symmetric matrix s(M ) (depending linearly on M ):

m11 − m22 − m33

m13 + m31
1
s(M ) := 
2
m12 + m21
m23 − m32

m13 + m31
−m11 − m22 + m33
m23 + m32
m12 − m21

m12 + m21
m23 + m32
−m11 + m22 − m33
−m13 + m31


m23 − m32

m12 − m21

.
−m13 + m31 
m11 + m22 + m33

(2.2)

This construction furnishes a new view on the essential variety E, as described in Proposition 2.6.
Proposition 2.6. The linear map s in (2.2) is a real isometry from the space of 3 × 3 real
matrices to the the space of traceless symmetric 4 × 4 real matrices. We have that:
M ∈ E ⇐⇒ rk(s(M )) ≤ 2.
The complexification of s, denoted again by s, satisfies for any M ∈ C3×3 :
M ∈ Sing(EC ) ⇐⇒ rk(s(M )) ≤ 1,
M ∈ EC ⇐⇒ rk(s(M )) ≤ 2.
Proof. We construct the correspondence over C at the level of Sing(EC ) and then we extend
it by linearity. Choose coordinates (u1 , u2 ) in U and coordinates (v1 , v2 ) in V . Consider
the following parametrization of matrices M ∈ Sing(EC ):


u21 − u22


√

 · v12 − v22 , 2v1 v2 , −1(v12 + v22 ) .
M = 
(2.3)
√ 2u1 u2

2
2
−1(u1 + u2 )

Consider also the following parametrization of the Euclidean quadric in U ⊗ V :
√
√

−1(u2 v2 − u1 v1 ), u1 v1 + u2 v2 , − −1(u1 v2 + u2 v1 ), −u1 v2 + u2 v1 .
k=
6

The variety of rank 1 traceless 4 × 4 symmetric matrices is accordingly parametrized by
kT k. Substituting (2.3) into the right-hand side below, a computation verifies that:
kT k = s(M ).
This proves the second equivalence in the statement above and explains the definition of
s(M ), namely that it is the equivariant embedding from Proposition 2.4 in coordinates.
The third equivalence follows because EC = σ2 (Sing(EC )), by Proposition 2.1(ii). For the
first equivalence, wenote that s is defined over R and now a direct computation verifies
that tr s(M )s(M )T = tr M M T for M ∈ R3×3 .
Note that the ideal of 3-minors of s(M ) is indeed generated by the ten cubics in (2.1).

Remark 2.7. The critical points of the distance function from any data point M ∈ R3×3
to E can be computed by means of the SVD of s(M ), as in [7, Example 2.3].

Ulrich sheaves on the variety of symmetric 4 × 4 matrices
of rank ≤ 2

3

Our goal is to construct the Chow form of the essential variety. By the theory of Eisenbud
and Schreyer [12], this can be done provided one has an Ulrich sheaf on this variety. The
notions of Ulrich sheaf, Chow forms and the construction of [12] will be explained below.
As shown in §2, the essential variety EC is a linear section of the projective variety
s of symmetric 4 × 4 matrices of rank ≤ 2. If we construct an Ulrich sheaf on P X s ,
P X4,2
4,2
then a quotient of this sheaf by a linear form is an Ulrich sheaf on EC provided that linear
s . We will achieve this twice, in §3.4 and §3.5.
form is regular for the Ulrich sheaf on P X4,2

3.1

Definition of Ulrich modules and sheaves

Definition 3.1. A graded module M over a polynomial ring A = C[x0 , . . . , xn ] is an Ulrich
module provided:
1. It is generated in degree 0 and has a linear minimal free resolution:
d

2
0 ←− M ← Aβ0 ←− A(−1)β1 ←− A(−2)β2 ←−
· · · ←− A(−c)βc ←− 0.

(3.1)

2. The length of the resolution c equals the codimension of the support of the module M .

2’. The Betti numbers are βi = ci β0 for i = 0, . . . , c.

One can use either (1) and (2), or equivalently, (1) and (2)’ as the definition.

7

A sheaf F on a projective space Pn with support of dimension ≥ 1 is an Ulrich sheaf
provided it is the sheafification
of an Ulrich module. Equivalently, the module of twisted
L
0
global sections M = d∈Z H (Pn , F(d)) is an Ulrich module over the polynomial ring A.

Fact 3.2. If the support of an Ulrich sheaf F is a variety X of degree d, then β0 is a
multiple of d, say rd. This corresponds to F being a sheaf of rank r on X.
Since there is a one-to-one correspondence between Ulrich modules over A and Ulrich
sheaves on Pn , we interchangably speak of both. But in our constructions we focus on
Ulrich modules. A prominent conjecture of Eisenbud and Schreyer [12, p.543] states that
on any variety X in a projective space, there is an Ulrich sheaf whose support is X.

3.2

The variety of symmetric 4 × 4 matrices

We fix notation. Let X4s be the space of symmetric 4 × 4 matrices over the field C. This
identifies as C10 . Let xij = xji be the coordinate functions on X4s where 1 ≤ i ≤ j ≤ 4, so
the coordinate ring of X4s is:
A = C[xij ]1≤i≤j≤4 .
s the affine subvariety of X s consisting of matrices of rank
For 0 ≤ r ≤ 4, denote by X4,r
4
s is generated by the (r + 1) × (r + 1)-minors of the generic 4 × 4
≤ r. The ideal of X4,r
symmetric matrix (xij ). This is in fact a prime ideal, by [31, Theorem 6.3.1]. The rank
subvarieties have the following degrees and codimensions:

variety
s
X4,4
s
X4,3
s
X4,2
s
X4,1
s
X4,0

degree
1
4
10
8
1

codimension
0
1
3
6
10

s are defined by homogeneous ideals, they give rise to projective
Since the varieties X4,r
s in the projective space P9 . However, in §3.4 and §3.5 it will be convenient
varieties P X4,r
to work with affine varieties, and general (instead of special) linear group actions.
The group GL(4, C) acts on X4s . If M ∈ GL(4, C) and X ∈ X4s , the action is as follows:

M· X = M · X · M T .
Since any symmetric matrix can be diagonalized by a unitary coordinate change, there are
five orbits of the action of GL(4, C) on X4s , one per rank of the symmetric matrix. Let:
E = C4
be a four-dimensional complex vector space. The coordinate ring of X4s identifies as A ∼
=
Sym(S2 (E)). The space of symmetric matrices X4s may then be identified with the dual
space S2 (E)∗ , so again we see that GL(E) = GL(4, C) acts on S2 (E)∗ .
8

3.3

Representations and Pieri’s rule

We shall recall some basic representation theory of the general linear group GL(W ), where
W is a n-dimensional complex vector space. The irreducible representations of GL(W ) are
given by Schur modules Sλ (W ) where λ is a partition: a sequence of integers λ1 ≥ λ2 ≥
· · · ≥ λn . When λ = d, 0, . . . , 0, then Sλ (W ) is the dth symmetric power Sd (W ). When
λ = 1, . . . , 1, 0, . . . , 0, with d 1’s, then Sλ (W ) is the exterior wedge ∧d W . For all partitions λ
there are isomorphisms of GL(W )-representations:
Sλ (W )∗ ∼
= S−λn ,...,−λ1 (W )

Sλ (W ) ⊗ (∧n W )⊗r ∼
= Sλ+r·1 (W )

and

where 1 = 1, 1, . . . , 1. Here ∧n W is the one-dimensional representation C of GL(W ) where
a linear map φ acts by its determinant.
Denote by |λ| := λ1 + · · · + λn . Assume λn , µn ≥ 0. The tensor product of two Schur
modules Sλ (W ) ⊗ Sµ (W ) splits into irreducibles as a direct sum of Schur modules:
M
u(λ, µ; ν)Sν (W )
ν

where the sum is over partitions with |ν| = |µ| + |λ|. The multiplicities u(λ, µ; ν) ∈ Z≥0 are
determined by the Littlewood-Richardson rule [13, Appendix A]. In one case, that will be
important to us below, there is a particularly nice form of this rule. Given two partitions
λ′ and λ, we say that λ′ /λ is a horizontal strip if λ′i ≥ λi ≥ λ′i+1 .
Fact 3.3 (Pieri’s rule). As GL(W )-representations, we have the rule:
M
Sλ′ (W ).
Sλ (W ) ⊗ Sd (W ) ∼
=
|λ′ | = |λ|+d

λ′ /λ is a horizontal strip

3.4

The first Ulrich sheaf

2 . We
We are now ready to describe our first Ulrich sheaf on the projective variety P X4,2
s
construct it as an Ulrich module supported on the variety X4,2 . We use notation from §3.2,
so E is 4-dimensional. Consider S3 (E) ⊗ S2 (E). By Pieri’s rule this decomposes as:

S5 (E) ⊕ S4,1 (E) ⊕ S3,2 (E).
We therefore get a GL(E)-inclusion S3,2 (E) → S3 (E) ⊗ S2 (E) unique up to nonzero
scale. Since A1 = S2 (E) from §3.2, this extends uniquely to an A-module map:
α

S3 (E) ⊗ A ←− S3,2 (E) ⊗ A(−1).
This map can easily be programmed using Macaulay2 and the package PieriMaps [27]:
9

R=QQ[a..d]
needsPackage "PieriMaps"
f=pieri({3,2},{2,2},R)
S=QQ[a..d,y_0..y_9]
a2=symmetricPower(2,matrix{{a..d}})
alpha=sum(10,i->contract(a2_(0,i),sub(f,S))*y_i)
We can then compute the resolution of the cokernel of α in Macaulay2. It has the form:
α

A20 ←− A(−1)60 ←− A(−2)60 ← A(−3)20 .
Thus the cokernel of α is an Ulrich module by (1) and (2)’ in Definition 3.1. An important
point is that the res command in Macaulay2 computes differential matrices in unenlightening bases. We completely and intrinsically describe the GL(E)-resolution below:
Proposition 3.4. The cokernel of α is an Ulrich module M of rank 2 supported on the
s . The resolution of M is GL(E)-equivariant and it is:
variety X4,2
φ

α

F• : S3 (E) ⊗ A ←− S3,2 (E) ⊗ A(−1) ←− S3,3,1 (E) ⊗ A(−2)

(3.2)

β

←− S3,3,3 (E) ⊗ A(−3)
with ranks 20, 60, 60, 20, and where all differential maps are induced by Pieri’s rule. The
dual complex of this resolution is also a resolution, and these two resolutions are isomorphic
up to twist. As in [28], we can visualize the resolution by:
0 ← M ←−

←

←

←

← 0.

Proof. Since M is the cokernel of a GL(E)-map, it is GL(E)-equivariant. So, the support
of M is a union of orbits. By Definition 3.1(2), M is supported in codimension 3. Since
s \X s , the support of M is the closure of this orbit,
the only orbit of codimension 3 is X4,2
4,3
s
which is X4,2 . It can also easily be checked with Macaulay2, by restricting α to diagonal
s where r ≤ 2.
matrices of rank r for r = 0, . . . , 4, that M is supported on the strata X4,r
Also, the statement that the rank of M equals 2 is now immediate from Fact 3.2.
Now we prove that the GL(E)-equivariant minimal free resolution of M is F• as above.
By Pieri’s rule there is a GL(E)-map unique up to nonzero scalar:
S3,2 (E) ⊗ S2 (E) ←− S3,3,1 (E)
and a GL(E)-map unique up to nonzero scalar:
S3,3,1 (E) ⊗ S2 (E) ←− S3,3,3 (E).
10

These are the maps φ and β in F• respectively. The composition α ◦ φ maps S3,3,1 (E) to a
submodule of S3 (E) ⊗ S2 (S2 (E)). By [31, Proposition 2.3.8] the latter double symmetric
power equals S4 (E) ⊕ S2,2 (E), and so this tensor product decomposes as:
M
S3 (E) ⊗ S4 (E)
S3 (E) ⊗ S2,2 (E).

By Pieri’s rule, none of these summands contains S3,3,1 (E). Hence α ◦ φ is zero by Schur’s
lemma. The same type of argument shows that φ ◦ β is zero. Thus F• is a complex.
By our Macaulay2 computation of Betti numbers before the Proposition, ker(α) is
generated in degree 2 by 60 minimal generators. In F• these must be the image of S3,3,1 (E),
since that is 60-dimensional by the hook content formula and it maps injectively to F1 .
So F• is exact at F1 . Now again by the Macaulay2 computation, it follows that ker φ is
generated in degree 3 by 20 generators. These must be the image of S3,3,3 (E) since that is
20-dimensional and maps injectively to F2 . So F• is exact at F2 . Finally, the computation
implies that β is injective, and F• is the GL(E)-equivariant minimal free resolution of M .
For the statement about the dual, recall that since F• is a resolution of a CohenMacaulay module, the dual complex, obtained by applying HomA (−, ωA ) with ωA =
A(−10), is also a resolution. If we twist this dual resolution with (∧4 E)⊗3 ⊗ A(7), the
terms will be as in the original resolution. Since the nonzero GL(E)-map α is uniquely
determined up to scale, it follows that F• and its dual are isomorphic up to twist.
Remark 3.5. The GL(E)-representations in this resolution could also have been computed
using the Macaulay2 package HighestWeights [16].
Remark 3.6. The dual of this resolution is:
S3,3,3 (E ∗ ) ⊗ A ← S3,3,1 ⊗ A(−1) ← S3,2 (E ∗ ) ⊗ A(−2) ← S3 (E ∗ ) ⊗ A(−3).

(3.3)

A symmetric form q in S2 (E ∗ ) corresponds to a point in Spec(A) and a homomorphism
A → C. The fiber of this complex over the point q is then an SO(E ∗ , q)-complex:
S3,3,3 (E ∗ ) ← S3,3,1 ← S3,2 (E ∗ ) ← S3 (E ∗ ).

(3.4)

When q is a nondegenerate form, this is the Littlewood complex L3,3,3
as defined in [29,
•
§4.2]. (The terms of L3,3,3 can be computed using the plethysm in §4.6 of loc.cit.) This
partition λ = (3, 3, 3) is not admissible since 3 + 3 > 4, see Sec.4.1 loc.cit. The cohomology
of (3.4) is then given by Theorem 4.4 in loc.cit. and it vanishes (since here i4 (λ) = ∞), as it
should in agreement with Proposition 3.4. The dual resolution (3.3) of the Ulrich sheaf can
then be thought of as a “universal” Littlewood complex for the parition λ = (3, 3, 3). In
other cases when Littlewood complexes are exact, it would be an interesting future research
topic to investigate the sheaf that is resolved by the “universal Littlewood complex”.

11

To obtain nicer formulas for the Chow form of the essential variety EC in §4, we now
prove that the middle map φ in the resolution (3.2) is symmetric, in the following approµ
priate sense. In general, suppose that we are given a linear map W ∗ −→ W ⊗ L∗ where L
µT

is a finite dimensional vector space. Dualizing, we get a map W ←− W ∗ ⊗ L which in turn
ν
gives a map W ⊗ L∗ ←− W ∗ . By definition, the map µ is symmetric if µ = ν and skewsymmetric if µ = −ν. If µ is symmetric and µ is represented as a matrix with entries in L∗
with respect to dual bases of W and W ∗ , then that matrix is symmetric, and analogously
η
when µ is skew-symmetric. Note that the map µ also induces a map L −→ W ⊗ W .
Fact 3.7. The map µ is symmetric if the image of η is in the subspace S2 (W ) ⊆ W ⊗ W
and it is skew-symmetric if the image is in the subspace ∧2 W ⊆ W ⊗ W .
Proposition 3.8. The middle map φ in the resolution (3.2) is symmetric.
Proof. Consider the map φ in degree 3. It is:
S3,2 (E) ⊗ S2 (E) ←− S3,3,1 (E) ∼
= S3,2 (E)∗ ⊗ (∧4 E)⊗3
and it induces the map:
S3,2 (E) ⊗ S3,2 (E) ←− S2 (E)∗ ⊗ (∧4 E)⊗3 ∼
= S3,3,3,1 (E).
By the Littlewood-Richardson rule, the right representation above occurs with multiplicity
1 in the left side. Now one can check that S3,3,3,1 (E) occurs in S2 (S3,2 (E)). This follows
by Corollary 5.2 in [5] or one can use the package SchurRings [30] in Macaulay2:
needsPackage "SchurRings"
S = schurRing(s,4,GroupActing=>"GL")
plethysm(s_2,s_{3,2})
Due to Fact 3.7, we can conclude that the map φ is symmetric.

3.5

The second Ulrich sheaf

s and analyze it similarly to as above. This will
We construct another Ulrich sheaf on P X4,2
lead to a second formula for Ch(EC ) in §4. Consider S2,2,1 (E) ⊗ S2 (E). By Pieri’s rule:

S2,2,1 (E) ⊗ S2 (E) ∼
= S4,2,1 (E) ⊕ S3,2,2 (E) ⊕ S3,2,1,1 (E) ⊕ S2,2,2,1 (E).
Thus there is a GL(E)-map, with nonzero degree 1 components unique up to scale:
α

S2,2,1 (E) ⊗ A ←− (S3,2,2 (E) ⊕ S3,2,1,1 (E) ⊕ S2,2,2,1 (E)) ⊗ A(−1).
This map can be programmed in Macaulay2 using PieriMaps as follows:
12

R=QQ[a..d]
needsPackage "PieriMaps"
f1= transpose pieri({3,2,2,0},{1,3},R)
f2=transpose pieri({3,2,1,1},{1,4},R)
f3=transpose pieri({2,2,2,1},{3,4},R)
f = transpose (f1||f2||f3)
S=QQ[a..d,y_0..y_9]
a2=symmetricPower(2,matrix{{a..d}})
alpha=sum(10,i->contract(a2_(0,i),sub(f,S))*y_i)
We can then compute the resolution of coker(α) in Macaulay2. It has the form:
α

A20 ←− A(−1)60 ←− A(−2)60 ←− A(−3)20 .
Thus the cokernel of α is an Ulrich module, and moreover we have:
Proposition 3.9. The cokernel of α is an Ulrich module M of rank 2 supported on the
s . The resolution of M is GL(E)-equivariant and it is:
variety X4,2
F• : S2,2,1 (E) ⊗ A

α

←− (S3,2,2 (E) ⊕ S3,2,1,1 (E) ⊕ S2,2,2,1 (E)) ⊗ A(−1)
φ

←− (S4,2,2,1 (E) ⊕ S3,3,2,1 (E) ⊕ S3,2,2,2 (E)) ⊗ A(−2)

(3.5)

β

←− S4,3,2,2 (E) ⊗ A(−3)
with ranks 20, 60, 60, 20. The dual complex of this resolution is also a resolution and these
two resolutions are isomorphic up to twist. We can visualize the resolution by:
0 ← M ←−

←

⊕

⊕

←

⊕

⊕

←

← 0.

Proof. The argument concerning the support of M is exactly as in Proposition 3.4.
Now we prove that the minimal free resolution of M is of the form above, differently
than in 3.4. To start, note that the module S4,2,2,1 (E) occurs by Pieri once in each of:
S3,2,2 (E) ⊗ S2 (E),

S3,2,1,1 (E) ⊗ S2 (E),

S2,2,2,1 (E) ⊗ S2 (E).

On the other hand, it occurs in:
S2,2,1 (E) ⊗ S2 (S2 (E)) ∼
= S2,2,1 (E) ⊗ S4 (E) ⊕ S2,2,1 (E) ⊗ S2,2 (E)
only twice, as seen using Pieri’s rule and the Littlewood-Richardson rule. Thus S4,2,2,1 (E)
occurs at least once in the degree 2 part of ker(α). Similarly we see that each of S3,3,2,1 (E)
and S3,2,2,2 (E) occurs at least once in ker(α) in degree 2. But by the Macaulay2 computation before this Proposition, we know that ker(α) is a module with 60 generators in degree
13

2. And the sum of the dimensions of these three representations is 60. Hence each of them
occurs exactly once in ker(α) in degree 2, and they generate ker(α).
Now let C be the 20-dimensional vector space generating ker(φ). Since the resolution
of M has length equal to codim(M ), the module M is Cohen-Macaulay and the dual of its
resolution, obtained by applying HomA (−, ωA ) where ωA ∼
= A(−4), is again a resolution of
Ext3A (M, ωA ). Thus the map from C ⊗ A(−3) to each of:
S4,2,2,1 (E) ⊗ A(−2),

S3,3,2,1 (E) ⊗ A(−2),

S3,2,2,2 (E) ⊗ A(−2)

is nonzero. In particular C maps nontrivially to:
S3,2,2,2 (E) ⊗ S2 (E) ∼
= S5,2,2,2 (E) ⊕ S4,3,2,2 (E).
Each of the right-hand side representations have dimension 20, so one of them equals C.
However only the last one occurs in S3,3,2,1 (E) ⊗ S2 (E), and so C ∼
= S4,3,2,2 (E). We have
proven that the GL(E)-equivariant minimal free resolution of M indeed has the form F• .
For the statement about the dual, recall that each of the three components of α in
degree 1 are nonzero. Also, as the dual complex is a resolution, here obtained by applying
HomA (−, ωA ) with ωA = A(−10), all three degree 1 components of β are nonzero. If
we twist this dual resolution with (∧4 E)⊗4 ⊗ A(7), the terms will be as in the original
resolution. Because each of the three nonzero components of the map α are uniquely
determined up to scale, the resolution F• and its dual are isomorphic up to twist.
Remark 3.10. Again the GL(E)-representations in this resolution could have been computed using the Macaulay2 package HighestWeights.
Proposition 3.11. The middle map φ in the resolution (3.5) is symmetric.
Proof. We first show that the three ‘diagonal’ components of φ in (3.5) are symmetric:
φ1

S3,2,2 (E) ⊗ S2 (E) ←− S4,2,2,1 (E)
φ2

S3,2,1,1 (E) ⊗ S2 (E) ←− S3,3,2,1 (E)
φ3

S2,2,2,1 (E) ⊗ S2 (E) ←− S3,2,2,2 (E).

Twisting the third component φ3 with (∧4 E ∗ )⊗2 , it identifies as:
E ∗ ⊗ S2 (E) ←− E

and so φ3 is obviously symmetric. Twisting the second map φ2 with ∧4 E ∗ it identifies as:
S2,1 (E) ⊗ S2 (E) ←− S2,2,1 (E) = (S2,1 (E)∗ ) ⊗ (∧4 E)⊗2 ,

which induces the map:
S2,1 (E) ⊗ S2,1 (E) ←− S2 (E)∗ ⊗ (∧4 E)⊗2 = S2,2,2 (E).
By the Littlewood-Richardson rule, the left tensor product contains S2,2,2 (E) with multiplicity 1. By Corollary 5.2 in [5] or SchurRings in Macaulay2, this is in S2 (S2,1 (E)):
14

needsPackage "SchurRings"
S = schurRing(s,4,GroupActing=>"GL")
plethysm(s_2,s_{2,1})
So by Fact 3.7, the component φ2 is symmetric. The first map φ1 may be identified as:
S3,2,2 (E) ⊗ S2 (E) ←− (S3,2,2 (E))∗ ⊗ (∧4 E)⊗4 ,
which induces the map:
S3,2,2 (E) ⊗ S3,2,2 (E) ←− S2 (E)∗ ⊗ (∧4 E)⊗4 = S4,4,4,2 (E).
Again by Littlewood-Richardson, S4,4,4,2 (E) is contained with multiplicity 1 in the left side.
By Corollary 5.2 in [5] or the package SchurRings in Macaulay2, this is in S2 (S3,2,2 (E)):
needsPackage "SchurRings"
S = schurRing(s,4,GroupActing=>"GL")
plethysm(s_2,s_{3,2,2})
It is now convenient to tensor the resolution (3.5) by (∧4 E ∗ )⊗2 , and to let:
T1 = S1,0,0,−2 (E),

T2 = S1,0,−1,−1 (E),

T3 = S0,0,0,−1 (E).

We can then write the middle map as:


T1 ⊗A(1)⊕T2 ⊗A(1)⊕T3 ⊗A(1)

φ1

µ1
ν1

µ2
φ2
0

←−



ν2

0
φ3

T1∗ ⊗A(−1)⊕T2∗ ⊗A(−1)⊕T3∗ ⊗A(−1) (3.6)

Note indeed that the component:
S1,0,−1,−1 (E) ⊗ S2 (E) = T2 ⊗ S2 (E) ←− T3∗ ∼
= S1 (E)
must be zero, since the left tensor product does not contain S1 (E) by Pieri’s rule. Similarly
the map T3 ⊗ S2 (E) ←− T2∗ is zero.
We know the maps φ1 , φ2 and φ3 are symmetric. Consider:
µ1

µ2

T2 ⊗ A(1) ←− T1∗ ⊗ A(−1),

T1 ⊗ A(1) ←− T2∗ ⊗ A(−1).

Since the resolution (3.5) is isomorphic to its dual, either both µ1 and µ2 are nonzero, or
µT

2
they are both zero. Suppose both are nonzero. The dual of µ2 is T2 ⊗A(1) ←−
T1∗ ⊗A(−1).
But such a GL(E)-map is unique up to scalar, as is easily seen by Pieri’s rule. Thus
whatever the case we can say that µ1 = cµ µT2 for some nonzero scalar cµ . Similarly we

15

get ν1 = cν ν2T . Composing the map (3.6) with the automorphism on its right given by the
block matrix:


1 0 0
0 cµ 0  ,
0 0 cν
we get a middle map:



T1 ⊗ A(1) ⊕ T2 ⊗ A(1) ⊕ T3 ⊗ A(1)

φ1

µ1
ν1

µ′2
φ′2
0

←−

ν2′

0
′
φ3


T1∗ ⊗ A(−1) ⊕ T2∗ ⊗ A(−1) ⊕ T3∗ ⊗ A(−1)

where the diagonal maps are still symmetric, and µ1 = (µ′2 )T and ν1 = (ν2′ )T . So we get a
symmetric map, and the result about φ follows.
This second Ulrich module constructed above in Proposition 3.9 is a particular instance
of a general construction of Ulrich modules on the variety of symmetric n × n matrices of
rank ≤ r; see [31], §6.3 and Exercise 34 in §6. We briefly recall the general construction.
Let W = Cn and G be the Grassmannian Gr(n − r, W ) of (n − r)-dimensional subspaces
of W . There is a tautological exact sequence of algebraic vector bundles on G:
0 → K → W ⊗ OG → Q → 0,
where r is the rank of Q. Let X = Xns be the affine space of symmetric n × n matrices,
and define Z to be the incidence subvariety of X × G given by:
i

φ

Z = {((W −→ W ), (Cn−r ֒→ W )) ∈ X × G | φ ◦ i = 0}.
The variety Z is the affine geometric bundle VG (S2 (Q)) of the locally free sheaf S2 (Q) on
the Grassmannian G. There is a commutative diagram:
Z


y

−−−−→ X × G


y

s
−−−−→
Xn,r

X

s . For any locally free sheaf E, the Schur functor
in which Z is a desingularization of Xn,r
Sλ applies to give a new locally free sheaf Sλ (E). Consider then the locally free sheaf:

E(n, r) = S(n−r)r (Q) ⊗ Sn−r−1,n−r−2,··· ,1,0 (K)
on the Grassmannian Gr(n − r, W ). Note that S(n−r)r (Q) = (det(Q))n−r is a line bundle
n−r
p
and E(n, r) is a locally free sheaf of rank 2( 2 ) . Let Z −→ G be the projection map. By
pullback we get the locally free sheaf p∗ (E(n, r)) on Z. The pushforward of this locally free
16

s is an Ulrich sheaf on this variety. Since X s is affine this corresponds
sheaf down to Xn,r
n,r
to the module of global sections H 0 (Z, p∗ E). The Ulrich module in Proposition 3.9 is
that module when n = 4 and r = 2. For our computational purposes realized in §4, we
worked out the equivariant minimal free resolution as above. Interestingly, we do not know
yet whether the ‘simpler’ Ulrich sheaf presented in §3.4, which is new to our knowledge,
generalizes to a construction for other varieties.

4
4.1

The Chow form of the essential variety
Grassmannians and Chow divisors

The Grassmannian variety Gr(c, n + 1) = Gr(Pc−1 , Pn ) parametrizes the linear subspaces
of dimension c − 1 in Pn , i.e the Pc−1 ’s in Pn . Such a linear subspace may be given as the
rowspace of a c × (n + 1) matrix. The tuple of maximal minors of this matrix is uniquely
determined by the linear subspace up to scale. The number of such minors is n+1
c . Hence
n+1
−1
(
)
we get a well-defined point in the projective space P c
. This defines an embedding of

the Grassmannian Gr(c, n + 1) into that projective space, called the Plücker embedding.
Somewhat more algebraically, let W be a vector space of dimension n + 1 and let P(W )
be the space of lines in W through the origin. Then a linear subspace V of dimension c in
n+1
W defines a line ∧c V in ∧c W , and so it defines a point in P(∧c W ) = P( c )−1 . Thus the
Grassmannian Gr(c, W ) embeds into P(∧c W ).
If X is a variety of codimension c in a projective space Pn , then a linear subspace
of dimension c − 1 will typically not intersect X. The set of points in the Grassmannian
Gr(c, n+1) that do have nonempty intersection with X forms a divisor in Gr(c, n+1), called
the Chow divisor. The divisor class group of Gr(c, n + 1) is isomorphic to Z. Considering
n+1
the Plücker embedding Gr(c, n + 1) ⊆ P( c )−1 , any hyperplane in the latter projective
space intersects the Grassmannian in a divisor which generates the divisor class group of
n+1
Gr(c, n + 1). The homogeneous coordinate ring of this projective space P( c )−1 = P(∧c W )
is Sym(∧c W ∗ ). Note that here ∧c W ∗ are the linear forms, i.e. the elements of degree 1. If
X has degree d, then its Chow divisor is cut out by a single form Ch(X) of degree d unique
up to nonzero scale, called the Chow form, in the coordinate ring of the Grassmannian
Sym(∧c W ∗ )/IGr(c,n+1) . As the parameters n, c, d increase, Chow forms become unwieldy
to even store on a computer file. Arguably, the most efficient (and useful) representations
of Chow forms are as determinants or Pfaffians of a matrix with entries in ∧c W ∗ . As we
explain next, Ulrich sheaves can give such formulas.

4.2

Construction of Chow forms

We now explain how to obtain the Chow form Ch(X) of a variety X from an Ulrich sheaf F
whose support is X. The reference for this is [12, p.552-553]. Let M = ⊕d∈Z H 0 (Pn , F(d))
17

be the graded module of twisted global sections over the polynomial ring A = C[x0 , . . . , xn ].
We write W ∗ for the vector space generated by the variables x0 , . . . , xn . Consider the
minimal free resolution (3.1) of M . The map di may be represented by a matrix Di of size
βi × βi+1 , with entries in the linear space W ∗ . Since (3.1) is a complex the product of two
successive matrices Di−1 Di is the zero matrix. Note that when we multiply the entries of
these matrices, we are multiplying elements in the ring A = Sym(W ∗ ) = C[x0 , . . . , xn ].
Now comes the shift of view: Let B = ⊕ni=0 ∧i W ∗ be the exterior algebra on the
vector space W ∗ . We now consider the entries in the Di (which are all degree one forms in
A1 = W ∗ = B1 ) to be in the ring B instead. We then multiply together all the matrices
Di corresponding to the maps di . The multiplications of the entries are performed in the
skew-commutative ring B. We then get a product:
D = D0 · D1 · · · Dc−1 ,
where c is the codimension of the variety X which supports F. If F has rank r and the
degree of X is d, the matrix D is a nonzero rd×rd matrix. The entries in the product D now
lie in ∧c W ∗ . Now comes the second shift of view: We consider the entries of D to be linear
forms in the polynomial ring Sym(∧c W ∗ ). Then we take the determinant of D, computed
in this polynomial ring, and get a form of degree rd in Sym(∧c W ∗ ). When considered
in the coordinate ring of the Grassmannian Sym(∧c W ∗ )/IG , then det(D) equals the r th
power of the Chow form of X. For more information on the fascinating links between the
symmetric and exterior algebras, the reader can start with the Bernstein-Gel’fand-Gel’fand
correspondence as treated in [11].

4.3

s
Skew-symmetry of the matrices computing the Chow form of P X4,2

s of symIn §3 we constructed two different Ulrich modules of rank 2 on the variety P X4,2
metric 4 × 4 matrices of rank ≤ 2. That variety has degree 10. The matrix D thus in both
cases is 20 × 20, and its determinant is a square in Sym(∧c W ∗ ). In fact, and here our analysis of the equivariant resolutions pays off, the matrix D in both cases is skew-symmetric
when we use the bases distinguished by representation theory for the differential matrices:

Lemma 4.1. Let A, B, C be matrices of linear forms in the exterior algebra. Their products
behave as follows under transposition:
1. (A · B)T = −B T · AT
2. (A · B · C)T = −C T · B T · AT .
Proof. Part (1) is because uv = −vu when u and v are linear forms in the exterior algebra.
Part (2) is because uvw = −wvu for linear forms in the exterior algebra.
The resolutions (3.2) and (3.5) of our two Ulrich sheaves, have the form:
α

φ

β

F ←− G ←− G∗ ←− F ∗ .
18

(4.1)

Dualizing and twisting we get the resolution:
βT

φT

αT

F ←− G ←− G∗ ←− F ∗ .
Since φ = φT , both β and αT map isomorphically onto the same image. We can therefore
replace the map β in (4.1) with αT , and get the GL(E)-equivariant resolution:
α

φ

αT

F ←− G ←− G∗ ←− F ∗ .
Let α, φ and αT be the maps in the resolution above, but now considered to live over the
exterior algebra. The Chow form associated to the two Ulrich sheaves is then the Pfaffian
of the matrix:
α φ αT .
s ) constructed from the Ulrich sheaf is, in each
Proposition 4.2. The Chow form Ch(P X4,2
case, the Pfaffian of a 20 × 20 skew-symmetric matrix.

Proof. The Chow form squared is the determinant of α φ αT and we have:
T
α φ αT = − (αT )T φT αT = − α φ αT .

4.4

s
Explicit matrices computing the Chow form of P X4,2

Even though our primary aim is to compute the Chow form of the essential variety, we get
s as a by-product of our method. We
explicit matrix formulas for the Chow form of P X4,2
carried out the computation in Proposition 4.2 in Macaulay2 for both Ulrich modules on
s . We used the package PieriMaps to make matrices D and D representing α and
P X4,2
1
2
φ with respect to the built-in choice of bases parametrized by semistandard tableaux. We
had to multiply D2 on the right by a change of basis matrix to get a matrix representative
with respect to dual bases, i.e. symmetric. For example in the case of the first Ulrich
module (3.2) this change of basis matrix computes the perfect pairing S3,2 (E)⊗S3,3,1 (E) →
(∧4 E)⊗3 . Let us describe the transposed inverse matrix that represents the dual pairing.
Columns are labeled by the semistandard Young tableaux S of shape (3, 2), and rows are
labeled by the semistandard Young tableaux T of shape (3, 3, 1). The (S, T )-entry in the
matrix is obtained by fitting together the tableau S and the tableau T rotated by 180◦
into a tableau of shape (3, 3, 3, 3), straightening, and then taking the coefficient of

0
1
2
3

0
1
2
3

0
1
2
3

.

To finish for each Ulrich module, we took the product D1 D2 D1T over the exterior algebra.
The two resulting explicit 20 × 20 skew-symmetric matrices are available as arXiv
s ,
ancillary files or at this paper’s webpage1 . Their Pfaffians equal the Chow form of P X4,2
which is an element in the homogeneous coordinate of the Gr(3, 10) = Gr(P2 , P9 ). To get
1

http://math.berkeley.edu/~ jkileel/ChowFormulas.html

19

a feel for the ‘size’ of this Chow form, note that this ring is a quotient of the polynomial
ring Sym(∧3 Sym2 (E)) in 120 Plücker variables, denoted Q[p{11,12,13} , . . . , p{33,34,44} ] on our
website, by the ideal minimally generated by 2310 Plücker quadrics. We can compute that
s ) lives is a 108,284,013,552-dimensional vector space.
the degree 10 piece where Ch(P X4,2
Both 20×20 matrices afford extremely compact formulas for this special element. Their
entries are linear forms in p{11,12,13} , . . . , p{33,34,44} with one- and two-digit relatively prime
integer coefficients. No more than 5 of the p-variables appear in any entry. In the first
matrix, 96 off-diagonal entries equal 0. The matrices give new expressions for one of the
two irreducible factors of a discriminant studied since 1879 by George Salmon ([26]) and
as recently as 2011 ([25]), as we see next in Remark 4.3.
Remark 4.3. From the subject of plane curves, it is classical that every ternary quartic
form f ∈ C[x, y, z]4 can be written as f = det(xA + yB + zC) for some 4 × 4 symmetric
matrices A, B, C. Geometrically, this expresses V(f ) inside the net of plane quadrics
hA, B, Ci as the locus of singular quadrics. By Theorem 7.5 of [25], that plane quartic
curve V(f ) is singular if and only if the Vinnikov discriminant:
∆(A, B, C) = M(A, B, C)P(A, B, C)2
evaluates to 0. Here M is a degree (16, 16, 16) polynomial known as the tact invariant and
s ) after
P is a degree (10, 10, 10) polynomial. The factor P equals the Chow form Ch(P X4,2
substituting Plücker coordinates for Stiefel coordinates:


ai1 j1 ai2 j2 ai3 j3
p{i1 j1 ,i2 j2 ,i3 j3 } = det  bi1 j1 bi2 j2 bi3 j3  .
ci1 j1 ci2 j2 ci3 j3

4.5

Explicit matrices computing the Chow form of EC

We now can put everything together and solve the problem raised by Agarwal, Lee, Sturmfels and Thomas in [1] of computing the Chow form of the essential variety. In Proposition 2.6, we constructed a linear embedding s : P8 ֒→ P9 that restricts to an embedding
s . Both of our Ulrich sheaves supported on P X s pull back to Ulrich sheaves
EC ֒→ P X4,2
4,2
supported on EC , and their minimal free resolutions pull back to minimal free resolutions:
s∗ α

s∗ φ

s∗ αt

s∗ F ←−−−− s∗ G ←−−−− s∗ G∗ ←−−−− s∗ F ∗ .

Here we verified in Macaulay2 that s∗ quotients by a linear form that is a nonzero divisor
for the two Ulrich modules. So, to get the Chow form Ch(EC ) from Propositions 3.4 and
3.9, we took matrices D1 and D2 symmetrized from above, and applied s∗ . That amounts
to substituting xij = s(M )ij , where s(M ) is from §2.2. We then multiplied D1 D2 D1T ,
which is a product of a 20 × 60, a 60 × 60 and a 60 × 20 matrix, over the exterior algebra.
20

The two resulting explicit 20 × 20 skew-symmetric matrices are available at the paper’s
webpage. Their Pfaffians equal the Chow form of EC , which is an element in the homogeneous coordinate of Gr(P2 , P8 ). We denote that ring as the polynomial ring in 84 (dual)
Plücker variables Q[q{11,12,13} , . . . , q{31,32,33} ] modulo 1050 Plücker quadrics. Here Ch(EC )
lives in the 9,386,849,472-dimensional subspace of degree 10 elements.
Both matrices are excellent representations of Ch(EC ). Their entries are linear forms in
q{11,12,13} , . . . , q{31,32,33} with relatively prime integer coefficients less than 216 in absolute
value. In the first matrix, 96 off-diagonal entries vanish, and no entries have full support.
Bringing this back to computer vision, we can now prove our main result stated in §1:
Proof of Theorem 1.1. Given {(x(i) , y (i) )}. Let us first assume that we have a solution
g
g
(1) , . . . , X
(6) to the system (1.1). Note that the group:
A, B, X
G := {g ∈ GL(4, C) | (gij )1≤i,j≤3 ∈ SO(3, C) and g41 = g42 = g43 = 0}

equals the stabilizer of the set of calibrated camera matrices inside C3×4 , with respect to
right multiplication. We now make two simplifying assumptions about our solution to (1.1).
• Without loss of generality, A = [ id3×3 | 0 ]. For otherwise, select g ∈ G so that
g
g
(6) is also a solution to (1.1).
(1) , . . . , g −1 X
Ag = [ id3×3 | 0 ], and then Ag, Bg, g −1 X

• Denoting B = [ R | t ] for R ∈ SO(3, C) and t ∈ C3 , then without loss of generality,
g
(i) and replace
t 6= 0. For otherwise, we may zero out the last coordinate of each X
′
′
3
B by [ R | t ] for any t ∈ C , and then we still have a solution to the system (1.1).


0
t3 −t2
t1 . Set M = [ t ]× R. Then M ∈ EC . The following
Denote [ t ]× := −t3 0
t2 −t1 0
computation gives the basic link with Ch(EC ):


(i)
(i)
y1 y2

 
(i)
x

T
 1 
g
g
(i)  ≡ (B X
(i) ) M (AX
(i) )
1 M 
x
 2 
1

T
g
g
(i)
(i)
[ R | t ]T [ t ]× R [ id3×3 | 0 ] X
=X

T
g
g
(i)
(i)
[ R | 0 ]T [ t ]× [R | 0 ] X
=X
= 0.

Here the second-to-last equality is because tT [ t ]× = 0, and the last equality is because
the matrix in parentheses is skew-symmetric. In particular, this calculation shows that
M ∈ EC satisfies six linear constraints. Explicitly, these are:
21


(1) (1)
y1 x1

 (2) (2)
y1 x1

 (3) (3)
y x
 1 1

 (4) (4)
y1 x1


 (5) (5)
y1 x1

 (6) (6)
y 1 x1

(1) (1)
y 1 x2

(1)
y1

(2) (2)

y1

(3) (3)

y1

(4) (4)

y1

(5) (5)

y1

(6) (6)

y1

y 1 x2
y 1 x2
y 1 x2
y 1 x2
y 1 x2

(1) (1)
y 2 x1

(2)

y 2 x1

(3)

y 2 x1

(4)

y 2 x1

(5)

y 2 x1

(6)

y 2 x1

(1) (1)
y 2 x2

(2) (2)

y 2 x2

(3) (3)

y 2 x2

(4) (4)

y 2 x2

(5) (5)

y 2 x2

(6) (6)

y 2 x2

(1)
y2

(2) (2)

y2

(3) (3)

y2

(4) (4)

y2

(5) (5)

y2

(6) (6)

y2

(1)
x1

(1)
x2

(2)

x2

(3)

x2

(4)

x2

(5)

x2

(6)

x2

(2)

x1

(3)

x1

(4)

x1

(5)

x1

(6)

x1

(2)

(3)

(4)

(5)

(6)



1


1


1



1



1


1



m11
m 
 12 
m 
 13 
m 
 21 
m 
 22  = 0.


m23 


m31 


m32 
m33

Let the above 6 × 9 matrix be denoted Z. We consider two cases.

• Case 1: Z is full rank. Then ker(Z) determines a P2 in P8 . This P2 meets EC , namely
at M . So, Ch(EC ) evaluates to 0 there. By [17, p.94], we can compute the Plücker
coordinates of this projective plane from the maximal minors of Z.
• Case 2: Z is not full rank. Then all maximal minors of Z are 0.
Thus, to get M(x(i) , y (i) ) as in Theorem 1.1, we take either of the 20 × 20 skewsymmetric matrix formulas for Ch(EC ) described above, and we replace each qijk by the
determinant of Z with columns i, j and k removed. In Case 1, this M(x(i) , y (i) ) drops rank,
by the definition of Chow forms. In Case 2, this M(x(i) , y (i) ) evaluates to the zero matrix.
We have proven that this M(x(i) , y (i) ) satisfies the first property stated in Theorem 1.1.
We now prove that this M(x(i) , y (i) ) satisfies the converse property in Theorem 1.1.
Factor M = U diag(1, 1, 0) V T with U, V ∈ SO(3, C). This is possible for a Zariski open
subset of M ∈ EC . For the dense subset in Theorem 1.1, we take those {(x(i) , y (i) )} for
T
g
(i) M x
(i) = 0. This is a
which there is M in the above Zariski open subset such that yf
dense 
open subsetin all pairs {(x(i) , y (i) )} such that M(x(i) , y (i) ) is rank deficient. Denote
0 −1 0


 
g
(i)
W = 1 0 0. Now set A = I | 0 and B = U W V T | U 0 0 1 T . Now X
0 0 1
are uniquely determined (see [19, 9.6.2]).

We illustrate the main theorem with two examples. Note that since the first example
is a ‘positive’, it is a strong (and reassuring) check of correctness for our formulas.

22

Example 4.4. Consider the image data of 6 point correspondences {(x(i) , y (i) ) ∈ R2 ×
R2 | i = 1, . . . , m} given by the corresponding rows of the two matrices:
 8 16 


11
11
0
0
7
5 
 1 −1 

 22 22




 0 −1
 8 34 

2

29 
[ x(i) ] = 
[ y (i) ] =  29

.
−3 0 
 17 −1
20
 3



1
 2 − 25 
1 
7
7 
1
1
9
3
7
4

In this example,

0
1

0
 (i) 
X
= 
3

3
7

4

they do come from world points X (i) ∈ R3 and calibrated cameras A, B:

0
2

 7
4
4


−1 1 

9
9
9 0
1
0
0
0
−2 4 


,
A = 0 1 0 0 ,
B = − 49 − 91 98 0 .
0 −1

4
0 0 1 0
− 98 91 1
−5 2 
9
1
7

To detect this, we form the 6 × 9 matrix Z from the proof of

16
8
0
0
0
0
0
11
11
 7
7
7
5
5
5
1
 22 − 22 22 22 − 22 22

8
34
17
4
 0
0
− 29 29 0 − 29 29

Z =  51
17
− 20
0
3
0
−1 −3
20

 3
5
1
3
5
3
 14 − 14 7 14 − 14 71
2
9
4

9
28

9
4

3
4

3
28

3
4

1

Theorem 1.1:

0 1

−1 1

− 21 1

.
0 1


− 25 1
1
7

1

We substitute the maximal minors of Z into the matrices computing Ch(EC ) in Macaulay2.
The determinant command then outputs 0. This computation recovers the fact that the
point correspondences are images of 6 world points under a pair of calibrated cameras.

Example 4.5. Random data {(x(i) , y (i) ) ∈ R2 × R2 | i = 1, . . . , 6} is expected to land
outside the Chow divisor of EC . We made an instance using the random(QQ) command
in Macaulay2 for each coordinate of image point. The coordinates ranged from 18 to 5 in
absolute value. We carried out the substitution from Example 4.4, and got two full-rank
skew-symmetric matrices with Pfaffians ≈ 5.5 × 1025 and ≈ 1.3 × 1022 , respectively. These
matrices certified that the system (1.1) admits no solutions for that random input.
The following proposition is based on general properties of Chow forms, collectively
known as the U-resultant method to solve zero-dimensional polynomial systems. In our
23

situation, it gives a connection with the ‘five-point algorithm’ for computing essential
matrices. The proposition is computationally inefficient as-is for that purpose, but see
[23] for a more efficient algorithm that would exploit our matrix formulas for Ch(EC ).
Implementing the algorithms in [23] for our matrices is one avenue for future work.
Proposition 4.6. Given a generic 5-tuple {(x(i) , y (i) ) ∈ R2 × R2 | i = 1, . . . , 5}, if we make
the substitution from the proof of Theorem 1.1, then the Chow form Ch(EC ) specializes to
(6) (6) (6) (6)
a polynomial in R[x1 , x2 , y1 , y2 ]. Over C, this specialization completely splits as:
 (6) 
x1
10
Y

(6)
(6)
(i)  (6) 
y1
y2
1 M
x2  .
i=1

1

Here M (1) , . . . , M (10) ∈ EC are the essential matrices determined by the given five-tuple.

Proof. By the proof of Theorem 1.1, any zero of the above product is a zero of the specialization of Ch(EC ). By Hilbert’s Nullstellensatz, this implies that the product divides the
specialization. But both polynomials are inhomogeneous of degree 20, so they are ≡.

4.6

Numerical experiments with noisy point correspondences

In this final subsection, we discuss how our Theorem 1.1 is actually resistant to a common
complication in concrete applications of algebra: noisy data. Indeed, on real image data,
correctly matched point pairs will only come to the computer vision practitioner with finite
accuracy. In other words, they differ from exact correspondences by some noise.
Practical Question 4.7. While in Theorem 1.1 the matrix M(x, y) drops rank when there
is an exact solution to (1.1), how can we tell if there is an approximate solution?
The answer is to calculate the Singular Value Decomposition of the matrices M(x, y)
from Theorem 1.1, when a noisy six-tuple of image point correspondences is plugged in.
Since Singular Value Decomposition is numerically stable [8, §5.2], we expect approximately
rank-deficient SVD’s when there exists an approximate solution to (1.1). To summarize,
since we have matrix formulas, we can look at spectral gaps in the presence of noise.
We offer experimental evidence that this works. For our experiments, we assumed
uniform noise from unif [−10−r , 10−r ]; this arises in image processing from pixelation [6,
§4.5]. For each r = 1, 1.5, 2, . . . , 15, we executed five hundred of the following trials:
• Pseudo-randomly generate an exact six-tuple of image point correspondences
{(x(i) , y (i) ) ∈ Q2 × Q2 | i = 1, . . . , 6}
with coordinates of size O(1).
24

Average signal from SVD

15
matrix from first sheaf
matrix from second sheaf

10

5

0
0

2
4
6
8 10 12 14 16
Accuracy of point correspondences

FIGURE. Both matrices satisfying Theorem 1.1
detect approximately consistent point pairs.
• Corrupt each image coordinate in the six-tuple by adding an independent and identically distributed sample from unif [−10−r , 10−r ].
• Compute the SVD’s of both 20 × 20 matrices M(x, y), derived from the first and
second Ulrich sheaf respectively, with the above noisy image coordinates plugged in.
These experiments were performed in Macaulay2 using double precision for all floatingpoint arithmetic. Since it is a little subtle, we elaborate on our algorithm to pseudorandomly generate exact correspondences in the first bullet. It breaks into three steps:
1. Generate calibrated cameras A, B ∈ Q3×4 . To do this, we sample twice from the
Haar measure on SO(3, R) and sample twice from the uniform measure on the radius
2 ball centered at the origin in R3 . Then we concatenate nearby points in SO(3, Q)
and Q3 to obtain A and B. To find the nearby rotations, we pullback under R3 −→
S 3 \{N } −→ SO(3, R), we take nearby points in Q3 , and then we pushforward.
2. Generate world points X (i) ∈ Q3 (i = 1, . . . , 6). To do this, we sample six times from
the uniform measure on the radius 6 ball centered at the origin in R3 (a choice fitting
with some real-world data) and then we replace those by nearby points in Q3 .
g
g
g
(i) ≡ AX
(i) and g
(i) .
3. Set x
y (i) ≡ B X

The most striking takeaway of our experiments is stated in the following result concerning the bottom spectral gaps we observed. Bear in mind that since M(x, y) is skewsymmetric, its singular values occur with multiplicity two, so σ19 (M(x, y)) = σ20 (M(x, y)).
25

Empirical Result 4.8. In the experiments described above, we observed for both matrices:
σ18 (M(x, y))
= O(10r ).
σ20 (M(x, y))
Here M(x, y) has r-noisy image coordinates, and σi denotes the ith largest singular value.


(M(x,y))
The figure above plots log10 σσ18
averaged over the five hundred trials against r.
20 (M(x,y))

References
[1] S. Agarwal, H.-L. Lee, B. Sturmfels, R. Thomas, Certifying the Existence of Epipolar Matrices, Int.
J. Comput. Vision, to appear, arXiv:1510.01401v1.
[2] S. Agarwal, N. Snavely, I. Simon, S.M. Seitz, R. Szeliski, Building Rome in a day, Proc. Int. Conf. on
Comput. Vision (2009), 72–79.
[3] M. Aprodu, G. Farkas, A. Ortega, Minimal resolutions, Chow forms and Ulrich bundles on K3 surfaces,
J. Reine Angew. Math., to appear, arXiv:1212.6248v4.
[4] J. Bochnak, M. Coste and M.-F. Roy, Real Algebraic Geometry, A Series of Modern Surveys in Mathematics 36, Springer-Verlag, Berlin, 1998.
[5] C. Carré, B. Leclerc, Splitting the Square of a Schur Function into its Symmetric and Antisymmetric
Parts, J. Algebraic Combin. 4 (1995), no. 3, 201–231.
[6] A. Bovik, Handbook of Image and Video Processing, 2nd ed., Academic Press, San Diego, 2005.
[7] J. Draisma, E. Horobeţ, G. Ottaviani, B. Sturmfels, R. Thomas, The Euclidean Distance Degree of an
Algebraic Variety, Found. Comput. Math. 16 (2016), no. 1, 99–149, arXiv:1309.0049v3.
[8] J. Demmel, Applied Numerical Linear Algebra, Society for Industrial and Applied Mathematics,
Philadelphia, 1997.
[9] D. Drusvyatski, H.-L. Lee, R. Thomas, Counting Real Critical Points of the Distance to Orthogonally
Invariant Matrix Sets, SIAM J. Matrix Anal. Appl. 36 (2015), no. 3, 1360–1380, arXiv:1502.02074v2.
[10] D. Drusvyatski, H.-L. Lee, G. Ottaviani, R. Thomas, The Euclidean Distance Degree of Orthogonally
Invariant Matrix Varieties, Israel J. Math., to appear, arXiv:1601.07210v1.
[11] D. Eisenbud, G. Fløystad, F. Schreyer, Sheaf cohomology and free resolutions over exterior algebras,
Trans. Amer. Math. Soc. 355 (2003), no. 11, 4397–4426, arXiv:math/0104203v2.
[12] D. Eisenbud, F. Schreyer, J. Weyman, Resultants and Chow forms via exterior syzygies, J. Amer.
Math. Soc. 16 (2003), no. 3, 537–579, arXiv:math/0111040v1.
[13] W. Fulton, J. Harris, Representation Theory: A First Course, Graduate Texts in Mathematics 129,
Springer-Verlag, New York, 1991.
[14] O.D. Faugeras, S. Maybank, Motion from point matches: Multiplicity of solutions, Int. J. Comput.
Vision 4 (1990), no. 3, 225–246.
[15] M. Fischler, R. Bolles, Random Sample Consensus: a Paradigm for Model Fitting with Application to
Image Analysis and Automated Cartography, Commun. Assoc. Comp. Mach. 24 (1981) 381–395.
[16] F. Galetto, Free resolutions and modules with a semisimple Lie group action, J. Softw. Algebra Geom.
7 (2015), 17–29.

26

[17] I.M. Gelfand, M.M. Kapranov, and A.V. Zelevinsky, Discriminants, Resultants and Multidimensional
Determinants, Mathematics: Theory & Applications, Birkhäuser, Boston, 1994.
[18] D. Grayson, M. Stillman, Macaulay2, a software system for research in algebraic geometry. Available
at http://www.math.uiuc.edu/Macaulay2/.
[19] R.I. Hartley, A. Zisserman, Multiple View Geometry in Computer Vision, 2nd ed., Cambridge University Press, Cambridge, 2004.
[20] M. Joswig, J. Kileel, B. Sturmfels, A. Wagner, Rigid Multiview Varieties, Int. J. Algebra Comput. 26
(2016), 775–778, arXiv:1509.03257v2.
[21] M. Marshall, Positive Polynomials and Sums of Squares, Mathematical Surveys and Monographs 146,
American Mathematical Society, Providence, 2008.
[22] S. Maybank, Theory of Reconstruction from Image Motion, Springer, Berlin, 1993.
[23] H. Murao, H. Kobayashi, T. Fujise, On Factorizing the Symbolic U-resultant – Application of the ddet
operator, J. Symbolic Comput. 15 (1993), no. 2, 123–142.
[24] D. Nistér, An efficient solution to the five-point relative pose problem, IEEE Trans. Pattern Anal.
Mach. Intell. 26 (2004), no. 6, 756–770.
[25] D. Plaumann, B. Sturmfels, C. Vinzant, Quartic Curves and Their Bitangents, J. Symbolic Comput.
46 (2011), no. 6, 712–733, arXiv:1008.4104v2.
[26] G. Salmon, A Treatise on the Higher Plane Curves: Intended as a Sequel to “A Treatise on Conic
Sections”, 3rd ed., Dublin, 1879; reprinted by Chelsea Publ. Co., New York, 1960.
[27] S. Sam, Computing inclusions of Schur modules, J. Softw. Algebra Geom. 1 (2009), 5–10,
arXiv:0810.4666v2.
[28] S. Sam, J. Weyman, Pieri resolutions for classical groups, J. Algebra 329 (2011), no. 1, 222–259,
arXiv:0907.4505v5.
[29] S. Sam, A. Snowden, J. Weyman, Homology of Littlewood complexes, Selecta Mathematica 19 (2013),
no. 3, 655–698, arXiv:1209.3509v2.
[30] M. Stillman, H. Schenck, C. Raicu, SchurRings, a package for Macaulay2. Available at
http://www.math.uiuc.edu/Macaulay2/doc/Macaulay2-1.8.2/share/doc/Macaulay2/SchurRings/html/.
[31] J. Weyman, Cohomology of Vector Bundles and Syzygies, Cambridge Tracts in Mathematics 149,
Cambridge University Press, Cambridge, 2003.

Authors’ addresses:
Gunnar Fløystad, Universitetet i Bergen, Norway, gunnar@mi.uib.no
Joe Kileel, University of California, Berkeley, USA, jkileel@math.berkeley.edu
Giorgio Ottaviani, Università di Firenze, Italy, ottavian@math.unifi.it

27

