### Navigation

- index
- modules |
- next |
- previous |
- Monoids »

# 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)

  Bases: `sage.structure.element.MonoidElement`

  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.

### Navigation

- index
- modules |
- next |
- previous |
- Monoids »