{'fraction_non_alphanumeric': 0.05227869378812775, 'fraction_numerical': 0.012710824031578749, 'mean_word_length': 3.443810323122115, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 48, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Self-Polar Polytopes

Self-polar polytopes are convex polytopes that are equal to an orthogonal transformation of their polar sets. These polytopes were first studied by Lov\'{a}sz as a means of establishing the chromatic number of distance graphs on spheres, and they can also be used to construct triangle-free graphs with arbitrarily high chromatic number. We investigate the existence, construction, facial structure, and practical applications of self-polar polytopes, as well as the place of these polytopes within the broader set of self-dual polytopes.


Introduction
Convex polytopes are fundamental objects in the field of discrete geometry that have been studied since ancient times. They arise naturally as the feasible sets of systems of linear inequalities, and are also valued for their ability to encode complex combinatorial information of various sorts.
The faces of a polytope are its vertices, edges, facets, and so on, and together they can be arranged in a lattice, partially ordered by inclusion, which is known as the face lattice. The face lattice is also the combinatorial type of the polytope, so that many different polytopes which are not equal as sets in real space may nevertheless have the same combinatorial type.
A great deal has been written about the ways in which a combinatorial type can be realized, including characterizations of realization spaces [11], discussions of whether certain combinatorial types can be realized with rational coordinates [13], and procedures for determining whether a given lattice is the face lattice of a polytope [3].
All polytopes have a dual polytope whose face lattice is the dual of the original's face lattice, and some polytopes are also self-dual. Much study has also been given to self-dual polytopes, including the enumeration of types in low dimensions [5], the discovery that self-duality is not necessarily involutory [1], and the classification of self-dualities into internal and external types [4].
No one has yet devoted any major study, however, to the topic of realizations of self-dual polytopes. In this article, we examine this topic from the point of view of self-polar polytopes. Self-polar is a term we have coined to describe any set that is an orthogonal transformation of its own polar set. Thus, self-polar polytopes are a subset of self-dual polytopes. They include as a subset the strongly self-dual polytopes of Lovász [10], whose work inspired this study.
This article will investigate the basic properties of self-polar polytopes: their existence, construction, facial structure, symmetries, and applications. We will focus in particular on polytopes that are equal to the negative of their polar sets. Our ultimate question is whether all self-dual polytopes are self-polar.
We begin with the necessary definitions and preliminary information in Section 2, then discuss some properties of the orthogonal transformations in Section 3. In Section 4, we discuss self-polar polytopes in two and three dimensions, and in Section 5 we describe ways to build self-polar polytopes in higher dimensions from ones in lower dimensions, and vice versa. In Section 6, we characterize the vertex numbers of negatively self-polar polytopes. In Section 7, we describe a way to construct a self-polar polytope from a polytope that is contained in an orthogonal transformation of its polar set, as well as a way to add vertices to a self-polar polytope while maintaining self-polarity. In Section 8, we discuss applications of self-polar polytopes to graph coloring and to indicator function algebras. Finally, in Section 9, we summarize our findings and propose future work.

Polytopes
A polytope is any subset of real space P ⊂ R d which can be described as the convex hull of a finite set of points in R d . Although many different sets of points may yield the same convex hull, we can always find a set {v 1 , v 2 , . . . , v n } ∈ R d which is minimal in the sense that leaving out any v i would not yield P . These points are called the vertices of the polytope and are denoted vert(P ).
By the dimension of a polytope, denoted dim(P ), we mean the dimension of the affine span of the polytope. We will not necessarily assume that a polytope P ⊂ R d is d-dimensional, but if it is, then we will say that P is full-dimensional.
In addition to being described by their vertices, all polytopes can also be described as the intersection of a finite number of closed halfspaces {H 1 , H 2 , . . . , H m }. A closed halfspace H is the closure of the solution set to a linear inequality in R d ; that is, H = {x ∈ R d : a, x ≤ b} for some a ∈ R d and b ∈ R.
Likewise, any finite intersection of halfspaces which is bounded is a polytope.
By bounded, we mean not containing any sequence of points that tend to infinity. A finite intersection of halfspaces which is not bounded is called polyhedral, but it is not considered a polytope. The boundary of a halfspace H, which we will denote ∂H, is the set of points in H that satisfy the linear inequality with equality; that is, ∂H = {x ∈ R d : x, a = b}.

Faces
Suppose for a polytope P ∈ R d that we have a minimal list of its closed halfspaces, {H 1 , H 2 , . . . , H m }. By minimal, we mean that to leave any H i out of the intersection would not yield P . The boundary of the polytope, which we will denote ∂P , is the set of points in P which belong to one or more of the halfspace boundaries. In other words, ∂P = P ∩ (∂H 1 ∪ ∂H 2 · · · ∪ ∂H m ).
A face f of the polytope P is any subset f ⊆ P which can be written as f = P ∩ ∂H i1 ∩ ∂H i2 ∩ · · · ∩ ∂H ij for some subset {H i1 , H i2 , . . . , H ij } of the halfspaces. If the subset of halfspaces is empty, then we get P itself. If we use only one halfspace, P ∩ ∂H i , then we get a face of one less dimension than P , called a facet.
Faces of two dimensions less than P are called ridges, faces of one dimension are called edges, and faces of zero dimensions are the vertices. The empty set is also a face, and is considered to have −1 dimension.

The Face Lattice
The faces of P form a partially ordered set under the subset relation. In fact, the poset is a graded lattice, called the face lattice, which we will denote F (P ). This lattice has P as the maximum element, ∅ as the minimal element, and all elements graded by their dimensions. Just like P itself, each element of the lattice can be described either by the set of halfspaces whose boundaries it is contained in, or by the set of vertices that it contains.
A polytope's face lattice is its combinatorial type, so that any two polytopes whose face lattices are isomorphic have the same combinatorial type. Conversely, a polytope P ⊂ R d with a particular combinatorial type is said to be a realization of that combinatorial type.
The f -vector of a polytope P , denoted f (P ) = (f 0 , . . . , f d−1 ), records how many faces there are of each dimension. Each component f i is the number of i-dimensional faces of P . The Euler-Poincaré formula (see [14]) tells us that for any polytope P , f (P ) satisfies Here, f −1 and f d are defined analogously to the elements of the f -vector as the number of (−1)-dimensional faces and the number of d-dimensional faces respectively.

Dual Polytopes
The dual of a lattice L is another lattice L * which is the same except that the relation has been reversed. In other words, there exists a bijection φ : L → L * which is ordering-reversing, so that for all f, g ∈ L, f ⊂ g if and only if φ(g) ⊂ φ(f ). Such a bijection is known as a dual isomorphism.
A self-dual lattice is a lattice that is its own dual. In the case of self-duality, the order-reversing bijection φ is a dual automorphism. The rank of a dual automorphism is its order or period when regarded as a map; in other words, the least integer r such that φ r is the identity.
Two polytopes are said to be dual to one another if and only if their face lattices are dual to one another. Note that while realizations of polytopes can be dual to one another, the dual of a polytope refers to a combinatorial type, rather than to any particular realization. A self-dual polytope is a polytope whose face lattice is self-dual.
It is far from obvious that the dual of every polytope's face lattice can be realized as a polytope, but this is indeed the case (see [6] and [14]).

The Polar Operation
The polar of a set A ⊆ R d is A • = {x ∈ R d : x, a ≤ 1 for all a ∈ A}. As the polar operation forms the basis for the majority of the research in this article, we will list some of its properties in Lemma 2.1.
Before listing the polar's properties, however, we need to define one last piece of notation that will be of much utility throughout this article.
For a set A ⊆ R d , we will use [A] to denote the closure of the convex hull of A with the origin; that is, [A] = closure(conv(A ∪ {0})). By closure, we mean the inclusion of all limit points under the Euclidean metric. We will refer to this operation as the polar closure, and we will say that A is closed with respect to the polar. The polar closure operation is indeed a closure operation because Euclidean closure, convex hull, and union with zero are all themselves closure operations.
Standard references for these and other properties are [6] and [14]. Proof.
As for the second statement, an orthogonal matrix M is defined by the property that M −T = M .

Polar Polytopes
Now we return to our discussion of polytopes and note a few further properties of the polar as it applies to polytopes.
Let P d 0 denote the set of all d-dimensional polytopes in R d that contain the origin in their interior. Note that P = [P ] for all P ∈ P d 0 , which is precisely why this set of polytopes is of interest.
It should be clear that every polytope can be realized as an element of P d 0 for some value of d. To obtain such a realization for a given polytope, we simply restrict the ambient space to the polytope's affine span to make it fulldimensional, and then translate the polytope so that the origin is in its interior.
Lemma 2.3. The polar operation is an involution on P d 0 ; that is, if P ∈ P d 0 , then P • ∈ P d 0 and P •• = P . Proof. For P ∈ P d 0 , P = [P ], so P = P •• is immediate from Lemma 2.1(3). From Lemma 2.1(2), (vert(P )) • = [vert(P )] • = P • . We know (vert(P )) • is a finite intersection of halfspaces, so P • is a polytope if it is bounded. Since the origin is in the interior of P , P contains an origin-centered ball of radius ε > 0. Then for all y ∈ P • , y |y| ε ∈ P . Hence y, y |y| ε ≤ 1. Since y, y |y| ε = |y|ε, we have that |y| ≤ 1 ε , so P • is bounded. Lemma 2.4. For any polytope P ∈ P d 0 , P • and P are dual polytopes. For the proof of Lemma 2.4, we refer the reader to [6] and [14].

Self-Polarity
Since polar polytopes are realizations of dual polytopes, and there are many polytopes that are self-dual, it is natural to wonder whether there are any polytopes that are self-polar. It turns out that the answer to this question depends on what we mean by "self-polar". If we mean P = P • , then the answer is the following.
Proof. Let B denote the unit ball; that is, B = {x ∈ R d : |x| ≤ 1}. It should be clear that B = B • from the definition of the polar operation. Now suppose we have some other In light of this, we must use a slightly more relaxed definition of self-polarity in order to find anything interesting to work with.
We define a set A ⊂ R d as self-polar provided there exists some orthogonal transformation U of R d such that A = U A • . By orthogonal transformation, we mean any nonsingular linear transformation U such that U T = U −1 . In general, these are rotations and reflections. In the case that A = −A • , we say that A is negatively self-polar.
We will refer to such an orthogonal transformation as a self-polarity map of the set A. In the case of a polytope P , note that every self-polarity map induces a dual automorphism of the face lattice via the mapping from each face of P to its dual face in the polar polytope P • , to the image of that dual face in U P • after the orthogonal transformation, which is again some face of P . Hence a given polytope can have at most as many distinct self-polarity maps as its face lattice has distinct dual automorphisms.
We will soon begin constructing many examples of self-polar polytopes, so it is worthwhile to have a simple way of verifying the property of self-polarity. The next theorem fulfills that goal. 1. For all vertices v, w of P , U v, w ≤ 1.
2. For each facet F of P , there is a vertex v of P such that U v, w = 1 for all vertices w ∈ vert(F ).
Proof. The first condition guarantees that P ⊆ U P • . As for the second condition, each vertex v of U P • is generated by a facet F of P , so that v, U w = 1 for all vertices w ∈ vert(F ). Thus the second condition guarantees that we must have vert(U P • ) ⊆ P . Hence P = U P • .
Before proceeding to show examples of self-polar polytopes and explore their properties, it is interesting to note that we can say something about the properties of the self-polarity maps of polytopes even without knowing anything about the polytopes themselves. First, recall that a matrix M is periodic if there is some n ∈ N such that M n is the identity. The period of a matrix M is the minimum n ∈ N such that M n is the identity.  Figure 1: Examples of a regular, origin-centered square (solid) and its polar set (dashed) with three different radii. Theorem 3.3. If P = U P • for some polytope P ∈ P d 0 and some orthogonal map U , then U 2 P = P and U is periodic with an even period.
Proof. Assume the conditions of the theorem statement and then apply the polar operation to both sides of P = U P • to obtain P • = (U P • ) • . Using Lemmas 2.2 and 2.1(3), this becomes P • = U P •• = U P . Then, substituting U P for P • in P = U P • , we get P = U 2 P . Hence U 2 is a symmetry of P .
Any symmetry of a polytope must have a finite period. This is so because a symmetry maps vertices to vertices. Each U 2 , U 4 , U 6 , . . . induces a permutation on the vertices of P , and there are a finite number of such permutations. Hence there exist some i, j ∈ N with i < j such that U 2i and U 2j induce the same permutation of the vertices of P . But since the vertices of P , regarded as vectors, span the space R d , we must have U 2i = U 2j , which implies I = U 2(j−i) . Thus U is periodic. Now suppose that U has an odd period, so that there is some k ∈ N such that U 2k−1 = I. Then U 2k−1 P = P . But we also know that U 2k P = P , so together these imply U 2k−1 P = U 2k P , which implies P = U P . Then substituting into P • = U P we get P • = P , which by Theorem 3.1 implies that P is a unit ball, contradicting our assumption that P is a polytope. Hence U must have an even period.

Two Dimensions
In two dimensions, it is well-known that every polygon is self-dual. If we start with a regular polygon, centered at the origin, we obtain as its polar a dilated and rotated copy of the same polygon. Let us refer to the distance between origin and vertex in such a polygon as its radius. When we increase the radius of such a polygon, the radius of its polar decreases, and vice versa. See Figure  1 for examples. Hence there is always some radius for which the polar radius is the same as the original radius. When their radii are the same, a regular, origin-centered polygon and its polar can be made identical by a suitable rotation. We can also make the two polygons identical by a reflection, if we let the axis of symmetry connect the origin and any one of the points of intersection between the boundary of the polygon and the boundary of its polar. See Figure 2 for an example.
Since the dihedral group for an n-gon has 2n elements, there are evidently only 2n possible dual automorphisms of the n-gon's face lattice. We will show that any n-gon can be realized in such a way that it is self-polar by 2n distinct orthogonal transformations, each of which realizes a different one of the possible dual automorphisms. Proof. Consider a regular polygon P with n sides, centered at the origin, and given by the vertices Let U be a counterclockwise rotation of π/n. Note that U is an orthogonal transformation. Then each U v i is given by Consider that the maximum dot product between any v i and U v j must be between vertices that are as close together as possible, hence pairs of the form Using trigonometric identities, we can find these dot products as Hence the first condition of Theorem 3.2 is fulfilled. As for the second condition, the facets of P are of the form conv(v i−1 , v i ). Both these vertices have a dot product of 1 with U v i−1 . Hence P = U P • . Now consider that U 2 is a symmetry of P , because P is regular with n sides and U is a rotation by π/n. This means U 2j P = P for all j ∈ N, and so P = U P . . , U 2n−1 are distinct, however, because U 2n = I. These are the n distinct rotations mentioned in the theorem statement.
Let R be reflection across the x-axis. Then there are n other symmetries of P , given by R, U 2 R, U 4 R, U 6 R, . . . , U 2n−2 R, and, just as before, P = U P • =⇒ P = U (U 2j RP ) • = U 2j+1 RP • . These are the n distinct reflections mentioned in the theorem statement.
Negatively self-polar polytopes are of particular interest due to their application to sphere-coloring. From the last theorem, we can already say that odd polygons can be realized as negatively self-polar. Proof. For R 2 , the negative transformation −I is equivalent to a rotation of π. If P is as described in the proof of Theorem 4.1 and has n sides, and U is a rotation by π/n, then U, U 3 , U 5 , . . . , U 2n−1 are self-polarity maps of P . If n is odd, then U n must also be in this list. Since U n is a rotation by π, we conclude that P = −P • . Now let us consider even polygons. First of all, if our goal is to construct a negatively self-polar even polygon, it ought to be clear that a regular even polygon, centered at the origin, is a hopeless case. This is so because for any such realization, call it P , we have P = −P and so P • = −P • , and so P = −P • would imply P = P • , which is impossible except in the case of the unit ball.
It is not necessary to use a regular polygon to achieve self-polarity, however. This opens the door to tremendous number of possible realizations, suggesting perhaps a linear algebra-based approach. However, it is not necessary to turn to such techniques, because the reason for the impossibility of negatively self-polar even polygons is combinatorial, as we shall show.
Recall that any self-polarity map gives rise to a dual automorphism on the face lattice of the polytope. For reflections, such a map is an involution. We will show that for an even polygon, it is impossible to produce an involutory dual automorphism without mapping some facet to one of the vertices that it contains. This is significant because when this is the case, it is impossible to realize the dual automorphism as the negative self-polarity map. This impossibility is true of any polytope, not only the two-dimensional sort, so we will pause to state it as a lemma before applying it to the case of even polygons.
contains v cannot be realized by a negative self-polarity map. Proof. We begin by noting that an involutory dual automorphism partners each vertex with a facet, in such a way that if vertex v is in facet f , then the partner vertex of f must be contained in the partner facet of v. Now suppose that we have an even polygon with our vertices labeled 0, 1, 2, . . . , n − 1, going in order around the polygon, and we have likewise labeled the facets by ordered pairs of the vertices they contain, so that facet (i, i + 1) contains vertices i and i + 1, and the addition operation in the expression i + 1 is understood to be modulo n. Now suppose we have a pairing of vertices and facets that corresponds to an involutory dual automorphism. Suppose that vertex 0 has facet (i, i + 1) as its partner. Then vertex i must be paired with a facet that contains 0, either (Case 1) facet (0, 1) or (Case 2) facet (n − 1, 0).
In Case 1, 0 is paired with (i, i + 1) and i with (0, 1). Then 1 must be paired with a facet that contains i, but there is only one of those that isn't paired yet: (i − 1, i). In fact, from this point on, every pairing is necessitated by the pairings that we have already looked at. In the order that we can deduce them, and including those previously decided, they are: See Figure 3 (left) for a diagram of the pairings. We see that there are two alternating patterns in which vertices 0, 1, 2, . . . are paired with facets (i, i+1), (i−1, i), (i−2, i−1), . . . respectively, and vertices i, i − 1, i − 2, . . . are paired with facets (0, 1), (1, 2), (2, 3), . . . respectively. In both patterns, vertex k is paired with facet (i − k, i − k + 1) (using addition modulo n), hence the patterns are consistent with one another.
Consider now the situation when i is even and k = i 2 . Then vertex k is paired with facet (k, k + 1). On the other hand, if i is odd, then when k = i+1 2 , vertex k is paired with facet (k − 1, k). In either case, the pattern of pairings forces the existence of a vertex paired with one of the facets containing it, which, by Lemma 4.3, means that this dual automorphism cannot be realized by a negative self-polarity. Now for Case 2, in which 0 is paired with (i, i + 1) and i with (n − 1, 0). A similar situation arises here: See Figure 3 (right) for a diagram of the pairings. We see that there are two alternating patterns in which vertices 0, where all of these expressions are modulo n.
These two patterns must be consistent with one another, of course. The first pattern pairs vertex 0 with facet (i, i + 1), while the second pairs vertex 0 with facet (n − i − 1, n − 1). This must be the same facet, so we have i = n − i − 1, which implies n = 2i+1, meaning that n is odd, contrary to our assumption.

Three Dimensions
Having completed our investigation in two dimensions, we proceed to three dimensions. Here, we begin with the happy discovery that, as with two dimensions, every self-dual three-dimensional polytope has a self-polar realization.
First we need a lemma.
Lemma 4.5. If the affine hull of a face f of a polytope P ∈ P d 0 is tangent to an origin-centered sphere of radius r at point x, then the affine hull of the corresponding dual face g of P • is tangent to an origin-centered sphere of radius 1/r at point x/r 2 .
Proof. Let x ′ be the point of tangency for aff(f ). Then f must be orthogonal to x ′ , so every x ∈ f can be expressed as We know y ′ must be in aff(g) because for any x ∈ f there is some w orthogonal to x ′ so that we have x = x ′ + w, which gives us Now consider that any vector which lies in g must be orthogonal to y ′ . This is because any vector lying in g is of the form y 1 − y 2 for some y 1 , y 2 ∈ g, and we have Since g is orthogonal to y ′ , and |y ′ | = 1/r, the lemma's statement follows.
Theorem 4.6. Every self-dual three-dimensional polytope has a self-polar realization.
Proof. The Koebe-Andreev-Thurston theorem implies that each 3-connected planar graph can be realized by a 3-polytope which has all edges tangent to the unit sphere and that the edge-tangent realization for which the barycenter of the tangency points is the center of the sphere is unique up to orthogonal transformations. See [12] for more details and a proof. For a given combinatorial type, let us call this realization P . From Lemma 4.5, the edges of P • will also be tangent to the unit sphere, with their tangency points in the same locations as those of P , hence having their barycenter at the origin. If the polar P • is of the same combinatorial type as P , then its realization in this form is unique up to orthogonal transformation, hence we have P = U P • for some orthogonal transformation U which maps edge-tangency points onto edge-tangency points.
We would also like to know more specifically which three-dimensional polytopes can be realized as negatively self-polar. It is not very difficult to construct a few examples that demonstrate we can have (almost) any number of vertices we like. Proof. The proof is by construction of three different types of polytopes: those with an even number of vertices, those with vertex number congruent to 3 mod 4, and those with vertex number congruent to 1 mod 4.
For the third type, we construct a pyramid over an even polygon with deep truncations at each vertex of the base. For k ∈ N and k ≥ 2, let P be the convex hull of 0, 0, cot π 2k and cos πi k , sin πi k , 0 for i = 1, 2, 3, ..., 2k, and for i = 1, 2, 3, ..., 2k. Then P = −P • and has 4k + 1 vertices. Figure 4 is an example with k = 2 for each of the constructions. As for five vertices, which was missing from Theorem 4.7, there are only two different combinatorial types of polytopes with 5 vertices in R 3 , and, of those, only the square pyramid is self-dual. It turns out that the square pyramid cannot be realized as negatively self-polar because its base cannot be realized as negatively self-polar. The proof of this fact appears a bit later, however, in Theorem 5.5. Now that we know how many vertices are possible for negatively self-polar three-dimensional polytopes, we also know the possible f -vectors (f 0 , f 1 , f 2 ).
Proof. The Euler-Poincaré formula tells us that −1 We must have f 0 = f 2 for any self-dual three-dimensional polytope, so this becomes f 1 = 2f 0 − 2. We know the possible values of n from Theorem 4.7 and 5.5.

Pyramids
It was simple to construct concrete examples of self-polar polytopes in two dimensions, and not very difficult in three, but in higher dimensions, the path forward is less clear. In order for us to climb from one dimension to the next, we begin with a pyramidal construction that allows us to construct self-polar pyramids in higher dimensions over self-polar bases.
Theorem 5.1. For a polytope P ∈ P d 0 that is self-polar by orthogonal transformation U , a pyramid over P can be realized as self-polar by the transformation W , where Proof. First we will construct a realization of the pyramid. Let Q ⊆ R d+1 be the pyramid formed by appending a ∈ R \ {0} as the last coordinate to √ 1 + a 2 P , and taking the convex hull with 0, ..., 0, − 1 a . For x = (x 1 , x 2 , . . . , x d ) ∈ R d and y ∈ R, we will use the notation (x; y) to stand for (x 1 , x 2 , . . . , x d , y) ∈ R d+1 . Now we will use Theorem 3.2 to show that Q is self-polar by W . For the first condition, we need to identify the vertices of Q, which are 0, ..., 0, − 1 a and √ 1 + a 2 v; a for v ∈ vert(P ). Let v, w be any two vertices of P . Then we have 1 + a 2 v; a , W 1 + a 2 w; a = 1 + a 2 v; a , 1 + a 2 U w; −a As for the apex vertex of Q, we have Hence not only do the vertices of Q fulfill the first condition of Theorem 3.2, but from Equation 5.2 we can see that we have also fulfilled the second condition for the facet of Q that is the scaled and translated copy of P .
As for the other facets of Q, each facet F of Q corresponds to a facetF of P in such a way that F has as its vertices 0, ..., 0, − 1 a and √ 1 + a 2 v; a for v ∈ vert(F ). Since P is self-polar by U , we know that for each facetF of P there is a vertex w of P for which v, U w = 1 for all v ∈ vert(F ). Then Equation 5.1 applies, but with equality rather than inequality, and Equation 5.2 applies with w substituted for v. Thus we have fulfilled the second condition of Theorem 3.2 for all facets of Q.

Joins
For polytopes P ∈ P d1 0 and Q ∈ P d2 0 , the join of P and Q, denoted P * Q, is the combinatorial type of a d 1 + d 2 + 1 polytope which can be realized by embedding P and Q into orthogonal subspaces of R d1+d2+1 , then translating the two subspaces apart along the one-dimensional subspace of R d1+d2+1 that is orthogonal to both, and finally taking the convex hull.
For every face f of P and g of Q, the join f * g is a face of P * Q, and conversely, every face of P * Q is the join of a face from P with a face from Q. Here, we are including P and Q as well as the empty set as faces. (Note that f * ∅ = f .) Just as with P and Q themselves, the dimension of a face f * g of P * Q is dim(f ) + dim(g) + 1. [8] Since a pyramid is the join of a polytope with a point, it seems natural to suppose that, as with pyramids, joins of self-polar polytopes might be self-polar. This is indeed the case.
Theorem 5.2. For polytopes P 1 ∈ P d1 0 and P 2 ∈ P d2 0 that are self-polar by orthogonal transformations U 1 and U 2 respectively, the join of P 1 and P 2 can be realized as self-polar by the transformation First we construct a realization of the join. Let Q ⊆ R d1+d2+1 be the join formed by the following process. To each point of √ 1 + a 2 P 1 , we append d 2 zeros and then a ∈ R \ {0} as the last coordinate. To each point of 1 + 1 a 2 P 2 , we insert d 1 zeros before the first coordinate, and then append − 1 a as the last coordinate. Finally, we take the convex hull.
For x = (x 1 , x 2 , . . . , x d1 ) ∈ R d1 , y = (y 1 , y 2 , . . . , y d2 ) ∈ R d2 , and z ∈ R, we will use the notation (x; y; z) to stand for (x 1 , x 2 , . . . , x d1 , y 1 , y 2 , . . . , y d2 , z) ∈ R d1+d2+1 . Now we will use Theorem 3.2 to show that Q is self-polar by W . For the first condition, we need to confirm that any two vertices of Q have a dot product of ≤ 1. Clearly the vertices of Q are of two types: vertices of the embedded copy of P 1 and vertices of the embedded copy of P 2 . Let v, w be any two vertices of P 1 . Then we have 1 + a 2 v; 0, . . . , 0; a , W 1 + a 2 w; 0, . . . , 0; a = 1 + a 2 v; 0, . . . , 0; a , 1 + a 2 U 1 w; 0, . . . , 0; −a On the other hand, let v, w be any two vertices of P 2 . Then we have 0, . . . , 0; 1 + 1 Finally, for a vertex v of P 1 and a vertex w of P 2 , we have Now for the second condition of Theorem 3.2, we need to identify the facets of Q. Since the dimension of each facet must be d 1 + d 2 , and every face of Q is the join of a face from P 1 with a face from P 2 , each facet of Q must be either the join of P 1 with a facet of P 2 , or the join of a facet of P 1 with P 2 .
Let F be a facet of P 1 , and let F ′ be the corresponding facet of Q which is the join of F with P 2 . Since P 1 is self-polar by U 1 , there is some vertex w of P 1 such that v, U 1 w = 1 for all v ∈ vert(F ). Then Equation 5.3 applies to all such v, with equality rather than inequality. As for the vertices of F ′ which come from P 2 rather than from P 1 , Equation 5.5 applies to them. Now for the other case, let F be a facet of P 2 , and let F ′ be the corresponding facet of Q which is the join of F with P 1 . Since P 2 is self-polar by U 2 , there is some vertex w of P 2 such that v, U 2 w = 1 for all v ∈ vert(F ). Then Equation 5.4 applies to all such v, with equality rather than inequality. As for the vertices of F ′ which come from P 1 rather than from P 2 , Equation 5.5 applies to them.

Sections and Projections
Now that we have shown how to construct self-polar polytopes in higher dimensions from those in lower dimensions, it is natural to consider whether we can also construct self-polar polytopes in lower dimensions from those in higher dimensions.
First, we need to establish how the polar operation works on sections and projections. Another consequence of Lemma 5.3 is that it gives us a condition for the existence of a self-polar pyramid for the negative transformation.
Theorem 5.5. If a pyramid P ∈ P d 0 has a negatively self-polar realization, then so does the base of the pyramid.
Proof. Suppose P = −P • ∈ P d 0 is a pyramid over base Q. Let a ∈ R d be the apex of the pyramid. From Lemma 4.3, we know that the dual automorphism of the face lattice that is realized by the negative transformation must pair a with Q. Furthermore, from Lemma 4.5, we know that Q must be orthogonal to a.
Let H be the subspace of R d orthogonal to a. We know H = −H since this is true of any subspace. From Lemma 5.3 we know that (proj H (P )) • = P • ∩ H, where the polar is taken with respect to the space H. Then, multiplying both sides by −1, we get Let S be the intersection of P with H. Since the base of the pyramid, Q, is orthogonal to the apex, a, we can say that for some constant c > 0, proj √ cS is of the same combinatorial type as Q, we have a negatively self-polar realization of the base of the pyramid.

Vertex Numbers of Negatively Self-Polar Polytopes
The theorems in the last section can be applied right away to the question of how many vertices are possible for negatively self-polar polytopes in dimensions higher than three. Starting in three dimensions with the constructions given in Theorem 4.7 and applying Theorem 5.1 repeatedly, we can construct negatively self-polar polytopes in higher dimensions with (almost) any number of vertices, with the only exception being d + 2 vertices in dimension d.
The question of whether there exist any d-dimensional negatively self-polar polytopes with d + 2 vertices is somewhat challenging, since there is no starting construction in d = 3, due to Theorem 5.5. Luckily, polytopes having this number of vertices have already received a great deal of study; see [6] or [14], for example. Proof. For number of vertices n = d+1 and n ≥ d+3, the base case of d = 3 has already been shown, and the higher-dimensional polytopes can be constructed inductively using the information in the proofs of Theorems 4.7 and 5.1. As for n = d + 2, polytopes with this number of vertices are either simplicial, or are (multiple) pyramids over simplicial polytopes (see [6] or [14], for example). A simplicial polytope with n = d + 2 cannot be self-dual because it would have to be both simplicial and simple, which is only true of simplices, which have n = d + 1.
As for (multiple) pyramids over simplicial polytopes, we have already shown in Theorem 5.5 that a negatively self-polar pyramid must have a negatively self-polar base. Hence, for a (multiple) pyramid over a simplicial base to be negatively self-polar, the simplicial base would have to be negatively self-polar in some lower dimension. But then the base would have to be a simplex, and so the entire pyramid would have to be a simplex.

Intermediate Construction
The following theorem and its proof give a method for constructing self-polar polytopes for a chosen orthogonal transformation, using a series of sets contained in the transforms of their polar sets. The theorem also establishes when a selfpolar polytope exists under certain circumstances.
As the theorem statement and its proof are rather complicated, we will first look at an example in depth.
The general strategy is to enlarge P while still ensuring that it remains a subset of −P • . To this end, we will use four auxiliary sets, S 1 , S 2 , S 3 , S 4 . Each auxiliary set is one of the four quadrants, as shown in Figure the right panel of 5. These sets are convenient because each S i = −S • i . We will define P 0 := P and then successively create enlarged versions of P by letting , and so on. The results for P 1 are shown in Figure 6, and the results for P 2 are shown in Figure  7.
As it turns out, we already have our desired goal for Q = P 2 , so S 3 and S 4 are unnecessary. Depending on which of the auxiliary sets we used, however, and in which order, we could obtain several different suitable sets to fill the role of Q. 1. There exists a closed, convex (polyhedral) set R ⊂ R d such that There exists a collection S 1 , S 2 , ..., S n of closed, convex (polyhedral) sets in R d such that Proof. For the first direction, assume all the conditions of the theorem.
Let S be one of the S 1 , S 2 , ..., S n and let T = [(R ∪ S) ∩ U R • ]. Note that if S and R are polyhedral, then T is also polyhedral. Also note that any orthogonal transformation commutes with the polar operation, with the convex hull operation, and with the closure operation.
Regarding T , we firstly find, using our assumptions and the commutativity of U , that Our next finding regarding T is that T ⊆ U T • , as shown below. We use the theorem assumptions, the fact that [ ] is a closure operator, and Lemma 2.1 throughout, as well as basic properties of sets, and the fact that R ⊆ U R • is equivalent to U R ⊆ R • by taking the polar of both sides of the subset relation.
Regarding T , we lastly find that To summarize, we have discovered T such that R ⊆ T ⊆ U T • ⊆ U R • , where T and U T • have equality on S, and T fulfills the same assumptions that we initially made about R. Hence, we proceed iteratively, using T as the new R, and constructing a new T using the same formula, but using a different S to construct T so as to extend the equality of T and U T • to a new region. Below, we describe this iterative process formally. Let . It then follows from our previous finding about T that Then by the nesting of the sets it follows that T n ∩ S i = U T • n ∩ S i for all i = 1, 2, ..., n. Hence T n ∩ (S 1 ∪ S 2 ∪ · · · ∪ S n ) = U T • n ∩ (S 1 ∪ S 2 ∪ · · · ∪ S n ). Since T n ⊆ U T • n ⊆ U R • and by assumption this is a subset of S 1 ∪ S 2 ∪ · · · ∪ S n , we have T n = U T • n . Note that so long as R and the S 1 , ..., S n are polyhedral (i.e., finite intersections of closed half-spaces), then T n is polyhedral because it is constructed in a finite number of steps from intersections, unions, convex hulls, and closures of polyhedral sets. This completes the proof of the first direction of the theorem.
For the second direction, assume U is an orthogonal transformation of R d , P is a set in R d , and assume there exists a (polyhedral) set Q such that P ⊆ Q = U Q • ⊆ U P • . We will define R := Q and S 1 := Q. S 1 is the only S i we will need.
Since Q = U Q • , we have U 2 Q = Q from Theorem 3.3. This gives us 1(a) and 2(a). We get 1(b) and 2(b) from the assumption that P ⊆ Q = U Q • ⊆ U P • . Finally, since U Q • = Q, we have U R • = S 1 , which gives us 2(c).
Some of the requirements of Theorem 7.2 might seem rather difficult to fulfill, and while this is true in general, when U is the negative transformation, matters are simpler, as shown by the following corollary of Theorem 7.2. Corollary 7.3. For a (polyhedral) set P ⊂ R d such that P ⊆ −P • , there exists a (polyhedral) set Q such that P ⊆ Q = −Q • ⊆ −P • .
Proof. Here, we use Theorem 7.2 and let R be P itself. Obviously U 2 = I, so we have fulfilled conditions 1(a) and 1(b). As for the auxiliary sets S i , we can use the orthants of R d , which are polyhedral. Each orthant S i = −S • i , and together the orthants cover all of R d , so they fulfill 2(a), 2(b), and 2(c). Figure 8: Adding a vertex and cutting a new facet while preserving self-polarity.

Add-and-Cut Constructions
The next theorem gives us a way to add vertices to a set that is already self-polar while preserving that property. The key idea is to add a vertex and intersect with a half-space at the same time. See Figure 8 for an example of a successful add-and-cut operation. Caution must taken to make sure that the order in which these operations (adding a vertex and cutting a facet) are done will make no difference to the outcome; in other words, so that [ Figure 9 for an unsuccessful example where the order does make a difference.
Theorem 7.4. For U , an orthogonal transformation of R d , and a set P ⊂ R d such that Proof. Assume that P and x are as described. Then To use Theorem 7.4, an easy way to find a point x which can be added to a polytope is to choose a facet, take a point in the interior of the facet, and slightly increase the radius of that point to get x. As long as the facet chosen does not contain the vertex to which it is dual, and as long as x is still beneath the planes of all the other facets, the conditions of the theorem will be met. A pyramid will be made over the facet, with x at the apex, and the dual vertex to the facet will be cut off to form a new facet. We state this more formally as a corollary now, which will be of much use in the investigation of combinatorial types in the next section. Proof. Using Theorem 7.4, we let x be some point which is beyond f but beneath all other facets. We have U 2 x = x by assumption that U is an involution. As for the other requirement, consider the following. Because x is beneath all facets except f , taking the convex hull of P with x only affects and depends on points beyond facet f . On the other hand, since x is beneath all facets except f , that means v is the only vertex that is beyond U x • . Hence the intersection P ∩ U x • only affects and depends on points strictly beneath facet f . Since the two modifications are thus separated by the hyperplane through f , the result of performing the two modifications in either order is the same, and so fulfilling the conditions of the previous theorem. The description of modification 1 is a consequence of choosing x beyond f but beneath all other facets, and modification 2 is simply the dual description of modification 1.

Vertex Graph Coloring
One practical application for negatively self-polar polytopes is in generating graphs with high chromatic number χ which do not have any χ-cliques. These graphs can be used as test inputs for algorithms that calculate chromatic number or as counter-examples for conjectures regarding chromatic number. First, we need a few definitions. We assume the reader's basic familiarity with graphs. The chromatic number χ(G) of a graph G is the minimal number of colors necessary to assign one color to each vertex in such a way that no edge connects two vertices of the same color. A k-clique is a set of k vertices such that every pair is connected. Obviously, χ(G) must be at least as large as the largest clique in G.
Let G P be the graph formed from the vertices of a d-dimensional polytope P = −P • , where two vertices v and w are connected iff v, w = −1. We will first present a lemma that gives a necessary condition for the existence of a clique, and then we will use the lemma to prove our main theorem for this section.
Proof. Assume V := {v 1 , v 2 , . . . , v k } form a clique of G P . First we will show that P ∩ aff(V ) = conv(V ). Suppose that x ∈ aff(V ) but x / ∈ conv(V ). Then there exist a 1 , a 2 , . . . , a k ∈ R such that x = a 1 v 1 +· · ·+a k v k and a 1 +· · ·+a k = 1 but there is at least one a i such that a i < 0.
Then we have x, Thus x, −v i = a 1 + · · · + a i−1 − a i |v i | 2 + a i+1 + · · · + a k . By adding and subtracting the a i term, we can write this as a 1 + · · · + a k − a i − a i |v i | 2 = 1 − a i − a i |v i | 2 . By assumption, a i < 0, so we have shown x, −v i > 1, which means that x / ∈ −P • = P . Therefore, if a point x is in aff(V ) and in P , it must also be in conv(V ), hence P ∩ aff(V ) = conv(V ). Now it only remains to show that conv(V ) is a (k − 1)-dimensional simplex. Since |V | = k, if conv(V ) is (k − 1)-dimensional, then it must be a simplex, because it doesn't have enough vertices to be anything else. To show conv(V ) is (k − 1)-dimensional, we will translate V so that v k is at the origin, and then show that the other k − 1 translated vertices Suppose that there are some c 1 , . . . , c k−1 ∈ R such that But we also know from the fact that V is a clique that Theorem 8.2. Let G P be the graph formed from the vertices of a d-dimensional polytope P = −P • , where two vertices v and w are connected iff v, w = −1. Then the chromatic number χ(G P ) ≥ d + 1, and G P has a (d + 1)-clique if and only if P is a simplex.
Proof. Lovász [10] showed that for a d-dimensional negatively self-polar polytope P with vertices equidistant from the origin, G P has chromatic number d+1.
In his proof of that theorem, he used Lemma 4 and Theorem A of [10], which showed that χ(G P ) ≥ d + 1. However, Lemma 4 and Theorem A did not rely on having all vertices equidistant from the origin, hence we have χ(G P ) ≥ d + 1 more generally for all negatively self-polar polytopes.
The fact that G P has a (d + 1)-clique if and only if P is a simplex follows from Lemma 8.1.

Algebra of Indicator Functions
We now turn our attention to the topic of indicator functions of polytopes, and algebraic techniques which can be applied to them. We will restrict our discussion solely to a certain class of polytopes; however, the topics below can be broadened to include all closed convex sets, and we refer the reader to [2] for further information. A few definitions are necessary to begin with.
First, we will denote the indicator function of a set A ⊆ R d by [A]. Note that we are re-using a notation which was defined differently in previous sections. In this section, [A] will always be defined as a function from R d to {0, 1} given by Note that indicator functions are subject to the Principle of Inclusion and Exclusion (see, for example, [2]).
Next we remind the reader that P d 0 is the set of all d-dimensional polytopes which contain the origin in their interior. Note that this set is closed under the polar and the intersection operations, and that P •• = P for all P ∈ P.
Finally, we define A d to be the R-algebra spanned by the indicator functions of polytopes in P d 0 .
Hence, an element f ∈ A d can be written where P i ∈ P d 0 , a i ∈ R, and m ∈ N. A d is an algebra because it is closed under multiplication. This is because Note, however, that A d does not have a multiplicative identity. Now we are ready to state our first result.
Theorem 8.3. A d is generated as an R-algebra by the set of indicator functions of all P ∈ P d 0 such that P = −P • . Proof. The theorem is due to two facts, which we will prove after we have discussed their consequences. First, that every P ∈ P d 0 is the union of a finite set of polytopes The first fact means that for every P ∈ P d 0 , [P ] can be written, using the inclusion-exclusion principle, as Then, using the second fact, each Q k has some finite set of polytopes {R k,j } j∈J k which are members of P d 0 , and whose intersection is Q k , and are such that each R k,j = −R • k,j . Hence which means that the indicator function of any P ∈ P d 0 can be written as a linear combination over {−1, 1} of products of indicator functions of negatively self-polar polytopes. Since the indicator functions of P d 0 span A d , this implies the theorem statement. Now we will prove the two facts in question. First, that every P ∈ P d 0 is the union of a finite set of polytopes {Q i } i∈I ⊂ P d 0 such that each Q i ⊆ −Q • i . Let P ∈ P d 0 and intersect P with each orthant of R d to get P 1 , P 2 , . . . , P 2 d . Clearly, P = P 1 ∪P 2 ∪· · ·∪P 2 d , and we already have that each P i ⊂ −P • i because every orthant is negatively self-polar, but these P i are not in P d 0 because they contain the origin as a vertex, not in their interior.
We can remedy this situation easily by adding a point slightly beyond the origin to each P i . We have to be careful about this, however, by choosing a point in the right direction and close enough to the origin that we still have P i ⊆ −P • i and P i ⊂ P . For each P i , let v i be a unit vector in the interior of the orthant. Since P has the origin in its interior, there is some δ > 0 such that the ball of radius δ about the origin is contained in the interior of P . Choose some µ i > 0 such that µ i ≤ δ and such that 1 The fact that |p i | ≤ δ means that Q i ⊂ P , so we still have P = Q 1 ∪Q 2 ∪· · · ∪Q 2 d . Furthermore, since p i is in the orthant negative to the orthant of P i , this means that the origin is in the interior of Q i , so we have Q i ∈ P d 0 . Now it only remains to show that we still have Q i ⊆ −Q • i . Recall that to show this, we simply need to show for any w, x ∈ Q i that w, x ≥ −1. So let w, x ∈ Q i . Then there are some y, z ∈ P i and t, τ ∈ R such that 0 ≤ t ≤ 1 and 0 ≤ τ ≤ 1 and w = ty + (1 − t)p i and x = τ z + (1 − τ )p i . Then Since y, z are in the same orthant, y, z ≥ 0 and since v i is a unit vector, where the last bound can be found with some elementary calculus.
Now we have shown that every P ∈ P d 0 is the union of a finite set of polytopes To finish the proof, we need to show that every P ⊆ −P • is the intersection of a finite set of polytopes {R j } j∈J ⊂ P d 0 such that each R j = −R • j . Let P ∈ P d 0 and P ⊂ −P • . Then let {Q 1 , Q 2 , . . . , Q 2 d } be the intersections of −P • with each orthant of R d , and let P i = conv(P ∪ Q i ) for i = 1, 2, . . . , 2 d .
Let the orthant that Q i is in be denoted O i .
Thus P i ⊆ −P • i . Then by Theorem 7.2, there is some By taking the negative polar of these, which reverses the subset inclusions, we get So R 1 ∩ · · · ∩ R 2 d ⊆ P , and since P ⊆ P i ⊆ R i for each i, we also have P ⊆ R 1 ∩ · · · ∩ R 2 d . Therefore P = R 1 ∩ · · · ∩ R 2 d , and this completes the proof.
A natural follow-up to the previous theorem is to ask what sorts of sets related to self-polar polytopes might span A d . Here is one such result. Corollary 8.4. A d is spanned by the set of indicator functions of all P ∈ P d 0 such that P ⊆ −P • .
Proof. From Theorem 8.3, we know that all the elements of A d are linear combinations over R of products of indicator functions of negatively self-polar polytopes in P d 0 . These products are the indicator functions of the intersections of the polytopes, and the intersection of a finite set of negatively self-polar polytopes is, of course, another polytope in P d 0 which is contained in its negative polar, the convex hull of the union of the polytopes being intersected.
We now state a corollary of a result due to [9]: there exists a linear transformation D : A d → A d such that D([P ]) = [P • ] for any P ∈ P d 0 . (The original result was about a larger algebra, of which A d is a sub-algebra. ) We now turn to a corollary of a result presented by [2]. (Again, the original result was about a larger algebra.) Let T : R d → R d be a linear transformation. Then there exists a linear transformation T : A d → A d such that T ([P ]) = [T (P )] for all P ∈ P d 0 . Taken together, these two corollaries mean that for any unitary transformation U of R d , there is a linear transformation D U of A d such that D U ([P ]) = [U P • ] for all P ∈ P d 0 . In particular, D U = U • D, where U is the transformation of A d that corresponds to U .
For any unitary transformation U of R d , there is some subset B d ⊆ A d spanned by those elements f ∈ A d for which f = D U (f ). There is also a subset C d ⊆ A d spanned by the indicator functions of polytopes P ∈ P d 0 such that P = U P • . Evidently, C d ⊆ B d , and it is natural to wonder whether in fact C d = B d . For now, however, this remains an open question.

Conclusions and Further Questions
In general, as with all sets of polytopes, we would like to know something about which combinatorial types are possible. We have already answered the questions of possible vertex numbers of negatively self-polar polytopes, and we have established the possible f -vectors of negatively self-polar polytopes in two and three dimensions. But the following question remains. Question 9.1. What f -vectors are possible for negatively self-polar polytopes in R 4 and higher dimensions?
More generally, we would like to know about the place of self-polar polytopes within the broader class of self-dual polytopes. We established that all two and three dimensional self-dual polytopes have self-polar realizations, but we have no analogous result for higher dimensions.
Question 9.2. Does every self-dual polytope have a self-polar realization?
Should the answer be yes in all dimensions, then the next question would also be of interest. By definition, every self-dual polytope has a dual automorphism on its face lattice. For negatively self-polar polytopes, this map is an involution. In [7], Grünbaum and Shephard defined the rank of a self-dual polytope as the minimum period of all such maps. Question 9.3. Are all self-dual polytopes with a rank r duality map realizable as self-polar with an r-periodic orthogonal map?
In two dimensions, the answer is again clearly yes, since all polygons are self-dual with rank 2, and are realizable as self-polar by reflection over a single axis.
Lovász [10] showed that for a negatively self-polar polytope in R d with vertices equidistant from the origin, the main diagonals (diagonals from a vertex to the vertices on its dual facet) all have the same length. He further showed that the graph formed by the main diagonals has chromatic number d + 1.
Question 9.4. What is the chromatic number of the graph formed by the main diagonals of a negatively self-polar polytope?
Lovász's study of these polytopes was motivated by questions about the chromatic number of G(d, α), the graph on the points of S d−1 formed by connecting two points iff their distance is exactly α, which is a subgraph of Borsuk's graph. Lovász showed that if there exists a negatively self-polar polytope whose vertices are all 2/(α 2 − 2) from the origin, then the chromatic number of G(d, α) is d + 1. He left the following as an open question, however.