Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: from sage.combinat.words.shuffle_product import ShuffleProduct_overlapping
sage: w, u = map(Words("abcdef"), ["ab", "cd"])
sage: S = ShuffleProduct_overlapping(w,u)
sage: S == loads(dumps(S))
True
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: from sage.combinat.words.shuffle_product import ShuffleProduct_overlapping_r
sage: w, u = map(Words("abcdef"), ["ab", "cd"])
sage: S = ShuffleProduct_overlapping_r(w,u,1)
sage: S == loads(dumps(S))
True
Bases: sage.combinat.words.shuffle_product.ShuffleProduct_w1w2
EXAMPLES:
sage: from sage.combinat.words.shuffle_product import ShuffleProduct_shifted
sage: w, u = Word([1,2]), Word([3,4])
sage: S = ShuffleProduct_shifted(w,u)
sage: S == loads(dumps(S))
True
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: from sage.combinat.words.shuffle_product import ShuffleProduct_w1w2
sage: W = Words([1,2,3,4])
sage: s = ShuffleProduct_w1w2(W([1,2]),W([3,4]))
sage: s == loads(dumps(s))
True
Returns the number of words in the shuffle product of w1 and w2.
It is given by binomial(len(w1)+len(w2), len(w1)).
EXAMPLES:
sage: from sage.combinat.words.shuffle_product import ShuffleProduct_w1w2
sage: w, u = map(Words("abcd"), ["ab", "cd"])
sage: S = ShuffleProduct_w1w2(w,u)
sage: S.cardinality()
6