5.1.2.1 FreeMonoidElement Objects

class FreeMonoidElement
Element of a free monoid.
FreeMonoidElement( F, x, [check=True])

Create the element $ x$ of the FreeMonoid $ F$ .

This should typically be called by a FreeMonoid.

Instances of class FreeMonoidElement also have the following special methods:

__cmp__,$  $ __len__,$  $ __mul__,$  $ __pow__,$  $ __repr__,$  $ _latex_

Further documentation:

__len__( )

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 $ x_0^2x_1$ 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

__mul__( 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
a_0*a_1*a_4^4*a_0*a_1

__pow__( n)

Return the $ n$ -th power of this monoid element.

sage: a = FreeMonoid(5, 'a').gens()
sage: x = a[0]*a[1]*a[4]**3
sage: x**3
a_0*a_1*a_4^3*a_0*a_1*a_4^3*a_0*a_1*a_4^3
sage: x**0
1

Note that raising to a negative power is not a constructor for an element of the corresponding free group (yet).

sage: x**(-1)
Traceback (most recent call last):
...
IndexError: Argument n (= -1) must be non-negative.

_latex_( )

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}'

See About this document... for information on suggesting changes.