# Operations on Elements

## Basic Operations

### `g * h: GrpLieElt, GrpLieElt -> GrpLieElt`

The product of two elements of a group of Lie type. If the GrpLie:Normalising flag is set for the group, then the product is normalised using the algorithms of [[Cohen *et al.*, 2008](../../references.md#cite-computunipgrps), [Cohen *et al.*, 2004](../../references.md#cite-cohenmurraytaylor)]. Otherwise, the words are just concatenated.

### `Example: Grp Lie Elt Product (ex-e7b37f)`

If the `Normalising` flag is set, the product is normalised, otherwise multiplication is just concatenation.

```magma
> G := GroupOfLieType("G2", GF(3) : Normalising:=false );
> V := VectorSpace(GF(3),2);
> g := elt< G | 1,2,1,2, V![2,2], <1,2>,<5,1> >;
> h := elt< G | <3,2>, V![1,2], 1 >;
> g*h;
n1 n2 n1 n2 (2 2) x1(2) x5(1) x3(2) (1 2) n1
> H := GroupOfLieType("G2", GF(3) : Normalising:=true  );
> g := elt< H | 1,2,1,2, V![2,2], <1,2>,<5,1> >;
> h := elt< H | <3,2>, V![1,2], 1 >;
> g*h;
x2(1) x3(1) (1 2) n1 n2 n1 n2 n1 x4(1)

```

### `g ^ -1: GrpLieElt -> GrpLieElt`

### `Inverse(G): GrpLieElt -> GrpLieElt`

The inverse of the element $g$ of a group of Lie type.

### `g ^ n: GrpLieElt, RngIntElt -> GrpLieElt`

The $n$th power of the element $g$ of a group of Lie type.

### `g ^ h: GrpLieElt, GrpLieElt -> GrpLieElt`

The conjugate $h^{-1}gh$, where $g$ and $h$ are elements of a group of Lie type.

### `(g,  h): GrpLieElt, GrpLieElt -> GrpLieElt`

### `Commutator(g, h): GrpLieElt, GrpLieElt -> GrpLieElt`

The commutator $g^{-1}h^{-1}gh$ of $g$ and $h$, where $g$ and $h$ are elements of a group of Lie type.

### `Normalise(~g): GrpLieElt`

### `Normalize(~g): GrpLieElt`

### `Normalise(g): GrpLieElt -> GrpLieElt`

### `Normalize(g): GrpLieElt -> GrpLieElt`

Normalise the element $g$ of a group of Lie type $G$. The procedural form is slightly more efficient than the functional form. If the `Normalise` flag is set for $G$, this operation has no effect. This uses the algorithms of [[Cohen *et al.*, 2008](../../references.md#cite-computunipgrps), [Cohen *et al.*, 2004](../../references.md#cite-cohenmurraytaylor)].

### `Example: Grp Lie Elt Arith (ex-6ee091)`

Arithmetic in groups of Lie type.

```magma
> k<z> := GF(4);
> G := GroupOfLieType("C3", k);
> V := VectorSpace(k, 3);
> g := elt< G | 1,2,3, <3,z>,<4,z^2>, V![1,z^2,1] >;
> g;
x7(z^2) x8(z^2) (  z   1   z) n1 n2 n3 x3(z) x6(z^2)
> h := elt< G | [0,1,z,1,0,z^2,1,1,z] >;
> h;
x3(z) x7(1) x6(z^2) x8(1) x9(z) x2(1) x4(1)
> g * h^-1;
x3(z) x7(z^2) x6(z) x8(1) (  z   1   z) n1 n2 n3 x5(z) x6(z)
> g^3;
x3(z) x5(z) x7(z^2) x8(z^2) (z^2 z^2 z^2) n1 n2 n1 n3 n2 n1 n3 n2 n3
x3(z) x5(z^2) x7(z) x6(1) x8(z^2) x2(z) x4(1) x1(z)

```

## Decompositions

### `Bruhat(g): GrpLieElt -> GrpLieElt, GrpLieElt, GrpLieElt, GrpLieElt`

Given an element $g$ of a group of Lie type the Bruhat decomposition of $g$ is returned. The function returns elements $u$, $h$, $\dot{w}$, $u'$ with the properties described in Subsection [Bruhat Normalisation](introduction.md#subsectgrpliebruhat) and so that $g=uh\dot{w}u'$.

### `Example: Bruhat (ex-95f5c0)`

```magma
> k<z> := GF(4);
> G := GroupOfLieType("C3", k);
> V := VectorSpace(k, 3);
> g := elt< G | 1,2,3, <3,z>,<4,z^2>, V![1,z^2,1] >;
> Normalise(g);
x7(z^2) x8(z^2) (  z   1   z) n1 n2 n3 x3(z) x6(z^2)
> u, h, w, up := Bruhat(g);
> u; h; w; up;
x7(z^2) x8(z^2)
(  z   1   z)
n1 n2 n3
x3(z) x6(z^2)

```

### `MultiplicativeJordanDecomposition(x): GrpLieElt -> GrpLieElt, GrpLieElt`

The multiplicative Jordan decomposition of the element $x$ of the group of Lie type.

## Conjugacy and Cohomology

### `ConjugateIntoTorus(g): GrpLieElt -> GrpLieElt, GrpLieElt`

Given a semisimple element $g$ in a finite group of Lie type, return a torus element $t$ and conjugator $x$ such that $t=xgx^{-1}$. The elements returned may be defined over a larger field than the input element.

### `ConjugateIntoBorel(g): GrpLieElt -> GrpLieElt, GrpLieElt`

Given a semisimple element $g$ in a finite group of Lie type, return a Borel element $b$ and conjugator $x$ such that $b=xgx^{-1}$. The elements returned may be defined over a larger field that the input element. Although any element of a group of Lie type can be conjugated into the Borel subgroup, this function is currently only implemented for semisimple elements.

### `Lang(c, q): GrpLieElt, RngIntElt -> GrpLieElt`

Given an element $c$ in a finite group of Lie type and $q$ a power of the characteristic, return a solution $a$ of the Lang equation $c = a^{-F} a$. Here $F$ is the Frobenius automorphism gotten by taking $q$th powers in the field.
