Zulip Chat Archive

Stream: toric

Topic: Correct setting for convex geometry


Justus Springer (Apr 03 2025 at 08:50):

I'm currently looking at the convex geometry side of things, trying to prove that the dual of a polyhedral cone is again polyhedral. I have some code on my branch justus/dual_cone in case someone wants to take a look. Basically, the approach I'm choosing has three steps:

1) Show that Rd\mathbb{R}^d is a polyhedral cone (indeed, it's generated as a cone by {±e1,,±ed}\{\pm e_1, \dots, \pm e_d\})
2) Show that if σ\sigma is polyhedral, then so is σHw\sigma \cap H_w for one halfspace Hw={vRdv,w0}H_w = \{v \in \mathbb{R}^d | \langle v,w\rangle \geq 0 \}.
3) Conclude inductively that for σ=cone(v1,,vn)\sigma = cone(v_1, \dots, v_n), its dual σ=Hv1...Hvn\sigma^\vee = H_{v_1} \cap ... \cap H_{v_n} is polyhedral.

So far, I've formalized steps 1) and 3). Step 2) will probably by a bit annoying, but I don't think there are any real hurdles, as it should be very explicit computations (the generators of σHw\sigma \cap H_w can be explicitly written down, this is basically a version of Fourier-Motzkin elimination).

All of this made me wonder however, what truly is the "correct" setting for us to do convex geometry in for the purposes of toric geometry. So far, everything is stated for a NormedAddCommGroup E with an InnerProductSpace ℝ E instance. I want to raise two points:

  • In my undestanding, there isn't really a good reason to work over the reals and I know lecture notes on toric geometry that never mention R\mathbb{R} but do everything over Q\mathbb{Q}. In a sense, I don't think one should ever use the euclidian topology of Rd\mathbb{R}^d when doing convex geometry, but state everything in terms of the lattice that's embedded in your space (For example, one shouldn't speak about euclidian distances, as these aren't invariant under unimodular transformations. Instead, the correct distance measure is lattice distance, i.e. the number of lattice points on the line segment between your two points).
  • In mathlib, PointedCone.dual and Set.innerDualCone give back cones that live in the same space E that one has started with. On the other hand, toric geometry textbooks like CLS place emphasis on working with two mutually dual lattices NN and MM, which give rise two mutually dual vector spaces NKN \otimes \mathbb{K} and MKM \otimes \mathbb{K} (where K\mathbb{K} is either Q\mathbb{Q} or R\mathbb{R}). Dual cones of cones in NN live in MM and vice versa. I have a feeling this is going to be important when building the bridge from toric varieties back to cones and fans, as then the two lattices will be the character lattice and the lattice of one-parameter subgroups, which are truly different (but dual) lattices. I don't know mathlib well enough, is there a way in which one could express this concept of two mutually dual lattices or vector spaces, linked by a scalar product?

(I just started looking into the Toric project seriously a few days ago and I don't know mathlib's library on convex stuff well, so these two points might not be well informed. Please correct me if you think I misunderstand something)

Kevin Buzzard (Apr 03 2025 at 09:06):

I agree with this. I remember Michal stressing that it was important to use R\R in LLL in Feb and I was thinking "I don't think that's true at all". Is there a misunderstanding here?

Yaël Dillies (Apr 03 2025 at 09:15):

I have thought about this a bit myself (this is why the blueprint is stated with a pairing, rather than a module and its dual. I believe the correct thing to use here would be docs#PerfectPairing, except that I do not know how to make it practical:

  • If it stays a non-class, then we need to carry it around always
  • If it becomes a class, then we will need to make it explicit in a bunch of places, because Lean won't be able to guess N from M and [PerfectPairing M N] alone, and I do not know whether complications will arise from a potential PerfectPairing M N → PerfectPairing N M instance.

Yaël Dillies (Apr 03 2025 at 09:17):

I agree that it is very important to have things more generally than R\R. Eg in the blueprint right now we have mentions of duals of rational convex cones, and I believe that the best way to formalise this would be to talk about cones in Qn\mathbb Q^n.

Justus Springer (Apr 03 2025 at 09:32):

I didn't know about docs#PerfectPairing, but yeah that looks correct.

Justus Springer (Apr 03 2025 at 09:40):

Right, it would be annoying to carry N and M around explicitly all the time. On the other hand, when I want to speak about the dual of a cone σ\sigma which lives in N, maybe I should explicitly say where I want that dual to live, otherwise it's not clear what I'm talking about.

Yaël Dillies (Apr 03 2025 at 09:47):

I believe it would be fine so long as N is a one-letter free variable :grinning: Maybe we could do some trickery where, if N isn't provided, then it is set to be dual M. Something similar happens in measure theory with measures and volume

Michał Mrugała (Apr 03 2025 at 13:07):

Kevin Buzzard said:

I agree with this. I remember Michal stressing that it was important to use R\R in LLL in Feb and I was thinking "I don't think that's true at all". Is there a misunderstanding here?

This is most likely a misunderstanding on my part

Michał Mrugała (Apr 03 2025 at 13:18):

This project is in part an excuse to motivate myself to learn about toric varieties

Michał Mrugała (Apr 03 2025 at 14:16):

After talking to some people: I was dead wrong with the reals mattering. I’ll look for sources which develop the theory in a more general setting.


Last updated: May 02 2025 at 03:31 UTC