Representations with the same degree

Pieter Belmans

2026/06/04

Time for the next installment of the arXiv series. Today’s preprint is from earlier this year, and it’s Frank Lübeck: Representations with the same degree. In fact, whilst preparing this blogpost, I discovered that this question was also already addressed by Andy Huchala in his 2018 undergraduate thesis. In what follows, I will (mostly) refer to the arXiv preprint.

As before, we will use Semisimple.jl to play with the constructions in the paper.

Added on June 15 2026: Frank Lübeck spotted two errors in the original post — see the Corrections at the end. There is also a follow-up post tabulating the genuine smallest collisions.

Infinitely many pairs

Theorem Let $G$ be a connected reductive simply-connected algebraic group over $\mathbb{C}$ of rank $\geq2$. Then $G$ has infinitely many pairs of irreducible rational representations $\rho_1,\rho_2$ that are not related by an automorphism of $G$ but for which $\dim\rho_1=\dim\rho_2$.

The rank-$1$ assumption is necessary: in type $\mathrm{A}_1$ the irreducible representations are determined by their dimension. Beyond that, Lübeck establishes the theorem by exhibiting one explicit same-degree pair in every simple type, and combining this with the following observation: the Weyl dimension formula immediately gives

$$\dim\mathrm{V}(k(\lambda+\rho)-\rho)=\dim\mathrm{V}(\lambda)\cdot k^N$$

for any $k\in\mathbb{Z}_{>0}$, where $N$ is the number of positive roots. So one same-degree pair $(\lambda,\mu)$ produces infinitely many at degrees $d, d\cdot 2^N, d\cdot 3^N,\ldots$

This is a perfect paper to play around with in Semisimple.jl, because the only ingredient we really need is degree.

Proposition 2: an explicit pair in each exceptional type, and in A₂, B₂

Lübeck’s Proposition 2 collects the following same-degree pairs, found by brute force over the dominant weights with small coordinates:

using Semisimple

# (type, λ, μ, common degree)
explicit = [
  (TypeA{2}, [1, 2],                   [0, 4],                       15),
  (TypeB{2}, [1, 2],                   [0, 4],                       35),
  (TypeG2,   [3, 0],                   [0, 2],                       77),
  (TypeF4,   [1, 0, 0, 1],             [2, 0, 0, 0],                 1053),
  (TypeE{6}, [2, 0, 0, 0, 0, 0],       [0, 0, 1, 0, 0, 0],           351),
  (TypeE{7}, [0, 0, 0, 1, 1, 0, 0],    [0, 0, 0, 0, 0, 2, 3],        1903725824),
  (TypeE{8}, [1, 0, 1, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 1, 1],     8634368000),
]

for (DT, λ, μ, d) in explicit
  @assert degree(DT, λ) == degree(DT, μ) == d
end

Note that in type $\mathrm{E}_6$ the non-trivial diagram automorphism gives a second same-degree pair at $d=351$, namely $\mathrm{V}(2\omega_6)$ and $\mathrm{V}(\omega_5)$; the other six pairs have no such automorphic explanation.

One can reproduce this brute-force search using Semisimple.jl:

# diagram automorphism on coordinates; trivial except for A_2 and E_6.
outer(::Type{TypeA{2}}, v) = reverse(v)
outer(::Type{TypeE{6}}, v) = (v[6], v[2], v[5], v[4], v[3], v[1])
outer(::Type{<:DynkinType}, v) = v

# smallest dimension realised by two dominant weights of DT
# in different outer-automorphism orbits, searching coordinates in 0:N.
function smallest_pair(::Type{DT}; N=4) where {DT<:DynkinType}
  l = rank(DT)
  bins = Dict{BigInt,Vector{NTuple{l,Int}}}()
  for v in Iterators.product(ntuple(_ -> 0:N, l)...)
    push!(get!(() -> NTuple{l,Int}[], bins, degree(DT, collect(v))), v)
  end
  pairs = [(d, ws) for (d, ws) in bins
                   if length(unique(min(v, outer(DT, v)) for v in ws)) >= 2]
  return argmin(first, pairs)
end

# the cases considered in Proposition 2
for DT in (TypeA{2}, TypeB{2}, TypeG2, TypeF4, TypeE{6}, TypeE{7}, TypeE{8})
  d, ws = smallest_pair(DT)
  println(rpad(string(DT), 12), "  d = ", lpad(string(d), 12), "    ", join(ws, "  "))
end

Added on June 15 2026: as written, smallest_pair does not actually prove that the pair it returns is the smallest one — see Corrections below.

Theorem 3: infinite families in the classical types

For the classical types Lübeck exhibits closed-form families. In types $\mathrm{A}_l,\mathrm{B}_l,\mathrm{D}_l$ the pair is always of the shape $\mathrm{V}\bigl((c-1)\omega_2\bigr)$ vs. $\mathrm{V}\bigl(\omega_1+(c-2)\omega_2\bigr)$, where $c$ depends on the type; verifying them up to any reasonable rank is straightforward. For $\mathrm{A}_l$ it would be as in Theorem 3(a):

for l in 2:15
  λ = zeros(Int, l); λ[2] = l - 1
  μ = zeros(Int, l); μ[1] = 1; μ[2] = l - 2
  expected =
    BigInt(2l - 1) *
    prod(BigInt(k)^2 for k in (l + 1):(2l - 2); init=BigInt(1)) ÷
    factorial(BigInt(l - 1))^2
  @assert degree(TypeA{l}, λ) == degree(TypeA{l}, μ) == expected
end

The same pattern works for $\mathrm{B}_l$ and $\mathrm{D}_l$ with the closed forms in Theorem 3(b) and 3(c) of the paper.

Type $\mathrm{C}_l$ takes an unexpectedly arithmetic turn: Lübeck shows that, again for $\lambda=a\omega_1+b\omega_2$ and $\mu=(a-2)\omega_1+(b+1)\omega_2$, the equality $\dim\mathrm{V}(\lambda)=\dim\mathrm{V}(\mu)$ holds if and only if the generalised Pell equation

$$c^2-(4l-5)\,a^2=(2l-3)^2$$

admits a solution with $a\geq 3$, in which case $b=\tfrac12(c+1-a-2l)$. Because $4l-5\equiv 3\pmod 4$ is never a perfect square, this Pell equation has infinitely many solutions for every $l\geq 3$, and the construction has the curious feature that the smallest $(a,b)$ one obtains can be enormous: for $l=159$ the corresponding common degree has 15728 decimal digits. Computing that degree directly in Semisimple.jl just works, since degree returns BigInt.

Some comments

Corrections

After this post first appeared, Frank Lübeck kindly pointed out two mistakes. Both are corrected above; this section spells out what went wrong and how to fix it.

smallest_pair does not certify minimality

smallest_pair only loops over the box 0:N (with N=4), and nothing about it rules out that some weight with a coordinate larger than N has a smaller degree and forms a smaller pair. There is a cheap certificate, though. The Weyl dimension formula is strictly increasing in each coordinate, so every weight with some coordinate > N has degree at least $\min_i\deg\bigl((N+1)\omega_i\bigr)$; if that minimum already exceeds the degree d of the pair we found, then no weight outside the box can match or beat it, and the box was provably large enough:

function certified(::Type{DT}; N=4) where {DT<:DynkinType}
  d, ws = smallest_pair(DT; N)
  l = rank(DT)
  @assert minimum(degree(DT, [i == j ? N+1 : 0 for j in 1:l]) for i in 1:l) > d
  return d, ws
end

This check passes for $\mathrm{A}_2,\mathrm{B}_2,\mathrm{G}_2,\mathrm{F}_4,\mathrm{E}_6$, but it fails for $\mathrm{E}_7$ and $\mathrm{E}_8$ at N=4. The cleanest example is in $\mathrm{E}_8$: already $\deg(5\omega_8)=2\,642\,777\,280$ is smaller than the pair degree $8\,634\,368\,000$ from Proposition 2, so the box 0:4 is not certified — the search simply hasn’t looked at enough weights to know. A degree-bounded backtrack that enumerates every dominant weight whose degree is below the candidate settles it: doing so confirms that the tabulated $\mathrm{E}_7$ and $\mathrm{E}_8$ values really are the smallest, but that is a fact the box search alone never establishes.

A000891 is not the sequence of smallest degrees

I described A000891 as the smallest degrees in type $\mathrm{A}_l$ at which a duplicate occurs. That is wrong: A000891 is exactly the sequence of degrees of Lübeck’s explicit construction, and those are in general much larger than the genuine smallest — for instance the construction gives $175$ in $\mathrm{A}_4$, whereas a same-degree pair already occurs at $70$. The type B and D family sequences listed earlier are construction degrees in the same way, not the smallest.

Added on June 15 2026: the genuine smallest-degree sequences for types $\mathrm{A}$, $\mathrm{B}$ and $\mathrm{D}$ — with witnessing weights and the code that finds them — are tabulated in a follow-up post.

Thanks to Frank Lübeck for both corrections!