Hi Andrey,

I've looked over your code and I think it would be good to extend the
class hierarchy of cones. I'm thinking about

Cone
Cone_of_fan(Cone)
  keeps reference of fan
Cone_of_ToricVariety(Cone_of_fan)
  keeps reference of toric variety
Cone_of_DomainOfToricMorphism(Cone_of_ToricVariety)
  knows the image cone (smallest cone containing image)
Cone_of_RangeOfToricMorphism(Cone_of_ToricVariety)
  knows the preimage cones

etc...

In order to allow this and future extensions, the
RationalPolyhedralFan() must create new cones from a factory(**) that
is passed to RationalPolyhedralFan.__init__(). The default factory
would create Cone_of_fan objects. Do you agree?

(**) One cannot use a virtual method of RationalPolyhedralFan,
ToricVariety(RationalPolyhedralFan) since the constructor always calls
base methods.

Apart from that, I think your framework is great to build upon. How
should we proceed? My suggestion would be
- Add ToricLattice framework
- Change RationalPolyhedralFan and its descendants to use (optional)
factories for new Cone objects.
- I'll review the patches
- Any additional functionality will then be implemented as separate
patches top of this patchset.

Best wishes,
Volker

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to