Skip to content

Commit f8565d3

Browse files
committed
Computing same-degree representations
1 parent c42857b commit f8565d3

1 file changed

Lines changed: 172 additions & 0 deletions

File tree

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
---
2+
title: "Representations with the same degree"
3+
slug: "representations-with-the-same-degree"
4+
date: 2026-06-04
5+
author: "Pieter Belmans"
6+
---
7+
Time for the next installment of the arXiv series.
8+
Today's preprint is from earlier this year, and it's
9+
[Frank Lübeck: Representations with the same degree](https://arxiv.org/abs/2601.18786).
10+
In fact, whilst preparing this blogpost, I discovered that
11+
this question was also already addressed by Andy Huchala
12+
in [his 2018 undergraduate thesis](https://ahuchala.com/files/undergrad/Lie_Algebra_Representation_Thesis.pdf).
13+
In what follows, I will (mostly) refer to the arXiv preprint.
14+
15+
As before, we will use [Semisimple.jl](https://homogeneous.tools/Semisimple.jl/dev/)
16+
to play with the constructions in the paper.
17+
18+
## Infinitely many pairs
19+
20+
**Theorem**
21+
_Let $G$ be a connected reductive simply-connected algebraic group over $\mathbb{C}$ of rank $\geq2$.
22+
Then $G$ has infinitely many pairs of irreducible rational representations $\rho_1,\rho_2$
23+
that are not related by an automorphism of $G$
24+
but for which $\dim\rho_1=\dim\rho_2$._
25+
26+
The rank-$1$ assumption is necessary:
27+
in type $\mathrm{A}_1$ the irreducible representations are determined by their dimension.
28+
Beyond that, Lübeck establishes the theorem by exhibiting one explicit same-degree pair in every simple type,
29+
and combining this with the following observation:
30+
the Weyl dimension formula immediately gives
31+
$$\dim\mathrm{V}(k(\lambda+\rho)-\rho)=\dim\mathrm{V}(\lambda)\cdot k^N$$
32+
for any $k\in\mathbb{Z}_{>0}$,
33+
where $N$ is the number of positive roots.
34+
So one same-degree pair $(\lambda,\mu)$ produces infinitely many at degrees $d, d\cdot 2^N, d\cdot 3^N,\ldots$
35+
36+
This is a **perfect** paper to play around with in Semisimple.jl,
37+
because the only ingredient we really need is `degree`.
38+
39+
## Proposition 2: an explicit pair in each exceptional type, and in A₂, B₂
40+
41+
Lübeck's Proposition 2 collects the following same-degree pairs,
42+
found by brute force over the dominant weights with small coordinates:
43+
```julia
44+
using Semisimple
45+
46+
# (type, λ, μ, common degree)
47+
explicit = [
48+
(TypeA{2}, [1, 2], [0, 4], 15),
49+
(TypeB{2}, [1, 2], [0, 4], 35),
50+
(TypeG2, [3, 0], [0, 2], 77),
51+
(TypeF4, [1, 0, 0, 1], [2, 0, 0, 0], 1053),
52+
(TypeE{6}, [2, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0], 351),
53+
(TypeE{7}, [0, 0, 0, 1, 1, 0, 0], [0, 0, 0, 0, 0, 2, 3], 1903725824),
54+
(TypeE{8}, [1, 0, 1, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 1, 1], 8634368000),
55+
]
56+
57+
for (DT, λ, μ, d) in explicit
58+
@assert degree(DT, λ) == degree(DT, μ) == d
59+
end
60+
```
61+
Note that in type $\mathrm{E}_6$ the non-trivial diagram automorphism
62+
gives a _second_ same-degree pair at $d=351$,
63+
namely $\mathrm{V}(2\omega_6)$ and $\mathrm{V}(\omega_5)$;
64+
the other six pairs have no such automorphic explanation.
65+
66+
One can reproduce this brute-force search using Semisimple.jl:
67+
```julia
68+
# diagram automorphism on coordinates; trivial except for A_2 and E_6.
69+
outer(::Type{TypeA{2}}, v) = reverse(v)
70+
outer(::Type{TypeE{6}}, v) = (v[6], v[2], v[5], v[4], v[3], v[1])
71+
outer(::Type{<:DynkinType}, v) = v
72+
73+
# smallest dimension realised by two dominant weights of DT
74+
# in different outer-automorphism orbits, searching coordinates in 0:N.
75+
function smallest_pair(::Type{DT}; N=4) where {DT<:DynkinType}
76+
l = rank(DT)
77+
bins = Dict{BigInt,Vector{NTuple{l,Int}}}()
78+
for v in Iterators.product(ntuple(_ -> 0:N, l)...)
79+
push!(get!(() -> NTuple{l,Int}[], bins, degree(DT, collect(v))), v)
80+
end
81+
pairs = [(d, ws) for (d, ws) in bins
82+
if length(unique(min(v, outer(DT, v)) for v in ws)) >= 2]
83+
return argmin(first, pairs)
84+
end
85+
86+
# the cases considered in Proposition 2
87+
for DT in (TypeA{2}, TypeB{2}, TypeG2, TypeF4, TypeE{6}, TypeE{7}, TypeE{8})
88+
d, ws = smallest_pair(DT)
89+
println(rpad(string(DT), 12), " d = ", lpad(string(d), 12), " ", join(ws, " "))
90+
end
91+
```
92+
93+
## Theorem 3: infinite families in the classical types
94+
95+
For the classical types Lübeck exhibits closed-form families.
96+
In types $\mathrm{A}_l,\mathrm{B}_l,\mathrm{D}_l$ the pair is always of the shape
97+
$\mathrm{V}\bigl((c-1)\omega_2\bigr)$ vs.&nbsp;$\mathrm{V}\bigl(\omega_1+(c-2)\omega_2\bigr)$,
98+
where $c$ depends on the type;
99+
verifying them up to any reasonable rank is straightforward.
100+
For $\mathrm{A}_l$ it would be as in Theorem&nbsp;3(a):
101+
```julia
102+
for l in 2:15
103+
λ = zeros(Int, l); λ[2] = l - 1
104+
μ = zeros(Int, l); μ[1] = 1; μ[2] = l - 2
105+
expected =
106+
BigInt(2l - 1) *
107+
prod(BigInt(k)^2 for k in (l + 1):(2l - 2); init=BigInt(1)) ÷
108+
factorial(BigInt(l - 1))^2
109+
@assert degree(TypeA{l}, λ) == degree(TypeA{l}, μ) == expected
110+
end
111+
```
112+
The same pattern works for $\mathrm{B}_l$ and $\mathrm{D}_l$ with the closed forms
113+
in Theorem&nbsp;3(b) and 3(c) of the paper.
114+
115+
116+
Type $\mathrm{C}_l$ takes an unexpectedly arithmetic turn:
117+
Lübeck shows that, again for $\lambda=a\omega_1+b\omega_2$ and $\mu=(a-2)\omega_1+(b+1)\omega_2$,
118+
the equality $\dim\mathrm{V}(\lambda)=\dim\mathrm{V}(\mu)$ holds
119+
if and only if the generalised Pell equation
120+
$$c^2-(4l-5)\,a^2=(2l-3)^2$$
121+
admits a solution with $a\geq 3$,
122+
in which case $b=\tfrac12(c+1-a-2l)$.
123+
Because $4l-5\equiv 3\pmod 4$ is never a perfect square,
124+
this Pell equation has infinitely many solutions for every $l\geq 3$,
125+
and the construction has the curious feature that the smallest $(a,b)$ one obtains
126+
can be _enormous_:
127+
for $l=159$ the corresponding common degree has 15728 decimal digits.
128+
Computing that degree directly in Semisimple.jl just works,
129+
since `degree` returns `BigInt`.
130+
131+
## Some comments
132+
133+
* The seven Proposition 2 pairs, together with the three Theorem 3 families,
134+
are part of the Semisimple.jl test suite,
135+
giving a slightly unusual but pretty cool set of unit tests!
136+
* Huchala claims in his Theorem 7 that there is an upper bound on how many irreducible representations of a given dimension can exist in type $\mathrm{B}_2$ and $\mathrm{G}_2$. For $\mathrm{A}_2$, a fun argument using the rank of an elliptic curve (explicit in Huchala's thesis, whilst attributed to Deligne but not given in Lübeck's preprint) shows that for any positive integer $m$, you can find at least $m$ non-isomorphic irreducible representations of the same degree.
137+
138+
However, the proof of the upper bound in types B and G is not correct: there is a plane curve _for every given degree_, on which Faltings' theorem gives a finite number of points.
139+
But to prove the claim, one would need that there is a uniform bound on the number of points all those plane curves, simultaneously.
140+
So there seems to be a fun open number-theoretical question here,
141+
unless I'm missing something?
142+
* There are fun OEIS sequences to add here:
143+
[A000891](https://oeis.org/A000891) are the smallest degrees in type $\mathrm{A}_l$ where duplicate representations exist,
144+
but the sequences in types B and D are missing (in type C the chaotic behavior makes it hard to produce the sequence).
145+
The entries for these sequences are computed both by Lübeck and Huchala.
146+
147+
If anyone is interested in adding these, here is some Julia code to determine them:
148+
```julia
149+
function dim_B(l::Integer)
150+
@assert l >= 2
151+
l == 2 && return 35
152+
l = BigInt(l)
153+
num = 3 * (4l - 5) * (6l - 5) * (6l - 7) *
154+
prod(k^2 for k in (2l):(4l - 6); init=BigInt(1))
155+
den = factorial(2l - 3)^2
156+
q, r = divrem(num, den); @assert iszero(r)
157+
return q
158+
end
159+
160+
function dim_D(l::Integer)
161+
@assert l >= 4
162+
l = BigInt(l)
163+
num = 3 * (3l - 4) * (3l - 5) * (4l - 7) *
164+
prod(k^2 for k in (2l - 1):(4l - 8); init=BigInt(1))
165+
den = (l - 2)^2 * factorial(2l - 5)^2
166+
q, r = divrem(num, den); @assert iszero(r)
167+
return q
168+
end
169+
```
170+
which gives
171+
* `35, 3003, 383724, 58790875, 10011037452, 1827174287820, 350280152218800, 69656361253789275, 14250522671900707500, 2982164406170216424300, 635707916954453388942000, 137613009450274251664451148`, resp.
172+
* `32928, 4671810, 759230472, 134282273216, 25166658696000, 4919891369426550, 993186502108515000, 205625998084534750800, 43449470935521085094400, 9336731949069856461585000, 2034842637042393404135380128, 448826044126481544919237242240`.

0 commit comments

Comments
 (0)