Dyson Diagonal Scaling for Directed Message Passing
Implementation & benchmark of arXiv:2607.16333 — Non-symmetric vector dyson equations
Source paper: Non-symmetric vector dyson equations arXiv:2607.16333 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace ordinary row-degree or symmetric normalization in a directed graph neural network with a nonlinear Dyson scaling. For a nonnegative directed adjacency matrix A, solve a positive vector equation and propagate with B = D A D, where D is the diagonal matrix of the solution. The resulting operator has row sums strictly below one, giving an explicit bound against exploding directed message propagation while retaining asymmetric edge information.
Formulas
Mathematical statement
The paper's vector Dyson equation is -1/m_i(z) = z - a_i + sum_j s_{ij}m_j(z), where z is in the complex upper half-plane, a_i is a real node parameter, and S=(s_{ij}) is an entrywise nonnegative matrix. Set a_i=0, z=i eta with eta>0, and m_i(i eta)=i y_i with y_i>0. Substitution gives the positive real fixed-point equation 1/y_i = eta + sum_j s_{ij}y_j. For a neural graph, let S=A be the nonnegative directed edge-weight matrix, let y be its positive solution, and define D=diag(y) and B=DAD. The ith row sum satisfies sum_j B_{ij}=y_i sum_j A_{ij}y_j = 1-eta y_i < 1. Thus B is strictly substochastic in the infinity norm: ||B||_infinity=max_i(1-eta y_i)<1. This bound is specific to the Dyson scaling and does not require A to be symmetric. A damped iteration for computing y is y^(k+1)=(1-rho)y^(k)+rho/[eta+A y^(k)] componentwise, with 0<rho<=1 and a positive initialization.
Implementation notes
(1) Integration point: use this as the normalization step for a directed message-passing layer. Let A be the nonnegative edge-weight matrix for a graph batch, either fixed from the graph or produced by a softplus gate from node features. Before every graph-convolution block, compute node scales y and replace the usual row-normalized propagation matrix with B=DAD. Apply X_next = sigma(B X W + X R), optionally with a residual branch. Add a small self-loop epsilon to A if isolated nodes are possible.
(2) Pseudocode:
A = softplus(edge_logits) + epsilon * I
initialize y = 1 / (eta + row_sum(A))
for k in range(K):
y_new = 1 / (eta + A @ y)
y = (1-rho) * y + rho * y_new
D = diag(y)
B = D @ A @ D
X_next = activation(B @ X @ W + X @ R)
The fixed-point equation is the update for y; the row-sum identity is the stability guarantee for B. Stop early when max_abs(y_new-y) is below a tolerance, and detach y from autograd initially to avoid differentiating through the solver.
(3) Computed from the mathematics: y, D, B, and the certified row-sum bound 1-eta*y_i. Estimated empirically: whether the fixed-point iteration converges quickly, the effective spectral radius, gradient norms, and task accuracy. Tune eta over {1e-3, 1e-2, 1e-1, 1} and rho over {0.25, 0.5, 1}.
(4) First experiment: use a 6- to 10-layer directed GCN on Cora, Citeseer, or a synthetic strongly non-reversible directed stochastic block model. Compare standard row normalization, symmetric normalization, learned row scaling, and Dyson scaling at matched edge-count and FLOPs. Measure validation accuracy, maximum activation norm, gradient norm, and oversmoothing across depth. The hypothesis is fewer exploding or vanishing runs and better accuracy at depth 10-20; success is a lower worst-case propagation norm and at least equal accuracy with comparable runtime. A second test should perturb edge weights or reverse a fraction of edges to verify robustness specifically on non-symmetric graphs.
Verification
This idea has not been verified yet.
Verification happens in two stages: Stage 1 — a mechanism check on a toy system confirms the claimed mathematical phenomenon reproduces; Stage 2 — a benchmark implements the idea on a real (small) neural network task and compares it against a tuned baseline over 8 paired seeds with a permutation test.
Artifacts
Artifacts unavailable.