Package sage :: Package combinat :: Module combination
[hide private]
[frames] | no frames]

Module combination

source code


Combinations



Classes [hide private]
  Combinations_mset
  Combinations_set
  Combinations_msetk
  Combinations_setk
Functions [hide private]
 
Combinations(mset, k=['4ti2-20061025', 'R-2.6.0', 'atlas-3.7.37', 'atlas-3.8.1', 'a...)
Returns the combinatorial class of combinations of mset.
source code
Function Details [hide private]

Combinations(mset, k=['4ti2-20061025', 'R-2.6.0', 'atlas-3.7.37', 'atlas-3.8.1', 'a...)

source code 

Returns the combinatorial class of combinations of mset. If
k is specified, then it returns the combintorial class
of combinations of mset of size k.

The combinatorial classes correctly handle the cases where
mset has duplicate elements.

EXAMPLES:
    sage: C = Combinations(range(4)); C
    Combinations of [0, 1, 2, 3]
    sage: C.list()
    [[],
     [0],
     [1],
     [2],
     [3],
     [0, 1],
     [0, 2],
     [0, 3],
     [1, 2],
     [1, 3],
     [2, 3],
     [0, 1, 2],
     [0, 1, 3],
     [0, 2, 3],
     [1, 2, 3],
     [0, 1, 2, 3]]
     sage: C.count()
     16
     
     sage: C2 = Combinations(range(4),2); C2
     Combinations of [0, 1, 2, 3] of length 2
     sage: C2.list()
     [[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]
     sage: C2.count()
     6

     sage: Combinations([1,2,2,3]).list()
     [[],
      [1],
      [2],
      [3],
      [1, 2],
      [1, 3],
      [2, 2],
      [2, 3],
      [1, 2, 2],
      [1, 2, 3],
      [2, 2, 3],
      [1, 2, 2, 3]]