Module: sage.monoids.free_monoid_element
Monoid Elements
Author: David Kohel (kohel@maths.usyd.edu.au), 2005/09/29
Elements of free monoids are represented internally as lists of pairs of integers.
Module-level Functions
x) |
Class: FreeMonoidElement
sage: a = FreeMonoid(5, 'a').gens() sage: x = a[0]*a[1]*a[4]**3 sage: x**3 a0*a1*a4^3*a0*a1*a4^3*a0*a1*a4^3 sage: x**0 1 sage: x**(-1) Traceback (most recent call last): ... TypeError: bad operand type for unary ~: 'FreeMonoidElement'
self, F, x, [check=True]) |
Create the element
of the FreeMonoid
.
This should typically be called by a FreeMonoid.
Special Functions: __call__,
__cmp__,
__init__,
__len__,
__mul__,
_latex_,
_repr_
self) |
sage: M.<x,y,z>=FreeMonoid(3) sage: (x*y).subs(x=1,y=2,z=14) 2 sage: (x*y).subs({x:z,y:z}) z^2 sage: M1=MatrixSpace(ZZ,1,2) sage: M2=MatrixSpace(ZZ,2,1) sage: (x*y).subs({x:M1([1,2]),y:M2([3,4])}) [11]
Author: Joel B. Mohler (2007.10.27)
self) |
Return the number of products that occur in this monoid element.
For example, the length of the identity is 0, and the length
of the monoid
is three.
sage: F = FreeMonoid(3, 'a') sage: z = F(1) sage: len(z) 0 sage: a = F.gens() sage: len(a[0]**2 * a[1]) 3
self, y) |
Multiply 2 free monoid elements.
sage: a = FreeMonoid(5, 'a').gens() sage: x = a[0] * a[1] * a[4]**3 sage: y = a[4] * a[0] * a[1] sage: x*y a0*a1*a4^4*a0*a1
self) |
Return latex representation of self.
sage: F = FreeMonoid(3, 'a') sage: z = F([(0,5),(1,2),(0,10),(0,2),(1,2)]) sage: z._latex_() 'a_{0}^{5}a_{1}^{2}a_{0}^{12}a_{1}^{2}' sage: F, (alpha,beta,gamma) = FreeMonoid(3, 'alpha,beta,gamma').objgens() sage: latex(alpha*beta*gamma) \alpha\beta\gamma
See About this document... for information on suggesting changes.