#10148: Automorphism group of a Polyhedron
----------------------------+-----------------------------------------------
   Reporter:  vbraun        |       Owner:  mhampton    
       Type:  enhancement   |      Status:  needs_work  
   Priority:  major         |   Milestone:  sage-feature
  Component:  geometry      |    Keywords:              
     Author:  Volker Braun  |    Upstream:  N/A         
   Reviewer:                |      Merged:              
Work_issues:                |  
----------------------------+-----------------------------------------------
Changes (by novoselt):

  * status:  needs_review => needs_work


Comment:

 1. I think that it is OK that a private method `_affine_coordinates` does
 not check if the input is valid (i.e. you can pass a point which is not in
 the affine space), but it is worth noting this feature in its
 documentation.
  2. There are some copy-paste typos in the math part of
 `automorphism_group` docstring.
  3. `assert(False)` looks really weird, even though I understand what does
 it mean. Personally, I'd rather not have that line at all.
  4. It would be nice to have an action by permutations on polyhedra. (This
 can wait for another ticket.)
  5. The most important point: the description of the computed group is not
 entirely clear and I am not sure if you planned the behaviour in the
 examples below. It seems to me that you need to switch to projective
 embedding to apply the algorithm. It also seems to me that you need to get
 rid of the lines first since otherwise the computed group becomes very
 obscure, since even directions of line generators are not uniquely
 determined.
  6. If the computed group is not the group of symmetries in a clear way, I
 don't think that the name `automorphism_group` is justified. It should be
 either more descriptive or take a mandatory parameter specifying its type,
 like `automorphism_group("restricted")` with `automorphism_group()`
 raising an exception. I think that at least for bounded polyhedra
 `automorphism_group` should mean GL(R,n)-symmetries.

 Examples:
 {{{
 sage: points = map(vector, [(1,0), (0,1), (-2,-1)])
 sage: p = Polyhedron(vertices=points)
 sage: p.automorphism_group().order()
 2
 sage: p = Polyhedron(vertices=[pt - points[0] for pt in points])
 sage: p.automorphism_group().order()
 6
 sage: p = Polyhedron(vertices=[pt - points[1] for pt in points])
 sage: p.automorphism_group().order()
 6
 sage: p = Polyhedron(vertices=[pt - 2*points[1] for pt in points])
 sage: p.automorphism_group().order()
 1
 }}}
 I want to get the same number in each case. Personally, I like 2 as the
 number of GL(Z,2)-symmetries, but as I understand the referenced paper, it
 should be 6, the number of GL(R,2)-symmetries.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10148#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to