Returns the combinatorial 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()
[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: [] in SignedCompositions(0)
True
sage: [0] in SignedCompositions(0)
False
sage: [2,1,3] in SignedCompositions(6)
True
sage: [-2, 1, -3] in SignedCompositions(6)
True
TESTS:
sage: SC3 = SignedCompositions(3)
sage: SC3 == loads(dumps(SC3))
True
TESTS:
sage: SignedCompositions(0).list() #indirect doctest
[[]]
sage: SignedCompositions(1).list() #indirect doctest
[[1], [-1]]
sage: SignedCompositions(2).list() #indirect doctest
[[1, 1], [1, -1], [-1, 1], [-1, -1], [2], [-2]]
TESTS:
sage: repr(SignedCompositions(3))
'Signed compositions of 3'
TESTS:
sage: SC4 = SignedCompositions(4)
sage: SC4.cardinality() == len(SC4.list())
True
sage: SignedCompositions(3).cardinality()
18