### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »

# Signed Compositions

class `sage.combinat.composition_signed.``SignedCompositions`(n)

  Bases: `sage.combinat.composition.Compositions_n`

  The class of signed compositions of \(n\).

  EXAMPLES:

      sage: SC3 = SignedCompositions(3); SC3
      Signed compositions of 3
      sage: SC3.cardinality()
      18
      sage: len(SC3.list())
      18
      sage: SC3.first()
      [1, 1, 1]
      sage: SC3.last()
      [-3]
      sage: SC3.random_element() # random
      [1, -1, 1]
      sage: SC3.list()
      [[1, 1, 1],
       [1, 1, -1],
       [1, -1, 1],
       [1, -1, -1],
       [-1, 1, 1],
       [-1, 1, -1],
       [-1, -1, 1],
       [-1, -1, -1],
       [1, 2],
       [1, -2],
       [-1, 2],
       [-1, -2],
       [2, 1],
       [2, -1],
       [-2, 1],
       [-2, -1],
       [3],
       [-3]]

  TESTS:

      sage: SC = SignedCompositions(3)
      sage: TestSuite(SC).run()

  `cardinality`()

    Return the number of elements in `self`.

    The number of signed compositions of \(n\) is equal to

    \[\sum_{i=1}^{n+1} \binom{n-1}{i-1} 2^i\]

    TESTS:

        sage: SC4 = SignedCompositions(4)
        sage: SC4.cardinality() == len(SC4.list())
        True
        sage: SignedCompositions(3).cardinality()
        18

### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »