Kernel Operators from Graphons #
This file defines the integral operator associated with a graphon and proves basic properties.
Experimental: This module provides a pointwise kernel operator definition. The full L² operator API (continuous linear map, Hilbert-Schmidt, compactness) is future work.
Main definitions #
Graphon.kernelOpFun— Pointwise kernel operator(T_W f)(x) = ∫ W(x,y) f(y) dμ(y)
Main results #
Graphon.kernelOpFun_symmetric— Symmetry of the bilinear formGraphon.kernelOpFun_bound_ae— Pointwise bound by ‖f‖₁
Implementation notes #
The kernel operator is central to spectral theory of graphons. Background facts (not yet formalized here):
T_Wis a Hilbert-Schmidt operator (hence compact) when W ∈ L²T_Wis self-adjoint since W is symmetric- The eigenvalues of
T_Ware related to homomorphism densities
References #
- [L. Lovász, Large Networks and Graph Limits][lovasz2012], Section 7.5
The kernel operator #
The kernel operator applied to a function.
Given a graphon W : α × α → ℝ and a function f : α → ℝ, the kernel operator
produces (T_W f)(x) = ∫ W(x,y) f(y) dμ(y).
This is the basic building block for the L² operator.
Note on well-definedness: This definition evaluates W.toAEEqFun (x, y) pointwise.
Since W is only defined a.e., the section W(x, ·) may depend on the representative
for a null set of x values. A more robust definition would construct an L²-valued
operator directly. For graphons on standard probability spaces, this issue is
typically resolved by working with canonical representatives.
Instances For
Graphon values are bounded by 1 in absolute value (a.e.).
Section integrability: for a.e. x, the section y ↦ W(x,y) * f(y) is integrable.
This follows from Fubini's theorem applied to the integrable function W * (f ∘ snd).
The kernel operator is linear in the function argument (a.e. version).
Note: The equality holds for a.e. x, since integrability of sections
y ↦ W(x,y) * f(y) only holds for a.e. x via Fubini.
The kernel operator respects scalar multiplication.
The kernel operator is symmetric in the inner product sense.
For integrable f, g: ∫ (T_W f) * g = ∫ f * (T_W g).
This follows from the symmetry of W: W(x,y) = W(y,x) a.e.
Proof outline:
- LHS = ∫ x, (∫ y, W(x,y) f(y)) g(x) dμ(x) = ∫∫ W(x,y) f(y) g(x) dμ(y) dμ(x) (Fubini)
- RHS = ∫ x, f(x) (∫ y, W(x,y) g(y)) dμ(x) = ∫∫ W(x,y) f(x) g(y) dμ(y) dμ(x) (Fubini)
- Swap (x,y) in RHS and use W(y,x) = W(x,y) a.e.
The proof requires integral_integral and integral_prod_symm from Mathlib.MeasureTheory.Integral.Prod.
The kernel operator of the zero graphon is zero.
Note: This holds pointwise (not just a.e.) because zero.toAEEqFun = AEEqFun.const 0
evaluates to 0 everywhere when the measure is nonzero.
The kernel operator of the one graphon equals the integral of f.
Note: This holds pointwise (not just a.e.) because one.toAEEqFun = AEEqFun.const 1
evaluates to 1 everywhere when the measure is nonzero.
Bound on the kernel operator output (a.e. version).
For f ∈ L², for a.e. x, |(T_W f)(x)| ≤ ‖f‖_L¹ since |W| ≤ 1 a.e.
Note: The bound holds for a.e. x (not all x), since graphon values are only guaranteed to be in [0,1] a.e. on the product measure, and sections inherit this property a.e. via Fubini.
L² operator (future work) #
The full development of the L² operator T_W : Lp ℝ 2 μ →L[ℝ] Lp ℝ 2 μ requires:
- Showing kernelOpFun maps L² to L² (uses L² boundedness)
- Constructing the ContinuousLinearMap
- Proving self-adjointness in the inner product sense
- Hilbert-Schmidt property and compactness
These are not yet implemented.