# polynomial.split()¶

Split the expressions of a polynomial of rational expressions. In other words, when an expression is actually a sum of expressions, breaks it in smaller expressions, and return a polynomial of all these smaller expressions.

## Examples¶

In :
import vcsn
c = vcsn.context('expressionset<lal, q>, q')
c

Out:
$\mathsf{RatE}[\{\ldots\}\to\mathbb{Q}]\to\mathbb{Q}$

Beware that the following polynomial (admittedly badly displayed) is $\langle 2 \rangle \odot (a+b)$, not $\langle 2 \rangle \odot a \oplus b$: it contains a single expression, $a+b$.

In :
p1 = c.polynomial('<2>a+b')
p1

Out:
$\left\langle 2\right\rangle a + b$
In :
p1.split()

Out:
$\left\langle 2\right\rangle a \oplus \left\langle 2\right\rangle b$
In :
p2 = c.polynomial('a+b(c+d)')
p2

Out:
$a + b \, \left(c + d\right)$
In :
p2.split()

Out:
$a \oplus b \, \left(c + d\right)$
In :
p1 + p2

Out:
$\left\langle 2\right\rangle a + b \oplus a + b \, \left(c + d\right)$
In :
(p1 + p2).split()

Out:
$\left\langle 3\right\rangle a \oplus \left\langle 2\right\rangle b \oplus b \, \left(c + d\right)$