# Database of Character Tables

Magma contains character tables of many of the groups available as an [`ATLASGroup`](../../FiniteGroups/DatabasesOfGroups/ATLAS-database.md#function-atlasgroup). These tables have been computed using the [`CharacterTable`](irreducible.md#function-charactertable-grp) function, and are examples of character tables without a group. Characters are returned with parent character ring having a power map assigned. and with Frobenius-Schur indicator of each character pre-computed.

The available character tables are named using the name of the corresponding [`ATLASGroup`](../../FiniteGroups/DatabasesOfGroups/ATLAS-database.md#function-atlasgroup).

This facility is currently under expansion, and more tables and facilities will be available with future releases.

## `CharacterTable(N): MonStgElt -> SeqEnum[AlgChtrElt]`

## `CharacterTable(A): GrpAtlas -> SeqEnum[AlgChtrElt]`

Return the character table of the group $A$, or the group named by the string $N$, as a sequence of characters without a group. If there is no stored character table corresponding to the name given, a runtime error will result.

## `HasCharacterTable(A): GrpAtlas -> BoolElt`

Return `true` if the character table for the ATLAS group $A$ is in the Magma character table database.

## `CharacterTableNames() -> SetIndx[MonStElt]`

Return the set of strings that are valid character table names in the database.

## `Example: Character Table Data (ex-7566cf)`

We use the `CharacterTable` function to examine some aspects of the simple group $E_6(2)$. We start by showing that $E_6(2)$ has elements $x$ of order 2 and $y$ of order 3 such that $xy$ has order 7.

```magma
> "E62" in CharacterTableNames();
true
> X := CharacterTable("E62");
> #X;
180
> R := Universe(X);
> assigned R`Group;
false
> cd := ClassesData(R);
> c2 := [i: i in [1..#cd] | cd[i,1] eq 2];
> c3 := [i: i in [1..#cd] | cd[i,1] eq 3];
> c7 := [i: i in [1..#cd] | cd[i,1] eq 7];
> c2, c3, c7;
[ 2, 3, 4 ]
[ 5, 6, 7 ]
[ 29, 30, 31, 32 ]
> exists(t){<i,j,k>: i in c2, j in c3, k in c7 |
>                  not IsZero(StructureConstant(R, i, j, k))};
true
> t;
<3, 6, 29>

```

This shows that elements of class 3 (element order 2) when multiplied by a suitable element of class 6 (element order 3), give an element in class 29 (element order 7).

In the proof of Ore’s conjecture by Liebeck, O’Brien, Shalev & Tiep, $E_6(2)$ was a case where the conjecture was checked directly using Frobenius’ character table criterion for an element to be a commutator. We can easily repeat this calculation. The function `test` computes a value for a given conjugacy class such that this value is non-zero if and only if the class consists of commutators.

```magma
> test := func< k | &+[ x[k]/x[1] : x in X ] >;
> forall{ k : k in [1..#cd] | not IsZero(test(k)) };
true

```

This shows that all conjugacy classes of $E_6(2)$ consist of commutators, verifying the conjecture for this group.

We now move on to finding characters of rational representations of $E_6(2)$. It can be shown, using no more than the character table data, that the second and third characters in this table are afforded by rational representations of the group. Given this, we can find further characters afforded by rational representations in the character table. We next verify enough conditions to show that the second and third characters are indeed afforded by rational representations, and then use this to find further characters.

```magma
> Degree(X[2]), Degree(X[3]);
2482 137020
> Indicator(X[2]), Indicator(X[3]);
1 1
> DegreeOfCharacterField(X[2]);
1
> DegreeOfCharacterField(X[3]);
1
> pm := PowerMap(R);
> is_integral := func<i|forall{j:j in [1..n] |
>  GCD(i,n) ne 1 or pm(i,j) eq i} where n := cd[i,1]>;
> [i : i in [1..#X] | X[2,i] eq 1 and is_integral(i)];
[ 52, 56, 66, 75, 82, 84, 93, 104, 105, 106, 126, 147, 150 ]
> GCD([cd[i,1]: i in $1]);
1
> [i : i in [1..#X] | X[3,i] eq 1 and is_integral(i)];
[ 62, 87, 90, 91, 93, 94, 96, 102, 105, 106, 108, 111, 112,
114, 123, 124, 126, 161, 162 ]
> GCD([cd[i,1]: i in $1]);
1

```

We first established that the two characters are both rational valued with indicators 1. They both take the value 1 on integral classes such that the orders of the elements in these classes are coprime. This is sufficient to allow us to conclude that the Schur index over the rational field of both these characters is 1, see [[Feit, 1983](../../references.md#cite-feit-schur-indices)]. It follows that these are characters of rational representations of $E_6(2)$. We now consider products of these characters.

```magma
> x := X[2]*X[3];
> [ i : i in [1..#X] | InnerProduct(X[i], x) eq 1];
[ 2, 5, 8, 17, 21 ]
> x := X[2]^2;
> [ i : i in [1..#X] | InnerProduct(X[i], x) eq 1];
[ 1, 2, 3, 5, 6, 8 ]
> x := X[3]^2;
> [ i : i in [1..#X] | InnerProduct(X[i], x) eq 1];
[ 1, 6, 7, 12, 20, 30, 33, 36, 40 ]

```

This shows that the characters numbered $2,3,5,6,7,8,12,17,20,21,30,33,36,40$ all have Schur index 1 over the rational numbers. In fact, all these characters are rational valued, so they are characters of rational representations. Further products give more information.

```magma
> J := [2,3,5,6,7,8,12,17,20,21,30,33,36,40];
> forall{i: i in J | DegreeOfCharacterField(X[i]) eq 1};
true
> x := X[5]^2;
> [ i : i in [1..#X] | InnerProduct(X[i], x) eq 1];
[ 1, 2, 7, 12, 25, 29, 36, 49, 54, 55, 82, 96, 97, 100,
102, 151, 152, 154, 178, 180 ]
> DegreeOfCharacterField(X[151]);
2

```

The characters found above all have Schur index 1. We see that this includes some irrational characters.

As the power map is stored with the character table, we can use symmetrized powers to improve the above results.

```magma
> assigned R`PowerMap;
true
> x := Symmetrization(X[5], [1,1]);
> [ i : i in [1..#X] | InnerProduct(X[i], x) eq 1];
[ 13, 25, 30, 35, 36, 37, 52, 54, 66, 67, 70, 77, 82, 97,
98, 101, 131, 133, 134, 148, 149, 150, 151, 152, 178 ]
> x := Symmetrization(X[5], [2]);
> [ i : i in [1..#X] | InnerProduct(X[i], x) eq 1];
[ 1, 2, 5, 7, 12, 20, 29, 34, 35, 37, 49, 52, 55, 66, 67,
70, 96, 98, 100, 101, 102, 131, 134, 148, 149, 150, 154,
180 ]

```

## `Example: Lyons Schur Index (ex-4c43a0)`

We consider the characters of Lyons’ sporadic simple group, and compute Schur indices using character table information. We will use the methods described in [[Feit, 1983](../../references.md#cite-feit-schur-indices)], and check the assertion in §7 of this article that all characters of Lyons’ group have Schur index 1. Theorems referenced here refer to this article.

In general we cannot deduce all local Schur indices from character table information, but here we are fortunate and can do so.

We begin by finding the integral classes of the group, and setting up a `test` function that, when it returns true, implies that the character has Schur index 1 over the rationals. We are using Theorem A, Theorem 2.7, and Theorem 2.15.

```magma
> X := CharacterTable("Ly");
> #X;
53
> Z := Integers();
> int_cl := {i : i in [1..#X] | CanChangeUniverse([x[i]: x in X], Z)};
> R := Universe(X);
> d := ClassesData(R);
> test := function(x)
>    if Indicator(x) eq -1 then return false; end if;
>    c := [i : i in int_cl | x[i] in {1,-1}];
>    return #c gt 0 and GCD([d[i,1]: i in c]) eq 1;
> end function;
> schur_1 := {i : i in [1..#X] | test(X[i]) };
> #schur_1;
28
> rat := {i:i in schur_1|DegreeOfCharacterField(X[i]) eq 1};
> #rat;
20

```

We have found 28 characters with Schur index 1. Of these, 20 are rational valued, hence are characters of rational representation of $Ly$. We now consider inner products with products of our 20 rational characters in pairs, to find more characters having Schur index 1. Here we are using Theorem 2.1 and Corollary 2.4.

```magma
> unknown := {1..#X} diff schur_1;
> #unknown;
25
> new_1 := {i : i in unknown | exists{j : j,k in rat | j le k
> and (ip eq 1 or (Indicator(X[i]) ne 0 and IsOdd(ip)))
> where ip := Z!InnerProduct(X[i], X[j]*X[k]) } };
> schur_1 := schur_1 join new_1;
> unknown := {1..#X} diff schur_1;
> unknown;
{ 37 }
> chi := X[37];
> Degree(chi), Indicator(chi);
36887520 1
> DegreeOfCharacterField(chi);
1
> PrimeDivisors(GroupOrder(R) div 36887520);
[ 2, 3, 5, 7, 11 ]

```

We have shown that all but one character ($\chi = \chi_{37}$) have Schur index 1. The outstanding character $\chi$ has degree $36\,887\,520$, indicator 1 (hence Schur index 1 over the real numbers), and is rational valued. Furthermore, for primes $p\not\in\{2, 3, 5, 7, 11\}$ this character has $p$-adic Schur index $m_p(\chi) = 1$ (Theorem 2.10).

We now compute the Schur indices of $\chi$ over the remaining $p$-adic fields. We start with values of $\chi$ on group elements of order 11 (class 17). This may give us information on the cases $p\in\{2, 3, 5, 7\}$. We test if characters in the same $p$-block as $\chi$ take values on class 17 that lie in the $p$-adic field ${\mathbb{Q}}_p$. We use a test for this based on the Galois group of ${\mathbb{Q}}_p(\zeta_{11})$ over ${\mathbb{Q}}_p$. This group is cyclic, generated by the $p$th conjugacy operation: $\zeta_{11} \mapsto \zeta_{11}^p$.

```magma
> d[17,1];
11
> chi[17];
-1
> for p in [2,3,5,7] do
>    bl := Block(X, 37, p);
>    p, forall{i:i in bl|X[i,17] eq Conjugate(X[i,17],p)};
> end for;
2 false
3 true
5 true
7 false
> GroupFactoredOrder(R);
[ <2, 8>, <3, 7>, <5, 6>, <7, 1>, <11, 1>, <31, 1>,
<37, 1>, <67, 1> ]

```

We find that $m_3(\chi)$ and $m_5(\chi)$ are divisors of the character value $-1$ (Corollary 3.2), hence are both 1. When $p=2,7$ we see that Brauer characters in the $p$-block of $\chi$ take values outside ${\mathbb{Q}}_p$. Noting that the Sylow 7-subgroups of $Ly$ are cyclic, Theorem 2.12 gives $m_7(\chi) > 1$. As real valued characters have all Schur indices 1 or 2, $m_7(\chi) = 2$.

It remains to determine $m_2(\chi)$ and $m_{11}(\chi)$. Theorem 2.15 shows that one of these has to equal 1 and the other has to equal 2. We consider group elements of order 21 (class 27) in the same manner as above.

```magma
> d[27,1];
21
> chi[27];
1
> for p in [2,11] do
>    bl := Block(X, 37, p);
>    p, forall{i:i in bl|X[i,27] eq Conjugate(X[i,27],p)};
> end for;
2 false
11 true

```

From this we conclude that $m_{11}(\chi) = 1$ (Corollary 3.2), and deduce $m_2(\chi) = 2$.

We have shown that the statement in §7 of [[Feit, 1983](../../references.md#cite-feit-schur-indices)] that all characters of Lyons’ group have Schur index 1 is not quite correct. The character of degree $36\,887\,520$ has 2-adic and 7-adic Schur indices equal to 2, with its other $p$-adic Schur indices and its real Schur index being 1. All the other characters of $Ly$ have Schur index 1.
