#10534: Generation of subsets and partitions enumerated sets
-----------------------------+----------------------------------------------
   Reporter:  vdelecroix     |       Owner:  vdelecroix                         
              
       Type:  enhancement    |      Status:  new                                
              
   Priority:  major          |   Milestone:  sage-4.6.1                         
              
  Component:  combinatorics  |    Keywords:  generation, combinatorics, set, 
subset, partition
     Author:  vdelecroix     |    Upstream:  N/A                                
              
   Reviewer:                 |      Merged:                                     
              
Work_issues:                 |  
-----------------------------+----------------------------------------------
 This ticket stands for a faster implementation of subset and partition
 generation of (finite or infinite) enumerated sets.

 The timing for anything related to Sage sage.combinat.Subwords,
 sage.combinat.Subsets, sage.combinat.SetPartitions, ... are very slow. The
 roadmap is as follows

 1) '''Low level generation:''' Implement a small python extension which
 must be as performant as itertools is

 {{{
 sage: import itertools
 sage: list(itertools.combinations(['a','b','c'],2))
 [('a', 'b'), ('a', 'c'), ('b', 'c')]
 }}}

 The following will be available:

  * subset of given size
  * all subsets
  * set partitions with given integer combination
  * all set partitions

 And for each of them different order of generation (lex, revlex, Gray
 codes, ...) and output as list or tuple.

 Any Suggested names for iterators?

 combinations_lex_as_list, combinations_lex_as_tuple
 combinations_revlex_as_

 2) '''Include and interface it with Sage:''' this won't be hard.

 REFERENCES:

  * Knuth TAOCP fascicule 3a
  * Python C API http://docs.python.org/c-api/

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10534>
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