#6812: Enumerate integer vectors modulo to the action of a Permutation Group
------------------------------------------------------------------+---------
       Reporter:  nborie                                          |         
Owner:  nborie                                                  
           Type:  enhancement                                     |        
Status:  needs_review                                            
       Priority:  major                                           |     
Milestone:  sage-5.1                                                
      Component:  combinatorics                                   |    
Resolution:                                                          
       Keywords:  enumeration, integer, list, permutation, group  |   Work 
issues:  long time tests, information about listing infinite sets
Report Upstream:  N/A                                             |     
Reviewers:  Karl-Dieter Crisman, Simon King                         
        Authors:  Nicolas Borie                                   |     Merged 
in:                                                          
   Dependencies:                                                  |      
Stopgaps:                                                          
------------------------------------------------------------------+---------

Comment (by nborie):

 Replying to [comment:79 SimonKing]:
 > There are two problems with the orbit() method:
 > {{{
 >         assert isinstance(v, (list, ClonableIntArray)), '%s shoud be a
 Python list or an element of %s'%(v, self)
 >         try:
 >             if v.parent() is self:
 >                 return orbit(self._sgs, v)
 >         except:
 >             return orbit(self._sgs, self.element_class(self, v,
 check=False))
 > }}}
 > That means that ''None'' is returned if v happens to be a
 !ClonableIntArray with a different parent. Shouldn't v be transformed into
 an element of `self` instead?
 >
 > And is it really a good idea to convert v into an element of `self`
 without checking?

 Yes, this piece of code is horribly ugly... The point is that the orbit
 method will work with any integer vector. v doesn't need to be canonical.
 I don't have a use case but I was thinking it would be more convenient to
 allow the user to use this method for any integer vector (canonical or
 not).

 After for safety, I don't know the consequence of such a choice on the
 lung run.

 Anyway, the test is_canonical should be very very much faster than the
 full expansion of an orbit and a user who want just an orbit can also
 compute his own function.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6812#comment:82>
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