source-notes.md

back to table · edit · history · where entries came from · files · download

3674 bytes, as of the version from 2026-10-28 07:03 (current). Recorded here, not run.

# Sources and independent checks for T574

The run used the coordinated skill archive listed in
`agents/runs/20261028T062448Z-build-skills/manifest.json`.
Both local/live versions have SHA-256
`e37efb7e2ededf6c1d7134c673f152f648f26e0267c556aebdf3ec65765d8b4c`.
Source HTML snapshots and their SHA-256 digests are retained in the run's
`sources.json`; they are evidence, not generator inputs.

## Recurrence and normalization

Nechita, arXiv:quant-ph/0702154v3, equations (37)-(38), supplies the recurrence
in generate.py. Proposition 5 gives E Tr(rho^q) = E Tr(W^q)/(NK)_q, where
W = GG* and (NK)_q = NK(NK+1)...(NK+q-1). The scalar trace Tr(W) has a
Gamma(NK, scale=1) distribution and is independent of normalized eigenvalues.
These facts are also apparent by radial scaling of the complex Gaussian vector.

The finite sum in equation (36) is not used. At N = K = q = 2 its falling
factorials give (36 - 4)/(4*5) = 8/5, contradicting mean purity 4/5.
Collins-Nechita, arXiv:1509.04689v1, Proposition 4.14 repeats this expression,
so repetition there is not independent evidence. This is a localized source
formula error; the ensemble definition, recurrence and density agree.

## Wick contraction derivation

Expand Tr(W^q) using row indices i_r and column indices a_r:

    sum over i_1,...,i_q and a_1,...,a_q of
    product over r of G[i_r,a_r] conjugate(G[i_(r+1),a_r]), with i_(q+1)=i_1.

The complex Wick rule pairs each G factor with one conjugate, giving a
permutation sigma. The column constraints leave c(sigma) free K-indices.
The row constraints leave c(gamma sigma) free N-indices, for
 gamma = (1 2 ... q). Therefore

    E Tr(W^q) = sum over sigma in S_q of N^c(gamma sigma) K^c(sigma).

Divide by (NK)_q from radial normalization to obtain M_q. This derivation is
independent of the recurrence. `checks.py` counts every permutation, groups
only identical pairs of cycle counts, and evaluates the resulting polynomial
for every pair. It checks the count q! before comparing any moment. The Wick
rule used here is Collins-Nechita section 3.3, Theorem 3.9. There is no use of
that paper's defective finite-sum moment expression.

## Eigenvalue integral

Życzkowski-Sommers, arXiv:quant-ph/0012101v3, equation (30), gives the complex
induced eigenvalue density. At N = 2, put lambda_1 = x, lambda_2 = 1-x.
The unnormalized density on [0,1] is

    x^(K-2) (1-x)^(K-2) (2x-1)^2.

Define I_q = 4 B(K+q+1,K-1) - 4 B(K+q,K-1) + B(K+q-1,K-1).
Symmetry gives M_q(2,K) = 2 I_q/I_0. For positive integers a,b,
B(a,b) = (a-1)!(b-1)!/(a+b-1)!; no numerical quadrature is needed.
This independently checks all 217 qubit rows. At K = 2 it reduces to
6[4/(q+3) - 4/(q+2) + 1/(q+1)]. Known nonzero controls are M_0=2, M_1=1,
M_2=4/5, M_3=7/10 and M_4=22/35, checked before the data comparisons.

## Other checks and limits

Every row is compared with the Wick sum and its dimension-swapped version.
The recurrence is checked as an integer-coefficient equation on the values.
Mean purity and the explicit third/fourth moment formulas in Nechita
(39)-(41) are checked on all 80 dimension pairs. Strict bounds
N^(1-q) < M_q < 1 and decrease with q are checked everywhere. The bounds
follow from positive eigenvalues of sum one, with equality occurring only
on sets of measure zero in this ensemble.

`checks.py --stored` repeats these checks on values fetched from the draft.
`generate.py` additionally runs the package's verify(sample=None). These
checks establish agreement of exact arithmetic and independent mathematical
constructions; they do not replace the campaign's separate critique session.
The generator has no numerical input files or nonstandard Python helpers.