Duality in Projective Geometry

Dana S. Scott

University Professor, Emeritus
Carnegie Mellon University

dana.scott@cs.cmu.edu

Note

This is a revised and expanded version of the notebook used at the 2006 Wolfram Technology Conference.   All input cells have been made inactive, as the necessary inplementations used for the coursework are not included.  Please contact the author if you are interested in seeing more.

Dedication

To the memories of

Alfred Tarski
                    1902 - 1983               & 
		Abraham Seidenberg
			      1916 - 1988

—two amazing teachers, 
	both with a real love for geometry.

Some Background

Over four years (1989, 1993, 1997, 1998), the author offered at Carnegie Mellon University a one-semester course on algebraic curves in the classical complex projective plane.  The lectures and homework were presented in Mathematica.

The well-known duality between points and lines in projective geometry can be approached either axiomatically (by giving a symmetric formulation to axioms and thus to proofs) or transformationally (by invoking correlations, often effected by conic sections).

What is not so well known is that this duality can be extended to higher-degree loci, relating point ranges (i.e., curves) to line configurations (i.e., envelopes of tangents).

The course managed to work through the projective classification of cubic curves.

Some Difficulties

Most Mathematicians do not really trust computers.

Most Computer Scientists are not so interested in proofs.

Most Departments do not want to support software.

Most Students have fairly little interest in geometry.

	OK. OK.  I know I exaggerate!  
 	    But there is much truth in what I say.

Some Undecidable Theories

Theorem. [J. Robinson, 1949]  The first-order theory of the field \(⟨ℚ, \(+\(\(,\)\(·\)\)\)⟩\) of rational numbers is undecidable.

Let ℙ == ℂ[x, 
            y, z]be the ring of polynomials in three generators over the complex field ℂ.

Theorem. [R.M. Robinson, 1951]  The first-order theory of the ring ⟨ℙ,+,·⟩ is undecidable.

Some Decidable Theories

Now let (ℙ^n)==(ℂ^n)[x, y, z]be the (linear vector space of) homogeneous polynomials in three generators over the complex field ℂ of degree n.  This space has linear dimension (1/2) (n + 1) (n + 2).  We can regard the whole polynomial ring as a "weak direct sum" as follows:  \(ℙ == ∑\+\(n = 0\)\%∞ ℙ\^n\).

Theorem. [A. Tarski, 1949?] The first-order theory of the complex-number field ⟨ℂ,+,·⟩==⟨(ℙ^0),+,·⟩ is decidable.

The proof can be thrown back to the decision method for the field of real numbers.  A better proof can be  given in terms of Gröbner Bases.

Theorem. [Scott, 2006?] The multi-sorted first-order theory of the structure (SuperStar[ℙ])==⟨(ℙ^0),(ℙ^1),(ℙ^2),…,(ℙ^n),…,+,·⟩ is decidable. 

	A practical proof would be welcome!

The Dual Ring

Consider the ring of differential operators on ℂ[x, y, z] generated by the operators ∂/∂x, ∂/∂y, and ∂/∂z .

Let us write 𝔻 == ℂ[u, 
            v, w] for this ring, where the symbols 

             u == ∂/∂x,     v == ∂/∂y, and     w == ∂/∂z 

are introduced as a shorthand.

Theorem. [Exercise]  The rings ℙ and 𝔻 are isomorphic.

This is a (small) first step to duality.

Polydifferentiation

Decompose the ring 𝔻 into its homogeneous parts: \(𝔻 == ∑\+\(n = 0\)\%∞ 𝔻\^n\).

For a polynomial f ∈ (ℙ^n) and a polynomial g ∈ (𝔻^m)  in case m ≤ n let f ⅅg denote the result of letting g operate on f as a differential operator.  Then \(f\ ⅅg ∈ ℙ\^\(n - m\)\).

In case m ≥ n,  let f ⅅg denote the result of letting f operate on g as a differential operator, (allowed because the rings ℙ and 𝔻 are isomorphic).  Then, \(f\ ⅅg ∈ 𝔻\^\(m - n\)\).

Theorem.  If f ∈ (ℙ^n) and g ∈ (𝔻^n), then the meaning of \(f\ ⅅg ∈ ℂ\) is the same whether we let g be the operator or let f be the operator.  

	Hint: Think of how the monomials (x^i) (y^j) (z^k) behave.

Theorem. Since differentiation is a linear operation, the vector spaces (ℙ^n) and (𝔻^n) are dual to each other with the operation ⅅ as the dual paring. 

	This is another step to duality.

Axioms for Differentiation

Theorem. The following  five algebraic properties uniquely determine the operation ⅅ of polydifferentiation operating on pairs of dual homogeneous polynomials of any degrees:

1. Polydifferentiation subtracts degrees:
	ⅅ:(ℙ^n)× (𝔻^m)⟶ (ℙ^(n-m)), if m < n; 
	ⅅ:(ℙ^n)× (𝔻^m)⟶ (𝔻^(m-n)), if m > n; and
	\(ⅅ\(\(:\)\(ℙ\^n×\ 𝔻\^n⟶\ ℂ\)\)\), if  m == n.
		
2.  Polydifferentiation is bilinear:
	(a (Subscript[f, 1]) + b (Subscript[f, 2]))ⅅ g==a ((Subscript[f, 1]) ⅅ g) + 
            b ((Subscript[f, 2]) ⅅ g), and
	f ⅅ (a (Subscript[g, 1]) + b (Subscript[g, 2]))==a (f ⅅ (Subscript[g, 1]))+b (fⅅ (Subscript[g, 2])).
		
3.  Polydifferentiation is associative, in the sense that these four equations hold:
	  f ⅅ 1 == f,
      1 ⅅ g == g,			
	  \(f\ ⅅ\ \((g\_1\ g\_2)\) == \((f\ ⅅg\_1)\) ⅅ\ g\_2\), 
	  		provided deg[(Subscript[g, 1]) (Subscript[g, 2])] ≤ deg[f], 
	  ((Subscript[f, 1]) (Subscript[f, 2]))ⅅ g==\(\(f\_1\) ⅅ\((f\_2\ ⅅ\ g)\)\), 
	  		provided deg[(Subscript[f, 1]) (Subscript[f, 2])] ≤ deg[g].
		  	
4.  The vector space (ℙ^1) of linear homogeneous xyz-polynomials is dual  to the vector space (𝔻^1) of linear homogeneous uvw-polynomials, as shown by:
  
	(({{x ⅅ 
                        u, x ⅅ 
                        v, x ⅅ w}, {y ⅅ 
                        u, y ⅅ 
                        v, y ⅅ w}, {z ⅅ 
                        u, z ⅅ 
                        v, z ⅅ w}}))==(({{1, 0, 0}, {0, 1, 0}, {0, 0, 1}})).
		
5.  Polydifferentiation is a derivative operator, which means that for linear polynomials f and g we have:
   
	((Subscript[f, 1]) (Subscript[f, 2]))ⅅ g==\(\((f\_1\ ⅅ\ 
                    g)\)\ f\_2 + \((\(f\_2\) ⅅg)\)\ f\_1\), and
	 f ⅅ((Subscript[g, 1]) (Subscript[g, 2]))==(f ⅅ (Subscript[g, 1])) (Subscript[g, 2])+(f ⅅ (Subscript[g, 2])) (Subscript[g, 1]).

Theorem.  The multi-sorted first-order theory of the structure  
 (SuperStar[ℙ𝔻])==⟨ℂ,(ℙ^1),(ℙ^2),…,(ℙ^n),…,(𝔻^1),(𝔻^2),…,(𝔻^n),…,\(+\(\(,\)\(\(·\)\(\(,\)\(ⅅ\)\)\)\)\)⟩ 
 
is decidable.

A practical proof would be welcome!

A Mathematica Implementation

Mathematica well implements commutative algebra (and many algebraic algorithms) and of course it implements partial differentiation.  It does not directly implement an algebra of differential operators, however.

With the help of graduate-student assistants—we were able to do that by defining first the function DegP for computing the degree of homogeneous polynomials, and by transcribing the axiomatic characterization of ⅅ into rewrite rules between the two kinds of polynomials using Mathematica rule sets.  (In Mathematica notation, we had to write f ⅅg as PD[f, g].)

This made it possible to prove facts about all homogeneous polynomials of a given degree without having to represent polynomials via suites of coefficients.

Additionally some ideas of exterior algebra had to be represented (on linear forms), and some polynomial invariants using determinants had to be used.

Otherwise, polynomial simplification, factorization, and root finding (all built into Mathematica) were the basic constructs needed.  To solve implicit characterizations of curves, elimination theory algorithms also had to be used.

One big advantage discovered by using symbolic computation in this way was that formulae for the solution of geometric problems could be developed and then used in numerical computation (for example, in creating graphical illustrations).

Some Examples

Example 1. Evaluation

Theorem. [Euler] If f is a homogeneous xyz-polynomial of degree n, and if g is the linear form  a u + b v + c w, then we have 
		f ⅅ(g^n) == n! f[a, b, c], 
			
where f[a, b, c] is shorthand for the evaluation of the polynomial as a function of xyz at abc.

Corollary.  The equation f ⅅ(g^n) == 0 means that the point g lies on the curve f.

Corollary. The linear space (ℂ^n)[u, v, w] of homogeneous uvw-polynomials of degree n is generated (as a vector space) by the nth powers of the linear polynomials.  (The dual theorem holds for (ℂ^n)[x, y, z].)

Test

poly = (x^5) (y^3) - y (z^7) + (z^8);

diff = PD[poly, (((a u + b v + c w))^8)] // Tidy

(diff /. {a -> x, b -> y, c -> z}) // 
      Factor

8!

Example 2. Independence

Definition.  A sequence of  k points is said to be n-independent if, and only if, the space of n-degree curves passing through them has projective dimension (1/2) n (n + 3) - k.

Proposition.  Points (Subscript[p, 1]), ... , (Subscript[p, k]) are n-independent if, and only if, the nth powers  (Subscript[p, 1]^n), ... , (Subscript[p, k]^n)  are linearly independent as uvw-polynomials.

Theorem. If k ≤ n + 1, then any sequence of k distinct points is n-independent.

Theorem. If k ≤ 2 n + 1, then any sequence of k distinct points, no three of which are collinear, is n-independent.

Theorem.  If  k ≤ ((5 n)/2) + 1,  then any sequence of k distinct points, no three of which are collinear and no six are conconic, is n-independent.

Theorem.  Any sequence of eight distinct points with no four collinear and no seven conconic is 3-independent.

Theorem.  If two distinct non-degenerate cubics intersect in nine points, and if three of the points are collinear, then the remaining six are conconic.

Note: A degenerate case of this is the situation of a non-singular cubic and its Hessian.  These two cubic curves intersect at the nine inflection points.  This configuration of points is such that the line through any two passes through a third.

Example 3. Contact

Definition.  Let the point p lie on a curve f == 0, and let the point q be another point on a line l.   Then we say that the line l has degree of contact m at  p  with f  if, and only if  t == 0 is an m-fold root of the equation
     
                            PD[f,(((p+t q))^n)]==0.

Theorem.  The definition of degree of contact does not depend on the choice of q as the other point on l.

Corollary.  Let the point p lie on a curve f == 0, and let the point q be any other point on a line l.   The line l has degree of contact  m at p with f if, and only if, 

         PD[f,(p^(n - i)) (q^i)]==0 whenever 0 ≤ i < m, but   
         PD[f, (p^(n - m)) (q^m)] ≠ 0.

Test

Consider a cubic.

f = -(x^3) + 2 (x^2) z + (y^2) z - x (z^2);

Find some points on the curve.

Solve[{f == 0, z == 1, x == 1/2}, {x, y, 
        z}]

So, this particular point p lies on the curve.

p = (Sqrt[2]) u + v + (2 (Sqrt[2])) w;
PD[f, (p^3)]

Here is an interesting line.

l = Tidy[Factor[(1/2) PD[f, (p^2)]]]

We find a point on the line different from p.

Solve[{l == 0, z == 1, x == 0}, {x, y, z}]

We see how the line intersects the curve.

q = 3 v + 4 (Sqrt[2]) w; PD[f, (((p + t q))^3)] // Factor

Hence the line l has degree of contact 2 with the curve f.  We can draw a picture.

\(\(ImplicitPlot[{f == 0, l == 0} /. {z -> 1}, 
	{x, \(-3\), 
          3}, {y, \(-3\), 3}, 
	PlotPoints -> 131, 
	
        AxesOrigin -> {0, 0}, 
	
        PlotStyle -> {Thickness[0.007]}];\)\)

Looks like a tangent line.  And it is easy to find the other intersection with the curve.  (Why?)

Example 4. Multiplicity

Definition.  A point on a curve is a m-tuple point if, and only if, every line through the point has degree of contact at least m, and one line has degree of contact exactly m.

Theorem.   If f is a curve of degree n and 0 < m ≤ n, then a point p is an m-tuple point of f  if, and only if, 
	    PD[f, (p^(n - m + 1))] == 0,   but   
	    PD[f, (p^(n - m))] ≠ 0.

Definition.  A curve is degenerate  if the polynomial representing it factors into homogeneous polynomials of  lower degree.

Theorem.  The polynomial for a curve of degree n with an n-tuple point factors into a product of n linear forms representing lines concurrent at the n-tuple point.

Test

Consider this quartic:

g = -5 (x^4) + 12 (x^3) y + 86 (x^2) (y^2) + 52 x (y^3) - 
          17 (y^4) + 28 (x^3) z - 40 (x^2) y z - 180 x (y^2) z - 
          48 (x^2) (z^2) + 16 x y (z^2) + 16 (y^2) (z^2) + 16 x (z^3) + 
          32 y (z^3) + 16 (z^4);

Here is a picture:

\(\(ImplicitPlot[{g == 0} /. {z -> 1}, 
	{x, \(-10\), 
          10}, {y, \(-10\), 10}, 
	PlotPoints -> 300, 
	
        AxesOrigin -> {0, 0}, 
	
        PlotStyle -> {Thickness[0.007]}];\)\)

We seem to have a triple point.  Here is a check:

PD[g, (((2 u + w))^2)] // Tidy

Let's introduce the first derivative and factor it.

h = Factor[PD[g, 2 u + w], Extension -> {(Sqrt[22])}]

Yes! It factors into linear factors.  Here is the picture.

\(\(ImplicitPlot[{h == 0} /. {z -> 1}, 
	{x, \(-4\), 
          4}, {y, \(-4\), 4}, 
	PlotPoints -> 300, 
	
        AxesOrigin -> {0, 0}, 
	
        PlotStyle -> {Thickness[0.007]}];\)\)

Putting the pictures together, the lines look like tangents.

\(\(ImplicitPlot[{g == 0, h == 0} /. {z -> 1}, 
	{x, \(-4\), 
          4}, {y, \(-4\), 4}, 
	PlotPoints -> 300, 
	
        AxesOrigin -> {0, 0}, 
	
        PlotStyle -> {{Thickness[0.007], 
              Black}, 
{Thickness[0.007], 
              Red}}];\)\)

ClearAll[f,g,h,p,q]

Comment

At first I thought I could find a low-degree curve with both a double and a triple point.  But then, after failing to find a non-degenerate one, I remembered an easy method to prove:

Theorem.   If a quartic has both a double point and a triple point, then it factors with the line joining the two points as one of the factors.

Proof:  Let p be the double point of a quintic f, and let q be the triple point.  Consider this expansion:

g = (((p + t q))^4) // Expand

When we evaluate PD[f, g], then the first two terms kill f, and the last three do also -- for a different reason.  So, all points on the line joining p and q lie on the curve f == 0.  Q.E.D.

Example 5. Tangency

Definition. If a line at an m-tuple point of a curve has degree of contact greater than m, then it is said to be tangent at that point.

Theorem.  If f is a curve of degree n with an m-tuple point p, then the curve g == PD[f, (p^(n - m))] of degree m factors into m linear factors representing all the tangents to the curve at the point.

Comment.  This theorem shows that at an m-tuple point p on a curve f there are m tangents—but some of them may be counted multiple times depending on how PD[f, (p^(n - m))] factors.

Theorem.  If f is a curve of degree n, and if p is  not an n-tuple point of f, then the non-zero curve PD[f,  p] of degree n - 1 intersects f exactly at multiple points and points of contact of the tangents to f from the point p.  Hence, there can be at most n (n - 1) tangents to the curve f from the point p.

Example 6. Inflection

Definition.  A simple point (= 1-tuple point)  on a curve is an inflection point if the tangent to the curve at the point has degree of contact 3 or more.

Theorem.  A point p is an inflection point on a curve f of degree n if, and only if, we have these three conditions satisfied: 

	(i )    PD[f, (p^n)] == 0, 
	(ii )   PD[f, (p^(n - 1))] ≠ 0, 
	(iii )  PD[f, (p^(n - 2))]factors into linear factors.

Example 7. Cubic Hessians

Theorem.  Let f be a non-singular cubic, and let {p, q, r} be three collinear inflection points of f.   Let h be the Hessian of f.  Then:
	(i )   The Hessian curve h also passes through {p, q, r};
	(ii )  Each tangent to f at {p, q, r} is also tangent to h at the double point of the conic polar at that point;
	(iii ) Each pair of tangents to these points intersects on the conic polar of the third inflection point;  
	(iv ) The the non-tangent factors of the three conic polars are concurrent; and  
	(v )  The double point on the tangent and the inflection point separate harmonically the points of intersection with the other two tangents.

Example 8. Parametrization

Theorem.  If  f is a curve of degree n and p is an (n - 1)-tuple point on f, then if q is any point not on the tangents at p, we can find the other intersection of the line joining p and q with the curve f by the formula:
      
            PD[f, (q^n)] p - n PD[f, p (q^(n - 1))] q.

Test

Consider this cubic.

ClearAll[f, e];
f = Tidy[(y^2) z - x (x - z) (x - z)]

Here is a picture.

\(\(ImplicitPlot[{f == 0} /. {z -> 1}, 
	{x, \(-3\), 
          3}, {y, \(-2\), 2}, 
	PlotPoints -> 200, 
	
        AxesOrigin -> {0, 0}, 
	
        PlotStyle -> {Thickness[0.007]}];\)\)

It seems to have a double point.

p = u + w;

PD[f, (p^2)]
Factor[PD[f, p]]

It does, and we see the two tangents.  Moreover, the curve is also tangent to the line at infinity at the intersection with the y-axis.

{PD[f, (v^3)], PD[f, (v^2)]}

We now attempt a parameterization using our formula taking homogeneous coordinates on the y-axis.

q = α (v + w) + β w;
r = 
      Factor /@ Tidy[-(1/6) (PD[f, (q^3)] p - 
                3 PD[f, p (q^2)] q)]

Does it work?

PD[f, (r^3)]

%//Expand

Yes, but perhaps it can be made to look simpler.

s = -r /. {β -> 1 - α} // Expand // 
        Tidy

Here is a standard parametric plot.

ParametricPlot[{(α^2), α - (α^3) }, {α, -10, 10}, PlotRange -> {{-1, 3}, {-3, 3}}, 
        AspectRatio -> Automatic, 
        PlotStyle -> {Thickness[0.007]}];

ClearAll[f, p, q, r, s];

Example 9. Euclidean Geometry

Euclidean transformations

Projective geometry is a generalization of ordinary geometry—one might say it is a completion by adjoining the line at infinity and by using complex numbers.  But there is a reverse procedure as well: deriving the Euclidean world from the projective.

In order to understand the connection between projective and Euclidean geometry, we note first that we can show that circles are exactly the conics which pass through the two, fixed, complex, so-called circular points at infinity, namely the two points u ± i v.

Definition.  Euclidean transformations are the projective transformations which map circles to circles.  There are two kinds: the direct transformations that the leave the points u ± i v fixed, and the opposite transformations that interchange the two points.

It follows at once that we have:

Theorem. The Euclidean transformations form a subgroup of the group of all projective transformations, and the direct transformations form a smaller subgroup.

Getting circles

Consider the general quadratic.

f  = Table[(Subscript[a, i]), {i, 1, 6}] . Bxyz[2]

Suppose it passes through the circular points at infinity.

{PD[f, (((u + I v))^2)], 
        PD[f, (((u - I v))^2)]} // ExpandAll

The polynomial must simplify.

Solve[{2 (Subscript[a, 1]) + 2 I (Subscript[a, 2]) - 2 (Subscript[a, 3]) == 0, 
        2 (Subscript[a, 1]) - 2 I (Subscript[a, 2]) - 2 (Subscript[a, 3]) == 0}, {(Subscript[a, 1]), 
        (Subscript[a, 2])}]

f = f /. {(Subscript[a, 1]) -> (Subscript[a, 3]), 
            (Subscript[a, 2]) -> 0} /. {(Subscript[a, 3]) -> 1}

We can try some random examples.

g = 
      f /. {(Subscript[a, 4]) -> -5 Random[], 
          (Subscript[a, 5]) -> -5 Random[], 
          (Subscript[a, 6]) -> -Random[]}
ImplicitPlot[{g == 0} /. {z -> 
              1}, {x, -10, 10}, {y, -10, 10}, PlotPoints -> 300, 
        AxesOrigin -> {0, 0}, 
        PlotStyle -> {Thickness[0.007]}];

They all seem to be circles!  OK?

Perpendicularity

Definition. Two lines (neither of which are at infinity) are perpendicular if, and only if, either they pass through the same circular point at infinity or the circular points separate their intersections with the line at infinity harmonically.

Theorem.  For a parabola, a point on the curve, the focus, the foot of the perpendicular to the directrix, and the intersection of the tangent with the axis form a rhombus.  Therefore, the parabola is the locus of points equidistant from the focus and the directrix.

Finally, the reflected light rays hitting a circular mirror outline a 6th-degree curve.

Some Thoughts for the Future

Several perhaps difficult problems remain:

(1) How to extend this approach to fields of characteristic p?
(2) How to use symbolic computation with algebraic numbers?
(3) How to refine the methods for the real projective plane?
(4) How to move to higher dimensions beyond plane geometry?
(5) How to implement more of the ideas of invariant theory?
(6) How to make use of symbolic computation in ideal theory?
(7) How to connect with automated theorem proving? 
  	
A further question is: How to publish such course material?