Differences between revisions 7 and 8
Revision 7 as of 2009-09-14 10:31:33
Size: 2205
Comment: link to polymake
Revision 8 as of 2012-09-24 08:56:07
Size: 2242
Editor: chapoton
Comment: + some things that exist
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
[[Note from Marshall Hampton: this is possible using the optional phc package:  [[Note from Marshall Hampton: this is possible using the optional phc package:
Line 54: Line 54:
I would like to work with polyhedral cones and fans (with toric geometry in mind), for instance I would like to work with polyhedral cones and fans (with toric geometry in mind).

The
following now works (2012-09, sage 5.2)
Line 57: Line 59:
cone1=PolyhedralCone([[1,0,0],[0,1,0],[0,0,1]])
cone2=PolyhedralCone([[-1,0,0],[0,1,0],[0,0,1]])
fan=PolyhedralFan([cone1,cone2])
sage: cone1 = Cone([[1,0,0],[0,1,0],[0,0,1]])
sage: cone2 = Cone([[-1,0,0],[0,1,0],[0,0,1]])
sage: fan = Fan([cone1,cone2])
Line 62: Line 64:
I would also need a conical convex hull algorithm The '''Cone''' function can take many generators
Line 64: Line 66:
cone3=ConicalHull([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]) sage: cone3 = Cone([[1,0,0],[0,1,0],[0,0,1],[1,1,1]])
Line 66: Line 68:
should return the cone and then compute the extremal rays
Line 68: Line 70:
PolyhedralCone([[1,0,0],[0,1,0],[0,0,1]]) sage: cone3.rays()
N(0, 0, 1),
N(0, 1, 0),
N(1, 0, 0)
in 3-d lattice N
Line 70: Line 76:

Some support for fans is contained in GroebnerFan, but this would be better if separated clearly.
Line 77: Line 81:

There already exists the attribute '''is_complete''' for fans.

Polytopes requests

  • packages: lrs, cddlib, porta, 4ti2, polymake, coin/or, Vinci

  • optimal performance: important algorithms are reverse search (as in lrs, uses less memory), double description (track the duals, as in cdd and 4ti2)
  • optimization: linear and integer programming (coin/or), semidefinite programming (any good software for this?)
  • combinatorial aspects
  • polymake puts a lot of these things together, but it does not build!

Bernstein's theorem

(this is coming from Daniel Erman).

R.<a,b>=QQ[]
f1=a^2+a*b+b^2+1
f2=a*b^2+a^2*b+11
N1=f1.newton_polytope()
N2=f2.newton_polytope()
S=[N1,N2]

I would like to be able to compute the mixed volume of the collection of polytopes:

S.mixed_volume()

[[Note from Marshall Hampton: this is possible using the optional phc package:

from sage.interfaces.phc import phc
phc.mixed_volume([f1,f2])

]]

The reason I want to do this is because I want to apply Bernstein's theorem to a polynomial system in affine space. So conceivably I'd like to ask:

F=[f1,f2]
F.bernstein_bound()

In addition I'd like to be able to compute anything about N1 that can be done in polymake. For instance f-vector:

N1.f_vector()

Another note from M. Hampton: I have a patch for computing face lattices and f-vectors that I am hoping to put up on trac this week.

How to deal with polyhedral fans ?

(from F. Chapoton)

I would like to work with polyhedral cones and fans (with toric geometry in mind).

The following now works (2012-09, sage 5.2)

sage: cone1 = Cone([[1,0,0],[0,1,0],[0,0,1]])
sage: cone2 = Cone([[-1,0,0],[0,1,0],[0,0,1]])
sage: fan = Fan([cone1,cone2])

The Cone function can take many generators

sage: cone3 = Cone([[1,0,0],[0,1,0],[0,0,1],[1,1,1]])

and then compute the extremal rays

sage: cone3.rays()
N(0, 0, 1),
N(0, 1, 0),
N(1, 0, 0)
in 3-d lattice N

My long-term aim would be to compute the cone of strictly convex support functions of a complete fan.

fan.ample_cone()

There already exists the attribute is_complete for fans.