# Abelian monoid elements¶

AUTHORS:

• David Kohel (2005-09)

EXAMPLES:

Recall the example from abelian monoids.

sage: F = FreeAbelianMonoid(5,names = list("abcde"))
sage: (a,b,c,d,e) = F.gens()
sage: a*b^2*e*d
a*b^2*d*e
sage: x = b^2*e*d*a^7
sage: x
a^7*b^2*d*e
sage: x.list()
[7, 2, 0, 1, 1]


It is important to note that lists are mutable and the returned list is not a copy. As a result, reassignment of an element of the list changes the object.

sage: x.list()[0] = 0
sage: x
b^2*d*e

class sage.monoids.free_abelian_monoid_element.FreeAbelianMonoidElement(F, x)

Create the element x of the FreeAbelianMonoid F.

EXAMPLES:

sage: F = FreeAbelianMonoid(5, 'abcde')
sage: F
Free abelian monoid on 5 generators (a, b, c, d, e)
sage: F(1)
1
sage: a, b, c, d, e = F.gens()
sage: a^2 * b^3 * a^2 * b^4
a^4*b^7
sage: F = FreeAbelianMonoid(5, 'abcde')
sage: a, b, c, d, e = F.gens()
sage: a in F
True
sage: a*b in F
True

list()

Return (a reference to) the underlying list used to represent this element. If this is a monoid in an abelian monoid on $$n$$ generators, then this is a list of nonnegative integers of length $$n$$.

EXAMPLES:

sage: F = FreeAbelianMonoid(5, 'abcde')
sage: (a, b, c, d, e) = F.gens()
sage: a.list()
[1, 0, 0, 0, 0]

sage.monoids.free_abelian_monoid_element.is_FreeAbelianMonoidElement(x)

Queries whether x is an object of type FreeAbelianMonoidElement.

INPUT:

• x – an object.

OUTPUT:

• True if x is an object of type FreeAbelianMonoidElement; False otherwise.

#### Previous topic

Free abelian monoids

Indexed Monoids