Let's first define what we mean by *depth of a subgroup*.

Let $G$ be a finite group and $H$ a subgroup. Let $(V_i)_{i \in I}$ and $(W_j)_{j \in J}$ be the irreducible complex representations of $G$ and $H$ (up to isom.). Consider the bipartite graph $\mathcal{G}$ whose vertices are these representations, and with $d_{ij}$ edges between $V_i$ and $W_j$ if $\langle V_i\vert_H,W_j \rangle = d_{ij}$. Let $\mathcal{G}_0$ be the connected component of $\mathcal{G}$ containing the trivial representation $V_0$ of $G$. Note that $\mathcal{G}_0$ can be called the principal block of the decomposition matrix, or the principal graph. Note that $\Vert \mathcal{G}_0 \Vert^2 = |G:H|$.

**Definition**: The *depth* of $H \subset G$ is the distance between $V_0$ and a farthest vertex in $\mathcal{G}_0$.

*Alternative definition* (after Noah): *depth* is the maximum number of applications of induction $\mathrm{Ind}_H^G$ or restriction $\mathrm{Res}_H$ from $V_0$ that generate a new irreducible component (by Frobenius reciprocity).

Note that the depth of $H \subset G$ is $2$ if and only if $H$ is a normal subgroup.

The principal graph for $\{e\} \subset S_3$, where the starry vertex is $V_0$:

The principal graph of $\langle (1,2)(3,4) \rangle \subset A_4$ (depth $3$):

The principal graph for $A_4 \subset A_5$ (depth $5$):

If $H \subset G$ is a maximal subgroup of depth $2$, then it is easy to see that $|G:H|$ is a prime number.

Let $I_n$ be the set of indices of *maximal* subgroups of depth $n$ in the finite groups. Then $I_2 = \mathbb{P}$.

In order to see what $I_n$ looks like for $n>2$, we computed the beginning of these sets, more precisely, we computed the subsets $E_n \subset I_n$ restricted to $|G:H| \le 100$, $|G| < 10^7$ and $n \le 7$. The results are the following (see full computation and code below):

- $E_2=\{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, \dots \}$,
- $E_3=\emptyset$,
- $E_4=\{3, 4, 5, 7, 8, 9, 10, 11, 13, 15, 16, 17, 19, 23, 25, 27, 28, 29, 31, 32, 36, 37, \dots \}$,
- $E_5=\{ 5, 6, 8, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 24, 26, 28, 30, 32, 33, 35, 36, \dots \}$,
- $E_6=\{ 4, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 21, 24, 25, 26, 27, 28, 30, 32, 35, 36, 38, \dots\}$,
- $E_7=\{11, 13, 25, 31, 36, 40, 45, 49, 57, 64, 81, 100\}$.

*Surprisingly* $E_3=\emptyset$, which leads to wonder whether $I_3 = \emptyset$ also, in other words:

**Question**: Is there a maximal subgroup of depth $3$?

For people interested in subfactor (planar algebra) theory, the question extends as follows:

*Bonus question*: Is there an irreducible maximal subfactor of depth $3$ and integral index?

**Computation**

```
gap> DepthListPrimitive(100,10000000);
[ [ [ 1 ] ], [ [ 2 ], 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ], [ [ 3 ] ],
[ [ 4 ], 3, 4, 5, 7, 8, 9, 10, 11, 13, 15, 16, 17, 19, 23, 25, 27, 28, 29, 31, 32, 36, 37, 41, 43, 45, 47, 49,
53, 55, 57, 59, 60, 61, 64, 65, 66, 67, 68, 71, 73, 78, 79, 81, 83, 89, 91, 97 ], [ [ 5 ], 5, 6, 8, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 24, 26, 28, 30, 32, 33, 35, 36, 38, 42, 44,
48, 50, 54, 55, 56, 60, 62, 65, 66, 68, 72, 74, 78, 80, 82, 84, 90, 98, 100 ],
[ [ 6 ], 4, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 21, 24, 25, 26, 27, 28, 30, 32, 35, 36, 38, 42, 44, 45, 48, 49,
50, 52, 54, 56, 60, 62, 63, 64, 65, 68, 72, 74, 77, 80, 81, 82, 84, 90, 98, 100 ], [ [ 7 ], 11, 13, 25, 31, 36, 40, 45, 49, 57, 64, 81, 100 ] ]
```

**Code** (the first function is due to Jack Schmidt, see here)

```
PrincipalGraph:=function(g,h)
local mat,edges;
mat:=MatScalarProducts(Irr(h),RestrictedClassFunctions(Irr(g),h)); #Print(mat);
edges := Filtered( Cartesian([1..Size(mat)],-[1..Size(mat[1])]), ij -> not IsZero(mat[ij[1]][-ij[2]]));
return edges;
end;;
DepthPrimitive:=function(d,r)
local P,dd,c,cc,PP,a,G,H;
G:=PrimitiveGroup(d,r);
H:=Stabilizer(G,1);
dd:=0;
P:=PrincipalGraph(G,H);
c:=[1];
while P<>[] do
PP:=[];
cc:=[];
for a in P do
if a[1] in c then
Add(cc,a[2]);
elif a[2] in c then
Add(cc,a[1]);
else
Add(PP,a);
fi;
od;
c:=cc;
P:=PP;
dd:=dd+1;
od;
return dd;
end;;
DepthListPrimitive:=function(n,M)
local d,dd,R,r,L;
L:=[[[1]],[[2]],[[3]],[[4]],[[5]],[[6]],[[7]]];
for d in [2..n] do
R:=NrPrimitiveGroups(d);
for r in [1..R] do
if Order(PrimitiveGroup(d,r))<M then
dd:=DepthPrimitive(d,r);
if dd<8 then
if not d in L[dd] then
Add(L[dd],d);
fi;
fi;
fi;
od;
od;
return L;
end;;
```