# FreeGroup SΒΆ

The free group on a set `S` is the group of finite products of the form `reduce(*, [si ^ ni])` where the `si``'s` are in `S`, and the `ni``'s` are integers. The multiplication is not commutative.

1: %

from MagmaWithUnit

*: (%, %) -> %

from Magma

*: (%, S) -> %

`x * s` returns the product of `x` by `s` on the right.

*: (S, %) -> %

`s * x` returns the product of `x` by `s` on the left.

/: (%, %) -> %

from Group

=: (%, %) -> Boolean

from BasicType

^: (%, Integer) -> %

from Group

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

^: (S, Integer) -> %

`s ^ n` returns the product of `s` by itself `n` times.

~=: (%, %) -> Boolean

from BasicType

coerce: % -> OutputForm
coerce: S -> %

from CoercibleFrom S

commutator: (%, %) -> %

from Group

conjugate: (%, %) -> %

from Group

factors: % -> List Record(gen: S, exp: Integer)

`factors(a1\^e1, ..., an\^en)` returns `[[a1, e1], ..., [an, en]]`.

inv: % -> %

from Group

latex: % -> String

from SetCategory

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

mapExpon: (Integer -> Integer, %) -> %

`mapExpon(f, a1\^e1 ... an\^en)` returns `a1\^f(e1) ... an\^f(en)`.

mapGen: (S -> S, %) -> %

`mapGen(f, a1\^e1 ... an\^en)` returns `f(a1)\^e1 ... f(an)\^en`.

nthExpon: (%, Integer) -> Integer

`nthExpon(x, n)` returns the exponent of the n^th monomial of `x`.

nthFactor: (%, Integer) -> S

`nthFactor(x, n)` returns the factor of the n^th monomial of `x`.

one?: % -> Boolean

from MagmaWithUnit

recip: % -> Union(%, failed)

from MagmaWithUnit

retract: % -> S

from RetractableTo S

retractIfCan: % -> Union(S, failed)

from RetractableTo S

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from MagmaWithUnit

size: % -> NonNegativeInteger

`size(x)` returns the number of monomials in `x`.

smaller?: (%, %) -> Boolean if S has Comparable

from Comparable

BasicType

Comparable if S has Comparable

Group

Magma

MagmaWithUnit

Monoid

SemiGroup

SetCategory

TwoSidedRecip

unitsKnown