Documentation contents

Script File

galois.at

G is a RealForm
pi0(G)=order of component group of G(R)
H1(G)=order of Galois cohomology H^1(Gamma,G)
Source
atlas-scripts/galois.at (172 lines)
Definitions
25
Loads
Loaded by
nilpotent_centralizer.at arthur_parameters.at

Definitions in source order

square_classes

L17square_classes (InnerClass ic) = [[int]]
square_classes(ic) =
list of all square classes of inner class, each a list of real form numbers
square_classes(G) = list of all square classes of inner class of G
the most compact Cartan
for a RealForm just convert it to its InnerClass, Cartan(0) is the same
L19

strong_real_forms_indices

L22strong_real_forms_indices(InnerClass ic) = [int]
list of integer labels of real forms, each repeated for strong real forms

strong_real_forms

L26strong_real_forms(InnerClass ic) = [RealForm]
list of real forms, each repeated for strong real forms

find_class

L36find_class ([[int]] vecs, int k) = int
find(vecs,k) returns the (smallest) int j such that k in occurs in vecs[j]
returns -1 otherwise

part_containing

L38part_containing (int k) = ([[int]] parts) [int]
raises error if i<0
L40

central_invariant_index 2 overloads

L54central_invariant_index (InnerClass ic, int k) = int
associated to a real form \theta is an element of Z^\theta/(1+\theta)Z
(theta can be taken to be the distinguished involution delta)
if theta=\theta_x then x^2\in Z^\Gamma represents this class
form_number(G) is the number of the real form
the central invariant index is the entry in square_classes(G) containing this number
for example inner class of Sp(4,R)
square_classes=([2],[1,0,0])
form_number(Sp(4,R))=2
central_invariant_index(Sp(4,R))=0
form_number(Sp(2,0))=0 form_number(Sp(1,1))=1
central_invariant_index(Sp(2,0))=central_invariant_index(Sp(1,1))=1
L56central_invariant_index (RealForm G) = int

central_invariant 2 overloads

L61central_invariant(RealForm G) = ratvec
central_invariant@RealForm is the same as square@RealForm,
except that we will view its values in Z^delta/(1+delta)Z
see parameters.at
L62central_invariant(InnerClass ic,int i) = ratvec
two ratvecs in P^v, each gives an element of Z, assumed to be
in Z^delta. They define the same central invariant if they
are equivalent modulo (1+delta)Z+X^*
L64
Commented-out code, lines 68–80 (9 lines)
set in_one_plus_delta_Z(InnerClass ic,ratvec v)=bool:
find(ic.one_plus_delta_Z,map_to_center(ic,v))!=-1

set one_plus_delta_Z_der(InnerClass ic)=[ratvec]:
let (ic_d,M)=ic.derived_info in  {^M maps X_*(T_der) to X_*(T)}
sort_u(for v in ic.derived.elements_of_center do ^M*map_to_center(ic_d,(1+^ic_d.distinguished_involution)*v) od)

set in_one_plus_delta_Z_der(InnerClass ic,ratvec v)=bool:
find(ic.one_plus_delta_Z_der,map_to_center(ic,v))!=-1

in_one_plus_delta_Z

L82in_one_plus_delta_Z(InnerClass ic,ratvec v)

equal_central_invariant 2 overloads

L91equal_central_invariant(InnerClass ic,ratvec v,ratvec w) = bool
only equal rank
L94equal_central_invariant(RealForm G,ratvec v) = bool
only equal rank

real_forms_given_central_invariant

L98real_forms_given_central_invariant(InnerClass ic,ratvec v) = [RealForm]
only equal rank

strong_real_forms_given_central_invariant

L102strong_real_forms_given_central_invariant(InnerClass ic,ratvec v) = [RealForm]
only equal rank

strong_real_forms_central_invariant_e

L110strong_real_forms_central_invariant_e(InnerClass ic) = [RealForm]
any group, strong real forms x with x^2=1 are in bijection with
strong real forms G where central_invariant(G)=central_invariant(G.quasicompact_form)
note that the central invariant might not be trivial, for example
in U(2,2) Z/Z^2={iI,-I} in atlas

strong_real_forms_same_type 2 overloads

L133strong_real_forms_same_type (InnerClass ic, int k) = [int]
strong_real_forms_same_type(ic,k)
strong_real_forms_same_type(G)
returns a list [int] (with multiplicity)
of the real form numbers in given inner class with same x^2 as given real form
real form is given by (inner class, number) or (RealForm G)
if j occurs with multiplicity this means several strong real forms
mapping to the given real form
for example if ic=inner_class(Spin(4,4)) then
strong_real_forms_type(ic,0)=[4,0,0,0,0]
meaning one split strong real form and 4 compact ones
L135strong_real_forms_same_type (RealForm G)

strong_real_forms_type

L139strong_real_forms_type(InnerClass ic,int k) = [int]
strong real forms with central invariant: central element k

H1

L144H1 (RealForm G) = int
H^1(\Gamma,G)=H^1(\theta,G) is the number of strong real forms with
given x^2\in Z

also defined in G2_unitary_dual.at

iterate_H1

L149iterate_H1 (int min_rank, int max_rank) = void
calculate H1 for all simple groups of given rank bounds, both simply
connected and adjoint uses all_simple from generate_groups.at

also in this file at line 166, line 167

pi0

L165pi0 (RealForm G) = int

iterate_H1 2 overloads

L166iterate_H1 (int rank) = void
L167iterate_H1 = @void: iterate_H1(1,8)

also in this file at line 149

conjugacy_classes_involutions

L171conjugacy_classes_involutions(RootDatum rd) = int
number of conjugacy classes of involutions of connected
complex group =# strong real forms with central invariant e

Generated from atlas-scripts at commit 7e1b958 (2026-09-17).