Rays of toric cones #
A ray of a cone is a one-dimensional face. This file defines the ray type on Mathlib's face lattice and proves the finiteness needed to index the primitive ray generators of a toric cone: finite generation of the ambient cone alone already bounds the rays. It also records the geometric content of one-dimensionality: every nonzero point of a salient ray spans it as a pointed cone.
Main declarations #
TauCeti.Toric.ToricRay: the one-dimensional faces of a pointed cone.TauCeti.Toric.ToricRay.finite_of_fg: a finitely generated pointed cone, and hence a toric cone, has finitely many rays.TauCeti.Toric.ToricRay.exists_mem_ne_zero: every ray contains a nonzero point.TauCeti.Toric.ToricRay.eq_hull_singleton: every nonzero point of a salient ray generates that ray.TauCeti.Toric.ToricRay.toPointedCone_le_toPointedCone_iff: in a salient cone, a ray contained in another ray equals it.TauCeti.Toric.ToricRay.instIsEmptyBot: the zero cone has no rays.TauCeti.Toric.ToricRay.faceEmbeddingandTauCeti.Toric.ToricRay.range_faceEmbedding: the rays of a face of a cone are exactly the rays of the cone contained in that face.TauCeti.Toric.ToricRay.faceFinset: the finite set of rays of a cone contained in a finitely generated face.TauCeti.Toric.ToricRay.hullSingletonandTauCeti.Toric.ToricRay.eq_hullSingleton: the cone spanned by a nonzero vector is its own only ray.TauCeti.Toric.ToricRay.map_fst_eq_bot_of_map_snd_ne_bot,TauCeti.Toric.ToricRay.prodRayFst,TauCeti.Toric.ToricRay.prodRaySnd,TauCeti.Toric.ToricRay.prodInl,TauCeti.Toric.ToricRay.prodInrandTauCeti.Toric.ToricRay.prodSplit: the rays of a product of salient cones are exactly the rays of the two factors.
References #
The ray description is from §1.2 of W. Fulton, Introduction to Toric Varieties, and §1.2 of D. Cox, J. Little and H. Schenck, Toric Varieties.
A ray of a pointed cone is a face whose linear span has real dimension one.
Instances For
The pointed cone underlying a ray.
Instances For
Rays are viewed as sets of vectors: membership x ∈ ρ and the coercion (ρ : Set V) both
refer to the pointed cone ρ.toPointedCone underlying the ray, and two rays with the same
points are equal.
The span of the cone underlying a ray has real dimension one.
A ray is not the zero pointed cone.
Every ray contains a nonzero point.
Every nonzero point of a salient ray generates it as a pointed cone. Only the ray itself has
to be salient; for a ray of a salient ambient cone this follows from ConvexCone.Salient.anti
along the face inclusion.
The zero cone #
The zero cone has no rays: its only face is itself, whose span is zero-dimensional.
Rays of a face #
A ray of a face τ of a cone σ is a ray of σ: a face of a face is a face, and
one-dimensionality of the span does not mention the ambient cone.
Instances For
The rays of a face τ of σ are exactly the rays of σ that are contained in τ: a face of
σ contained in τ is a face of τ, and one-dimensionality does not mention the ambient cone.
The ray spanned by a vector #
The cone spanned by a nonzero vector is a ray of itself, and by
TauCeti.Toric.ToricRay.eq_hullSingleton its only one.
Instances For
Membership in the ray spanned by a vector is membership in its underlying cone.
A ray of the cone spanned by a vector is the whole cone: a proper face of that cone misses the spanning vector, hence is the zero cone, which is not a ray.
The cone spanned by a nonzero vector has exactly one ray.
Two rays with the same underlying cone are equal.
In a salient cone, a ray contained in another ray is equal to it: both are spanned by any nonzero point of the smaller one.
In a salient cone, containment of rays is equality.
Rays of a product #
A salient ray of a product of cones cannot project nontrivially to both factors: if its projection to the second factor is nonzero, then its projection to the first factor is zero.
The projection to the first factor of a salient ray of a product of cones whose projection to the second factor is the zero cone is one-dimensional, hence a ray of that factor.
The projection to the second factor of a salient ray of a product of cones whose projection to the second factor is not the zero cone is one-dimensional, hence a ray of that factor.
The ray of the first factor underlying a salient ray of a product of cones whose projection to the second factor is the zero cone.
Instances For
The ray of the second factor underlying a salient ray of a product of cones whose projection to the second factor is not the zero cone.
Instances For
A ray of a product of cones is determined by its two projections.
A ray of the first factor included as a ray of the product by taking its product with the zero cone in the second factor.
Instances For
Membership in a ray included from the first factor is coordinatewise.
A ray of the second factor included as a ray of the product by taking the product of the zero cone in the first factor with that ray.
Instances For
Membership in a ray included from the second factor is coordinatewise.
The decomposition of the rays of a product of salient cones: the rays of σ.prod τ are
exactly the rays of the two factors, a ray of a factor corresponding to its product with the zero
cone. The two cases of the forward map are computed by
TauCeti.Toric.ToricRay.prodSplit_eq_inl and TauCeti.Toric.ToricRay.prodSplit_eq_inr.
Instances For
A finitely generated pointed cone has finitely many rays. In fact finite generation alone makes its entire face lattice finite; this is inherited by the subtype of one-dimensional faces.
The rays of a cone σ contained in a finitely generated face τ, as a finite set: the image of
the rays of τ under faceEmbedding.
Instances For
A ray of σ lies in faceFinset of a face τ exactly when it is contained in τ.
A ray of a face τ of σ, viewed as a ray of σ, lies in faceFinset of τ.
For faces υ ≤ τ ≤ σ, the rays of σ contained in υ are the rays of τ contained in υ,
viewed as rays of σ.