Example \(G=Sp(4,\mathbb R)\)¶
Now lets find all representations with infinitesimal character \(\rho\)
atlas> G:Sp(4,R)
Variable G: RealForm (overriding previous instance, which had type RealForm)
atlas> G
Value: connected split real group with Lie algebra 'sp(4,R)'
atlas> set parameters=all_parameters_gamma (G, rho(G))
Variable parameters: [Param]
atlas> rho(G)
Value: [ 2, 1 ]/1
atlas> #parameters
Value: 18
atlas> void: for p in parameters do prints(p) od
final parameter (x=0,lambda=[2,1]/1,nu=[0,0]/1)
final parameter (x=1,lambda=[2,1]/1,nu=[0,0]/1)
final parameter (x=2,lambda=[2,1]/1,nu=[0,0]/1)
final parameter (x=3,lambda=[2,1]/1,nu=[0,0]/1)
final parameter (x=4,lambda=[2,1]/1,nu=[1,-1]/2)
final parameter (x=5,lambda=[2,1]/1,nu=[0,1]/1)
final parameter (x=5,lambda=[2,2]/1,nu=[0,1]/1)
final parameter (x=6,lambda=[2,1]/1,nu=[0,1]/1)
final parameter (x=6,lambda=[2,2]/1,nu=[0,1]/1)
final parameter (x=7,lambda=[2,1]/1,nu=[2,0]/1)
final parameter (x=7,lambda=[3,1]/1,nu=[2,0]/1)
final parameter (x=8,lambda=[2,1]/1,nu=[2,0]/1)
final parameter (x=8,lambda=[3,1]/1,nu=[2,0]/1)
final parameter (x=9,lambda=[2,1]/1,nu=[3,3]/2)
final parameter (x=10,lambda=[2,1]/1,nu=[2,1]/1)
final parameter (x=10,lambda=[3,1]/1,nu=[2,1]/1)
final parameter (x=10,lambda=[2,2]/1,nu=[2,1]/1)
final parameter (x=10,lambda=[3,2]/1,nu=[2,1]/1)
atlas>
There are 18 representations with infinitesimal character
\(\rho\). The last four parameters have \(K\backslash G/B\)
element x=10
. They correspond to the four principal series
attached to the split Cartan subgroup.
More generally if \(G(\mathbb R)\) is split of rank \(n\), the
number of minimal principal series of infinitesimal character
\(rho\) corresponds to the set of characters {(lambda,nu)}
, of the split cartan
\(({\mathbb R}^{\times}) ^n\). And up to the
Weyl group, nu=rho
. So there are \(2^n\) choices of lambda
which is a character of \(({\mathbb Z}_2)^n\).
In this case the rank is \(2\), so there are four, namely the last four representations in the above list.
Let us make a separate list for them. You can do:
atlas> set ps=[parameters[14],parameters[15],parameters[16],parameters[17]]
Variable ps: [Param]
atlas> void: for p in ps do prints(p) od
final parameter (x=10,lambda=[2,1]/1,nu=[2,1]/1)
final parameter (x=10,lambda=[3,1]/1,nu=[2,1]/1)
final parameter (x=10,lambda=[2,2]/1,nu=[2,1]/1)
final parameter (x=10,lambda=[3,2]/1,nu=[2,1]/1)
atlas>
But, there is a new command, all_minimal_principal_series
, that
gives you the same list directly:
atlas> whattype all_minimal_principal_series ?
Overloaded instances of 'all_minimal_principal_series'
(RealForm,ratvec)->[Param]
atlas> set ps=all_minimal_principal_series (G, rho(G))
Variable ps: [Param]
atlas> void: for p in ps do prints(p) od
final parameter(x=10,lambda=[2,1]/1,nu=[2,1]/1)
final parameter(x=10,lambda=[3,1]/1,nu=[2,1]/1)
final parameter(x=10,lambda=[2,2]/1,nu=[2,1]/1)
final parameter(x=10,lambda=[3,2]/1,nu=[2,1]/1)
atlas>
These parameters are all principal series. How do we tell them apart?
Each one is giving a character of the split Cartan subgroup. They have the same
nu
and same x=10
and a different lambda. Each lambda is a
character of \({\mathbb Z}_2 \times {\mathbb Z}_2\). In other
words they are in \(X^*/2X^*\).
To know which is which we look at their tau
invariant:
atlas> void: for p in ps do prints(p," ",tau(p)) od
final parameter(x=10,lambda=[2,1]/1,nu=[2,1]/1) [0,1]
final parameter(x=10,lambda=[3,1]/1,nu=[2,1]/1) [1]
final parameter(x=10,lambda=[2,2]/1,nu=[2,1]/1) []
final parameter(x=10,lambda=[3,2]/1,nu=[2,1]/1) [0]
atlas>
So the tau
invariant is big for the element ps[0]
, which means
the irreducible is a small representation. In fact that is the trivial
representation. In contrast, the smallest tau
invariant, the empty
set, correspnding to the element ps[2]
gives the biggest
representation. In this case this is the irreducible principal
series. The other two, namely the elements ps[1]
and ps[3]
on
the list, correspond to the long and short roots respectively. So each
of them are distinquished by their tau
invariant.
A good reference on tau
invariant for Harish Chandra modules is
David Vogan’s paper: Irreducible Characters I. Definition 3.3. Duke
Mathematical Journal (1979). Vol 46, No 1 pp 61-108.
Now lets look at the composition series of the standard module containing the trivial representation
atlas> p:=ps[0]
Value: final parameter(x=10,lambda=[2,1]/1,nu=[2,1]/1)
atlas>
atlas> show(composition_series(I(p)))
1*J(x=0,lambda=[2/1,1/1],nu=[0/1,0/1])
1*J(x=1,lambda=[2/1,1/1],nu=[0/1,0/1])
2*J(x=4,lambda=[2/1,1/1],nu=[1/2,-1/2])
1*J(x=5,lambda=[2/1,1/1],nu=[0/1,1/1])
1*J(x=6,lambda=[2/1,1/1],nu=[0/1,1/1])
1*J(x=7,lambda=[2/1,1/1],nu=[2/1,0/1])
1*J(x=8,lambda=[2/1,1/1],nu=[2/1,0/1])
1*J(x=9,lambda=[2/1,1/1],nu=[3/2,3/2])
1*J(x=10,lambda=[2/1,1/1],nu=[2/1,1/1])
atlas>
This standard module is the sum of all the above irreducibles with certain multiplicities (note there is one that occurs with multiplicity 2). The last irreducible is the trivial representation. This is the biggest composition series. It is the most reducible principal series, which you can detect by its tau invariant.
On the other hand the empty tau invariant says that the corresponding representation is irreducible:
atlas> p:ps[2]
Variable p: Param (overriding previous instance, which had type Param)
atlas> show(composition_series(I(p)))
1*J(x=10,lambda=[2/1,2/1],nu=[2/1,1/1])
atlas>
Another useful tool is the command status_texts
, which gives a bit more information about the types of real roots involved in the tau invariant of the representation.
atlas> void: for p in ps do prints(p," ",tau(p), " ", status_texts(p)) od
final parameter (x=10,lambda=[2,1]/1,nu=[2,1]/1) [0,1] ["r2","r1"]
final parameter (x=10,lambda=[3,1]/1,nu=[2,1]/1) [1] ["rn","r1"]
final parameter (x=10,lambda=[2,2]/1,nu=[2,1]/1) [] ["rn","rn"]
final parameter (x=10,lambda=[3,2]/1,nu=[2,1]/1) [0] ["r2","rn"]
atlas>
In other words, for a given representation the real roots in the tau
invariant can be type r1
or r2
depending on whether they are
long or short; and those not in the tau invariant are denoted by
rn
.
Another way to check which of these principal series corresponds to the trivial representation is to look at \(\lambda -\rho\) since this gives the trivial character on M
atlas> p:trivial(G)
Variable p: Param (overriding previous instance, which had type Param)
atlas> p
Value: final parameter (x=10,lambda=[2,1]/1,nu=[2,1]/1)
atlas> lambda(p)
Value: [ 2, 1 ]/1
atlas> lambda(p) - rho(G)
Value: [ 0, 0 ]/1
atlas>
The problem is that it is not always that easy to determine which is the trivial representation this way. For example, if the group is not simply connected. But in any case, this is often another way to determine it.
Now suppose we start with the trivial representation and we modify the
parameter nu
by an element of the Weyl group:
atlas> p:trivial(G)
Variable p: Param (overriding previous instance, which had type Param)
atlas> p
Value: final parameter (x=10,lambda=[2,1]/1,nu=[2,1]/1)
atlas>
atlas> set q=parameter(KGB(G,10),[2,1],[-1,-2])
Variable q: Param
atlas> q
Value: non-dominant parameter(x=10,lambda=[2,1]/1,nu=[-1,-2]/1)
atlas> p=q
Value: false
atlas> equivalent(p,q)
Value: true
atlas>
The representations are not equal. However, they are equvalent. The Weyl group sends [-1,-2]
to``[2,1]``. And, since there is a
\(\rho\)-shift in the parameter for the lambda
, what really
matters is what the Weyl group does to \(\lambda-\rho\). and in
this case this is [0.0]
.
Suppose we want to know which of the parameters in the list corresponds to the trivial representation. We can use the command find
atlas> whattype find ?
Overloaded instances of 'find'
([int],int)->int
([Param],Param)->int
([KGBElt],KGBElt)->int
([vec],vec)->int
([(InnerClass,mat,ratvec,vec,mat,ratvec,vec,mat,vec,vec)],(InnerClass,mat,ratvec,vec,mat,ratvec,vec,mat,vec,vec))->int
((InnerClass,mat,ratvec,vec,mat,ratvec,vec,mat,vec,vec),[(InnerClass,mat,ratvec,vec,mat,ratvec,vec,mat,vec,vec)])->int
([(int,int)],(int,int))->int
atlas>
We want to use the second instance of the use of this function:
atlas> find(ps,p)
Value: 0
atlas>
atlas> ps[0]
Value: final parameter(x=10,lambda=[2,1]/1,nu=[2,1]/1)
atlas>
Or
atlas> find(ps,trivial(G))
Value: 0
atlas>