# Properties of Root Data

## `IsFinite(R): RootStr -> BoolElt`

Returns `true` for any root datum $R$.

## `IsIrreducible(R): RootStr -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is irreducible.

## `IsAbsolutelyIrreducible(R): RootStr -> BoolElt`

Returns `true` if, and only if, the split version of the root datum $R$ is irreducible.

## `IsProjectivelyIrreducible(R): RootStr -> BoolElt`

Returns `true` if, and only if, the quotient of the root datum $R$ modulo its radical is irreducible. This is equivalent for $R$ to have a connected Coxeter diagram.

## `IsReduced(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is reduced.

## `IsSemisimple(R): RootStr -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is semisimple, i.e. its rank is equal to its dimension.

## `IsCrystallographic(R): RootStr -> BoolElt`

Returns `true` for any root datum $R$.

## `IsSimplyLaced(R): RootStr -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is simply laced, i.e. its Dynkin diagram contains no multiple bonds.

## `IsAdjoint(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is adjoint, i.e. its isogeny group is trivial.

## `IsWeaklyAdjoint(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is weakly adjoint, i.e. its isogeny group is isomorphic to ${\mathbb{Z}}^n$, where $n$ is $\dim(R) - {\rm rk}(R)$. Note that if $R$ is semisimple then this function is identical to [`IsAdjoint`](#function-isadjointr).

## `IsSimplyConnected(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is simply connected, i.e. its isogeny group is equal to the fundamental group, i.e. its coisogeny group is trivial.

## `IsWeaklySimplyConnected(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is weakly simply connected, i.e. its coisogeny group is isomorphic to ${\mathbb{Z}}^n$, where $n$ is $\dim(R) - {\rm rk}(R)$. Note that if $R$ is semisimple then this function is identical to [`IsSimplyConnected`](#function-issimplyconnectedr).

## `Example: Properties (ex-ece71b)`

```magma
> R := RootDatum("A5 B2" : Isogeny := "SC");
> IsIrreducible(R);
false
> IsSimplyLaced(R);
false
> IsSemisimple(R);
true
> IsAdjoint(R);
false

```

For some of the exceptional isogeny classes, there is only one isomorphism class of root data, which is both adjoint and simply connected.

```magma
> R := RootDatum("G2");
> IsAdjoint(R);
true
> IsSimplyConnected(R);
true

```

There exist root data that are neither adjoint nor simply connected.

```magma
> R := RootDatum("A3" : Isogeny := 2);
> IsAdjoint(R), IsSimplyConnected(R);
false false

```

Finally, we demonstrate a case where the root datum is not adjoint, but is weakly adjoint.

```magma
> R := RootDatum("A2T1");
> IsAdjoint(R), IsWeaklyAdjoint(R);
false true
> Dimension(R), Rank(R);
3 2
> G := IsogenyGroup(R); G;
Abelian Group isomorphic to Z
Defined on 1 generator (free)

```

## `IsReduced(R): RootStr -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is reduced.

## `IsSplit(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is split, i.e. the $\Gamma$-action is trivial.

## `IsTwisted(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is twisted, i.e. the $\Gamma$-action is not trivial.

## `IsQuasisplit(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is quasisplit, i.e. the anisotropic subdatum is trivial.

## `IsInner(R): RootDtm -> BoolElt`

## `IsOuter(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is inner (resp. outer).

## `IsAnisotropic(R): RootDtm -> BoolElt`

Returns `true` if, and only if, the root datum $R$ is anisotropic, i.e. when $X=X_0$.
