polynomial | poly
Build the tuple of polynomial, ie the kkk-tape polynomial which is the Cartesian product of the input polynomials.
See also:
automaton.tuple
expression.tuple
import vcsn exp = vcsn.context('lan, q').expression def poly(e, size=3): 'The approximation of expression `e` as a polynomial.' return exp(e).shortest(3) p1 = poly('(<2>ab)*') p1
ε⊕⟨2⟩ab⊕⟨4⟩abab\varepsilon \oplus \left\langle 2\right\rangle \mathit{ab} \oplus \left\langle 4\right\rangle \mathit{abab}ε⊕⟨2⟩ab⊕⟨4⟩abab
p2 = poly('(<3>x)*') p2
ε⊕⟨3⟩x⊕⟨9⟩xx\varepsilon \oplus \left\langle 3\right\rangle \mathit{x} \oplus \left\langle 9\right\rangle \mathit{xx}ε⊕⟨3⟩x⊕⟨9⟩xx
p1 | p2
ε∣ε⊕⟨3⟩ε∣x⊕⟨9⟩ε∣xx⊕⟨2⟩ab∣ε⊕⟨6⟩ab∣x⊕⟨18⟩ab∣xx⊕⟨4⟩abab∣ε⊕⟨12⟩abab∣x⊕⟨36⟩abab∣xx\varepsilon|\varepsilon \oplus \left\langle 3\right\rangle \varepsilon|\mathit{x} \oplus \left\langle 9\right\rangle \varepsilon|\mathit{xx} \oplus \left\langle 2\right\rangle \mathit{ab}|\varepsilon \oplus \left\langle 6\right\rangle \mathit{ab}|\mathit{x} \oplus \left\langle 18\right\rangle \mathit{ab}|\mathit{xx} \oplus \left\langle 4\right\rangle \mathit{abab}|\varepsilon \oplus \left\langle 12\right\rangle \mathit{abab}|\mathit{x} \oplus \left\langle 36\right\rangle \mathit{abab}|\mathit{xx}ε∣ε⊕⟨3⟩ε∣x⊕⟨9⟩ε∣xx⊕⟨2⟩ab∣ε⊕⟨6⟩ab∣x⊕⟨18⟩ab∣xx⊕⟨4⟩abab∣ε⊕⟨12⟩abab∣x⊕⟨36⟩abab∣xx
(exp('(<2>ab)*') | exp('(<3>x)*')).shortest(9)
ε∣ε⊕⟨3⟩ε∣x⊕⟨9⟩ε∣xx⊕⟨2⟩ab∣ε⊕⟨6⟩ab∣x⊕⟨18⟩ab∣xx⊕⟨27⟩ε∣xxx⊕⟨54⟩ab∣xxx⊕⟨81⟩ε∣xxxx\varepsilon|\varepsilon \oplus \left\langle 3\right\rangle \varepsilon|\mathit{x} \oplus \left\langle 9\right\rangle \varepsilon|\mathit{xx} \oplus \left\langle 2\right\rangle \mathit{ab}|\varepsilon \oplus \left\langle 6\right\rangle \mathit{ab}|\mathit{x} \oplus \left\langle 18\right\rangle \mathit{ab}|\mathit{xx} \oplus \left\langle 27\right\rangle \varepsilon|\mathit{xxx} \oplus \left\langle 54\right\rangle \mathit{ab}|\mathit{xxx} \oplus \left\langle 81\right\rangle \varepsilon|\mathit{xxxx}ε∣ε⊕⟨3⟩ε∣x⊕⟨9⟩ε∣xx⊕⟨2⟩ab∣ε⊕⟨6⟩ab∣x⊕⟨18⟩ab∣xx⊕⟨27⟩ε∣xxx⊕⟨54⟩ab∣xxx⊕⟨81⟩ε∣xxxx