v = shuffle(w1, w2, R)We start with the mathematical definition of this operation, based on [1]. Consider $T(\mathbb{R}^d)$, the free algebra on the symbols $1,\dots, d$. Denote by $\bullet$ its concatenation product and by $e$ the neutral element with respect to the concatenation (the empty word). The shuffle product of two words is defined recursively as follows. Let $w, w_1, w_2$ be three words and $a, b$ bet two letters, i.e. $w, w_1, w_2\in T(\mathbb{R}^d)$ and $a,b\in \{1,\dots, d\}$. Then the shuffle product $\char"29E2$ is defined to be $$ e \char"29E2 w := w =: w\char"29E2 e$$ and $$(w_1\bullet a) \char"29E2 (w_2\bullet b) = (w_1 \char"29E2 (w_2\bullet b))\bullet a + ((w_1\bullet a)\char"29E2 w_2)\bullet b$$
The easiest way to compute a shuffle product is through NCRingElement ** NCRingElement which is equivalent to shuffle(NCRingElement,NCRingElement):
|
|
|
|
|
The object shuffle is a method function.
The source of this document is in PathSignatures/documentation.m2:918:0.