Morgenstern Ramanujan Graphs
Morgenstern's construction (Morgenstern, 1994) provides explicit $(q+1)$-regular Ramanujan graphs for every even prime power $q = 2^l$, extending the celebrated Lubotzky–Phillips–Sarnak construction (Lubotzky et al., 1988), which requires $q$ to be an odd prime.
A $k$-regular graph is a Ramanujan graph if every eigenvalue $\mu$ of its adjacency matrix other than $\pm k$ satisfies
\[|\mu| \leq 2\sqrt{k-1}.\]
This is asymptotically optimal by the Alon–Boppana bound, which makes Ramanujan graphs the best possible spectral expanders.
Construction
For $q = 2^l$ and even $i$, the Morgenstern graph is the Cayley graph
\[\Gamma = \mathrm{Cay}\bigl(\mathrm{SL}_2(\mathbb{F}_{q^i}),\, B\bigr),\]
where $B$ is a set of $q+1$ involutions in 𝕊𝕃₂(𝔽{qⁱ}) arising from a [quaternion algebra](https://en.wikipedia.org/wiki/Quaternionalgebra) over the function field $\mathbb{F}_q(x)$. The resulting graph is $(q+1)$-regular, connected, and non-bipartite, with
\[|\Gamma| = q^{3i} - q^{i}.\]
The generator set is produced by morgenstern_generators, and the Cayley graph is constructed with cayley_right.
Example: $l = 1,\\ i = 2$
Here we construct the Morgenstern Ramanujan graph for $l = 1, i = 2$ (so $q = 2^l = 2$) and verify that it satisfies all the properties guaranteed by Theorem 5.13 of (Morgenstern, 1994), as well as the spectral expansion bounds of Claims 6.1 and 6.2 of (Dinur et al., 2022).
julia> using QuantumExpanders, Oscar, LinearAlgebra;
julia> using Graphs: degree, vertices, nv, ne, is_bipartite, adjacency_matrix, diameter, is_connected, independent_set, has_edge, MaximalIndependentSet, greedy_color;
julia> using GraphsColoring: DSATUR, color, Greedy;
julia> l = 1; i = 2;
julia> q = 2^l; r = q + 1; # q = 2, so Γ is 3-regular
julia> G, B = morgenstern_generators(l, i);
[ Info: |SL₂(𝔽(4))| = 60
julia> Γ = cayley_right(G, B);Generator set $B$
The set $B$ contains $q + 1$ generators, each of determinant $1$ and order $2$ (so $\Gamma$ is an undirected simple graph):
julia> length(B) == q + 1
true
julia> all(det(b) == one(base_ring(b)) for b in B)
true
julia> all(matrix(b^2) == identity_matrix(base_ring(b), 2) for b in B)
trueProperty I: $(q+1)$-regularity and order $|\Gamma| = q^{3i} - q^{i}$
julia> all(degree(Γ, v) == q + 1 for v in vertices(Γ))
true
julia> nv(Γ) == q^(3i) - q^i == 60
true
julia> is_connected(Γ)
trueProperty II: Non-bipartiteness
julia> is_bipartite(Γ)
falseProperty III: Ramanujan bound
The trivial eigenvalue is $q + 1$, and every other eigenvalue $\mu$ satisfies $|\mu| \leq 2\sqrt{q}$:
julia> λs = sort(real.(eigvals(Matrix(adjacency_matrix(Γ)))), rev=true);
julia> λs[1] ≈ q + 1
true
julia> all(abs(μ) ≤ 2√q + 1e-10 for μ in λs[2:end])
trueGirth bound
The girth satisfies $g(\Gamma) \geq \tfrac{2}{3}\log_q |\Gamma|$:
julia> using IGraphs: IGraph, IGVectorInt, LibIGraph;
julia> girth_lower_bound = floor(Int, (2/3)*log(q, nv(Γ)));
julia> g_igraph = IGraph(Γ); girth_val = Ref{LibIGraph.igraph_real_t}(0.0); cycle = IGVectorInt();
julia> LibIGraph.igraph_girth(g_igraph.objref, girth_val, cycle.objref);
julia> Int(girth_val[]) >= girth_lower_bound
trueProperty IV: Diameter bound
The diameter satisfies $\mathrm{diam}(\Gamma) \leq 2\log_q |\Gamma| + 2$:
julia> diameter(Γ) ≤ ceil(Int, 2*log(q, nv(Γ)) + 2)
trueProperty V: Chromatic number
The chromatic number satisfies $\chi(\Gamma) \geq \frac{q+1}{2\sqrt{q}} + 1$:
julia> χ_lower_bound = (q + 1)/(2√q) + 1;
julia> greedy_color(Γ; sort_degree=false, reps=1000).num_colors >= χ_lower_bound
true
julia> length(color(Γ; algorithm=DSATUR()).colors) >= χ_lower_bound
true
julia> length(color(Γ; algorithm=Greedy()).colors) >= χ_lower_bound
trueProperty VI: Independence number
The independence number satisfies $i(\Gamma) \leq \frac{2\sqrt{q}}{q+1}|\Gamma|$:
julia> ind_set = independent_set(Γ, MaximalIndependentSet());
julia> length(ind_set) ≤ ceil(Int, (2√q/(q + 1))*nv(Γ))
true
julia> all(u == v || !has_edge(Γ, u, v) for u in ind_set, v in ind_set)
trueExpander properties
$\Gamma$ is an $(n, r, 1 - \lambda^2/r^2)$-expander with $\lambda = \max_{\mu \neq q+1} |\mu|$, where $\lambda \leq r - d^2/8r$ and $\lambda \leq 2\sqrt{r-1}$ (optimality):
julia> λ = maximum(abs.(λs[2:end]));
julia> d = 1 - λ^2/r^2; d > 0
true
julia> λ ≤ r - d^2/(8r) + 1e-10
true
julia> λ ≤ 2√(r - 1) + 1e-10
trueSpectral expansion of the alternative generator sets
The alternative generator sets produced by alternative_morgenstern_generators, which are used in the quantum Tanner code construction, satisfy the explicit second-eigenvalue bounds of (Dinur et al., 2022):
- Claim 6.1 (ii) — the
AllPairsgenerators yield a Cayley graph of degree $k_1 = q^2 + q$ with normalized second eigenvalue $\lambda_2 < \frac{3q-1}{q^2+q}$. - Claim 6.2 — the
FirstOnlygenerators yield a Cayley graph of degree $k_1 = 2q$ with normalized second eigenvalue $\lambda_2 < \frac{3\sqrt{2q-1}}{2q}$.
julia> A₁ = alternative_morgenstern_generators(B, AllPairs());
julia> Γ₁ = cayley_right(G, A₁);
julia> λ₂ = sort(real.(eigvals(Matrix(adjacency_matrix(Γ₁))/(q^2 + q))), rev=true)[2];
julia> λ₂ < (3q - 1)/(q^2 + q)
true
julia> A₂ = alternative_morgenstern_generators(B, FirstOnly());
julia> Γ₂ = cayley_right(G, A₂);
julia> λ₂ = sort(real.(eigvals(Matrix(adjacency_matrix(Γ₂))/(2q))), rev=true)[2];
julia> λ₂ < 3√(2q - 1)/(2q)
trueReferences
- Dinur, I.; Evra, S.; Livne, R.; Lubotzky, A. and Mozes, S. (2022). Locally testable codes with constant rate, distance, and locality. In: Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing; pp. 357–374.
- Lubotzky, A.; Phillips, R. and Sarnak, P. (1988). Ramanujan graphs. Combinatorica 8, 261–277.
- Morgenstern, M. (1994). Existence and explicit constructions of q+ 1 regular Ramanujan graphs for every prime power q. Journal of Combinatorial Theory, Series B 62, 44–62.