Real Parabolic Induction

In order to calculate some induced representations using atlas, we must first define parabolic subgroups. The corresponding atlas data type is Parabolic, or, equivalently, KGPElt, and consists of a pair (S,x), where S is a list of integers corresponding to the set of simple roots which determine the conjugacy class of complex parabolics, and x is a KGB element. For some details, see the summary for the script file parabolics.at on the atlas Library page.

Let’s do an example to see how this works.

Defining a Real Parabolic Subgroup

Suppose we want to define a real parabolic subgroup of \(G=Sp(4,\mathbb R)\) with Levi factor \(L\cong SL(2,\mathbb R)\times\mathbb R^{\times}\). This Levi is attached to the long (simple) root in \(G\) which in atlas is numbered 1. In order to obtain a real parabolic subgroup, we choose x to to be the KGB element associated to the maximally split Cartan, which you may remember is the last element in KGB(G):

atlas> set G=Sp(4,R)
Variable G: RealForm

atlas> #KGB(G)
Value: 11
atlas> set x=KGB(G,10)
Variable x: KGBElt

atlas> set P=Parabolic:([1],x)
Variable P: ([int],KGBElt)
atlas> P
Value: ([1],KGB element #10)

To be sure that we have done this correctly, now check whether the parabolic we have defined is indeed real, and that the Levi factor is the one we wanted:

atlas> is_parabolic_real(P)
Value: true

atlas> set L=Levi(P)
Variable L: RealForm
atlas> L
Value: disconnected split real group with Lie algebra 'sl(2,R).gl(1,R)'

atlas> simple_roots(L)
Value:
| 0 |
| 2 |

An alternate way to define a (real) parabolic subgroup of a real group \(G\) is using a weight \(\lambda\). The simple roots orthogonal to the weight determine the type of the (underlying complex) parabolic. For the resulting parabolic subgroup to be real, the weight \(\lambda\) must satisfy \(\theta_x(\lambda)=-\lambda\):

atlas> set lambda=[1,0]
Variable lambda: [int]
atlas> set Q=parabolic(lambda,x)
Parabolic is real.
Variable Q: ([int],KGBElt)
atlas> Q
Value: ([1],KGB element #10)

Notice that if you define a parabolic subgroup using this command, atlas will tell you what kind of parabolic you have: real, theta-stable, or neither. Let’s check that we have defined the same parabolic as before:

atlas> P=Q
Value: true

Real Induction

Real parabolic induction in atlas is normalized; the infinitesimal character is preserved.

Now that we have a real parabolic subgroup of \(G\), let’s compute an induced representation. First we need to choose and write down a representation, i.e., a parameter, for the Levi subgroup \(L\). For example, let’s take the trivial representation:

atlas> set t=trivial(L)
Variable t: Param
atlas> t
Value: final parameter (x=2,lambda=[0,1]/1,nu=[0,1]/1)

Keep in mind how \(L\) is embedded in \(G\); the first coordinate of lambda and nu corresponds to the \(\mathbb R^{\times}\) factor, the second is the parameter for \(SL(2,\mathbb R)\). You can see KGB for \(L\):

atlas> print_KGB(L)
kgbsize: 3
Base grading: [1].
0:  0  [n]   1    2  (0,0)#0 e
1:  0  [n]   0    2  (0,1)#0 e
2:  1  [r]   2    *  (0,0)#1 1^e

There are two ways in atlas to induce a representation on \(L\) to \(G\). The command real_induce_standard takes the parameter for \(L\) to represent a standard module, and writes the answer as a standard module for \(G\):

atlas> real_induce_standard(t,G)
Value: final parameter (x=10,lambda=[2,1]/1,nu=[0,1]/1)

If you start with a single parameter, the output will be a single parameter as well. You can also apply this function to a ParamPol. Probably of more interest will be the command real_induce_irreducible which takes the parameter of \(L\) to represent an irreducible representation, and returns the composition series of the induced representation of \(G\):

atlas> real_induce_irreducible(t,G)
Value:
1*final parameter (x=4,lambda=[1,0]/1,nu=[1,-1]/2)
1*final parameter (x=10,lambda=[2,1]/1,nu=[1,0]/1)

You see that this induced representation is reducible, with two pieces.

Let’s look at a second example: this time, let’s take the real parabolic with Levi factor \(GL(2,\mathbb R)\) and compute the representation of \(G\) obtained by inducing the trivial on this Levi:

atlas> Q:=([0],x)
Value: ([0],KGB element #10)
atlas> L:=Levi(Q)
Value: disconnected split real group with Lie algebra 'sl(2,R).gl(1,R)'

Although the description of \(L\) is the same as in our first example, it is a different group:

atlas> simple_roots(L)
Value:
|  1 |
| -1 |

atlas> print_KGB(L)
kgbsize: 2
Base grading: [1].
0:  0  [n]   0    1  (0,0)#0 e
1:  1  [r]   1    *  (0,0)#1 1^e

These are indeed the data for \(GL(2,\mathbb R)\). Now let’s induce:

atlas> t:=trivial(L)
Value: final parameter (x=1,lambda=[1,-1]/2,nu=[1,-1]/2)
atlas> real_induce_irreducible(t,G)
Value:
1*final parameter (x=10,lambda=[2,1]/1,nu=[1,1]/2)

So this time, the induced representation is irreducible.