Arithmetic with Elements#

u * v: GrpSLPElt, GrpSLPElt -> GrpSLPElt#

Given straight-line programs \(u = [u_1, \ldots, u_m]\) and \(v = [v_1, \ldots, v_n]\) belonging to the same SLP-group \(G\), return a straight-line program corresponding to the product of \(u\) and \(v\). It is clear that the straight-line program \([u_1, \ldots, u_m, v_1, \ldots, v_n, u_m v_n]\) satisfies the formal definition. In practice, the \(u_i\) and \(v_i\) need not be distinct, so the resulting program may be shorter.

u ^ m: GrpSLPElt, RngIntElt -> GrpSLPElt#

Given an integer \(m\) and a straight-line program \(u\), return the straight-line program corresponding to the \(m\)-th power of \(u\).

u ^ v: GrpSLPElt, GrpSLPElt -> GrpSLPElt#

Given straight-line programs \(u\) and \(v\), return the straight-line program corresponding to the conjugate of \(u\) by \(v\).

# u: GrpSLPElt -> RngIntElt#

Given a straight-line program \(u\), return the number of multiplication, power or conjugate operations required to evaluate a homomorphism on \(u\).

Accessing the Defining Generators and Relations#

The functions described here provide access to basic information stored for an SLP-group \(G\).

G . i: GrpSLP, RngIntElt -> GrpSLPElt#

The \(i\)-th generator for \(G\).

Generators(G): GrpSLP -> { GrpSLPElt}#

A set containing the generators for \(G\).

NumberOfGenerators(G): GrpSLP -> RngIntElt#
Ngens(G): GrpSLP -> RngIntElt#

The number of generators for \(B\).

Parent(u): GrpSLPElt -> GrpSLP#

The parent group \(G\) of the straight-line program \(u\).