Bass's determinant formula for the Ihara zeta function #
For a finite simple graph with adjacency matrix A, degree matrix D and non-backtracking
(Hashimoto) operator B on darts, and u in a field,
(1 - u²)^|V| · det(1 - u B) = (1 - u²)^|E| · det(1 - u A + u² (D - 1)).
The left determinant is the reciprocal of the Ihara zeta function. The proof writes
B = Tᵀ S - J with the start and terminus incidence matrices S, T and the dart reversal J,
computes det(1 + u J) = (1 - u²)^|E| through the splitting of darts into positively and negatively
oriented ones, and applies Sylvester's determinant identity.
Main definitions #
SimpleGraph.reversal,SimpleGraph.hashimoto,SimpleGraph.startInc,SimpleGraph.termInc: the dart reversal, the non-backtracking operator and the start and terminus incidence matrices. The degree matrix is Mathlib'sSimpleGraph.degMatrix.SimpleGraph.dartEquiv:G.Dart ≃ Bool × {positive darts}for a linear order onV.
Main results #
SimpleGraph.bass_determinant: Bass's determinant formula.
References #
- H. Bass, The Ihara–Selberg zeta function of a tree lattice, Internat. J. Math. 3 (1992) 717–797.
- A. Terras, Zeta Functions of Graphs: A Stroll through the Garden, Cambridge University Press, 2011.
The Hashimoto / non-backtracking edge operator B:
B d e = 1 iff the head of d is the tail of e and e is not the reverse of
d (i.e. d may be followed by e without backtracking).
Equations
Instances For
Incidence layer — step 1 of the proof (all numerically pre-verified) #
Number of darts with prescribed endpoints (v, w) is 1 iff v ~ w.
S Tᵀ = A: darts from v to w realise the adjacency matrix.
S Sᵀ = D: the start-incidence Gram matrix is the degree matrix.
B = Tᵀ S − J: the Hashimoto operator removes backtracking from Tᵀ S.
S J = T: pre-composing start-incidence with reversal gives terminus-incidence.
J is symmetric: reversal is its own transpose (since symm is an involution).
J² = I: reversal is an involution.
T Tᵀ = D: via T = S J, Jᵀ = J, J² = I, and S Sᵀ = D.
The algebraic heart of det(I + uJ) = (1 - u²)^m:
(I + uJ)(I − uJ) = (1 − u²) I, since J² = I.
Determinant consequence: det(I + uJ) · det(I − uJ) = (1 − u²)^{2m}
(here 2m = |Dart|). The individual factor det(I + uJ) = (1 − u²)^m needs the
orientation reindex Dart ≃ edges × Fin 2 — the next lemma.
Orientation reindex — toward det(I + uJ) = (1 - u²)^m #
With a linear order on the vertices, each edge has a unique "positive" dart
(tail < head); a general dart is that positive dart together with a sign bit.
This realises Dart ≃ Bool × PosDart, under which J = reversal becomes a
block-diagonal of 2×2 swaps — the route to det(I + uJ) = (1 - u²)^m.
A dart is positive when its tail precedes its head.
Instances For
Equations
If a dart is not positive, its reverse is.
Orientation reindex: a dart is a chosen positive dart plus a sign bit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The positive darts are in bijection with the edges: |PosDart| = |E|.
Proof: dartEquiv gives |Dart| = 2·|PosDart|, and the handshake lemma gives
|Dart| = 2·|E|; cancel the 2.
A dart never equals its own reverse.
det(I + uJ) = (1 - u²)^m. Reindex by dartEquiv turns I + uJ into a
block-diagonal of 2×2 sign blocks (one per edge); det_blockDiagonal then gives
(det signBlock)^|E| = (1 - u²)^|E|.
det(I − uJ) = (1 − u²)^|E| (same blockDiagonal argument, via u ↦ -u).
I − uB = (I + uJ) − u·TᵀS, from B = TᵀS − J.
S(I − uJ)Tᵀ = A − uD.
Bass's determinant formula (division-free form, over a field).
(1 - u²)^|V| · det(I - u·B) = (1 - u²)^|E| · det(I - u·A + u²·(D - I)),
with B the Hashimoto operator on darts, A the adjacency matrix, D the
degree matrix. Equivalent to det(I - uB) = (1-u²)^{|E|-|V|} det(I - uA + (D-I)u²).
Proved over a field (the standard setting); the Sylvester step inverts I + uJ,
which is a unit exactly when 1 - u² ≠ 0.