# Creation of Reductive Groups

In the current implementation only certain reductive groups are supported. In particular, the component group is assumed to give rise to a split extension, and if $G^{\circ} \simeq G_1 \times \cdots \times G_n$ is a product of almost-simple groups, the only inner forms $G_1, \ldots G_n$ that are supported are either orthogonal or hermitian, over a number field.

In future releases it will be possible to create more reductive groups.

## `ReductiveGroup(G0, Comp): GrpLie, Grp -> GrpRed`

```magma
InnerForms: [ AlgMatElt ]                    Default: []
```

Creates the reductive group with connected component of the identity `G0` and component group `Comp`, such that the extension is split. `InnerForms` is a list of inner forms, listing for each non-toroidal factor the inner form over the base field.

## `ReductiveGroup(group_data): List -> GrpRed`

Creates the reductive group described by `group_data`, where `group_data` is formed as a list of pairs, each pair consisting of a field name and field value. The fields are `"INNER_FORMS"`, `"ROOT_DATUM"`, `"BASE_FIELD"` and `"COMP_GROUP"`.

The value of the field `"BASE_FIELD"` should be of type `Fld` and consist of the field of definition of $G$. The value of the field `"ROOT_DATUM"` should be a list of $4$ pairs, consisting of a field name and field value, where the field names are `"SIMPLE_ROOTS"`, `"SIMPLE_COROOTS"`, `"SIGNS"` and `"TYPES"`, and their values should be the same as in the constructor for `RootDatum`, two matrices representing the simple roots and coroots, signs for each extraspecial pair, and Cartan type.

## `SymplecticGroup(V): SpcPlr -> GrpRed`

## `SymplecticGroup(n, F): RngIntElt, Fld -> GrpRed`

## `SymplecticGroup(Q): AlgMatElt[Fld] -> GrpRed`

## `SymplecticGroup(Q): AlgMatElt[Rng] -> GrpRed`

The symplectic group ${\operatorname{Sp}}(V)$ associated to the symplectic space $V$, the standard symplectic form on $F^n$ (where $n$ must be even), or the alternating form $Q$.

## `OrthogonalGroup(V): SpcPlr -> GrpRed`

## `OrthogonalGroup(n, F): RngIntElt, Fld -> GrpRed`

## `OrthogonalGroup(Q): AlgMatElt[Fld] -> GrpRed`

## `OrthogonalGroup(Q): AlgMatElt[Rng] -> GrpRed`

The orthogonal group ${\rm O}(V)$ associated to the quadratic space $V$, the standard split quadratic form on $F^n$, or the symmetric form $Q$.

## `SpecialOrthogonalGroup(V): SpcPlr -> GrpRed`

## `SpecialOrthogonalGroup(n, F): RngIntElt, Fld -> GrpRed`

## `SpecialOrthogonalGroup(Q): AlgMatElt[Fld] -> GrpRed`

## `SpecialOrthogonalGroup(Q): AlgMatElt[Rng] -> GrpRed`

The special orthogonal group ${\operatorname{SO}}(V)$ associated to the quadratic space $V$, the standard split quadratic form on $F^n$, or the symmetric form $Q$.

## `UnitaryGroup(V): SpcPlr -> GrpRed`

## `UnitaryGroup(n, F): RngIntElt, Fld -> GrpRed`

## `UnitaryGroup(Q): AlgMatElt[Fld] -> GrpRed`

## `UnitaryGroup(Q): AlgMatElt[Rng] -> GrpRed`

The unitary group $U(V)$ associated to the hermitian space $V$, the standard hermitian form on $F^n$, or the hermitian form $Q$.
