Macaulay2 » Documentation
Packages » PathSignatures :: halfshuffle
next | previous | forward | backward | up | index | toc

# halfshuffle -- compute the half-shuffle of an ordered pair of words

- Usage:
    `h = f >> g`
- Inputs:
  - f, an instance of the type NCRingElement,
  - g, an instance of the type NCRingElement,
- Outputs:
  - h, an instance of the type NCRingElement, the half-shuffle f>>g of the two words;

## Description

We start with the mathematical definition, based on [1] (where the operation is called right half-shuffle). Let $T^{\geq 1}(\mathbb{R}^d)$ be the vector space spanned by the non empty words on $d$ letters. Then the half shuffle $>>$ is defined recursively to be $$ w >> i := wi$$ for $w$ a word and $i$ a letter and $$ w >> vi := (w >> v + v >> w)\bullet i$$ for $w, v$ words and $i$ a letter, where $\bullet$ is the concatenation product on words.

As stated in the reference, the shuffle on non empty words can be seen as a symmetrization of the half-shuffle. As a usage example, we verify this in a particular instance.

    i1 : R = wordAlgebra(3);

    i2 : w = [1]_R

    o2 = Lt
           1

    o2 : R

    i3 : v = [1,2,3]_R

    o3 = Lt Lt Lt
           1  2  3

    o3 : R

    i4 : s = w ** v --shuffle product of w, v

                                       2
    o4 = Lt Lt Lt Lt +Lt Lt Lt Lt +2Lt  Lt Lt
           1  2  3  1   1  2  1  3    1   2  3

    o4 : R

    i5 : hsSymm = (w >> v) + (v >> w)--half-shuffle product symmetrization of w, v

                                       2
    o5 = Lt Lt Lt Lt +Lt Lt Lt Lt +2Lt  Lt Lt
           1  2  3  1   1  2  1  3    1   2  3

    o5 : R

    i6 : s == hsSymm

    o6 = true

## References

[1] Signatures of paths transformed by polynomial maps (doi.org/10.1007/s13366-020-00493-9)

## See also

- shuffle -- shuffle product of two words
- Array _ NCPolynomialRing

## Ways to use halfshuffle:

- `halfshuffle(NCRingElement,NCRingElement)`

## For the programmer

The object halfshuffle is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/PathSignatures/documentation.m2:918:0.