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