numerical-evidence.md

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

5424 bytes, as of the version from 2026-10-27 14:23 (current). Recorded here, not run.

# T551 build evidence

Run: 20261027T140846Z. Table: Symplectic Weingarten functions.
This is build evidence, not an independent critique or a review decision.

## Instructions and sources

The archived manifest is
`agents/runs/20261027T140846Z-build-skills/manifest.json` in this run's source
snapshot. Both `skill-local.md` (canonical local skill) and `skill-live.md`
(archived https://numberdb.org/skill) were read. Both SHA-256 digests are
`e37efb7e2ededf6c1d7134c673f152f648f26e0267c556aebdf3ec65765d8b4c`.
`skill-evidence.json` preserves the manifest location and both digests.

The family issue #221 was read before corpus screening. The sources checked
are Matsumoto, arXiv:1301.5401v3, equations (2.3), (2.8), sections 2.3.1–2.3.4,
Theorem 2.4, Example 2.4; and Collins–Matsumoto, arXiv:0903.5143, section 3,
equations (3.5) and (3.6). Their PDFs are archived with this run.

The source fixes the sign-sensitive representative: a block of length 2r has
images (1,2r,2,3,...,2r-1), an even permutation. N means symplectic rank,
with complex dimension 2N. No additional mathematical convention was guessed.

## Exact computation and finite coverage

All 68 entries use N=1,...,6, then k=1,...,N, then every partition of k in
reverse lexicographic order. `argument-selection.md` independently discusses
the role of each parameter, the coupled stable-range restriction, the breadth
of contraction patterns, and the noncanonical practical bounds.

The generator implements the twisted spherical character sum using Jack
polynomials at parameter 2 and the hook-length formula over Sage QQ. It has
no numerical approximations, so exact fractions replace a 100-digit target.

The required dry run passed exactness, prose and ring-import checks.
`check.measure` reports 68 entries, longest fraction 18 characters,
46301/105859353600 at (N,mu)=(6,(1,1,1,1,1,1)); approximately 3.46 KiB
under its flat-record size estimate. There are no precision claims or rounded
zeros to interpret.

## Independent arithmetic

`checks.py` does not use the generator's Jack, character, dimension or partition
routines to construct its independent answer. It enumerates pairings, forms
signed tensor Gram contractions, compresses one complete Gram row by coset
type, and solves the resulting exact systems by rational Gaussian elimination.
It recovers every coefficient in 21 systems. The largest system has eleven
unknowns; its row sums run over all 10,395 pairings of twelve labels. Group
symmetry makes these representatives exhaustive; no dense 10,395-square
matrix is allocated.

The tensor contraction implementation assigns opposite coordinate halves
along every edge. Each connected loop has 2N possible labels, and the product
of the oriented J entries determines its sign. This construction is separate
from the character calculation. Before using it, the run compared 38
contractions with direct sums over matrix indices at N=1,2 and k=1,2,3.
The signed k=2 nonidentity contraction at N=2 was -4, a nonzero control.
The rational solver returned (3/5,-1/5) for the prescribed 2-by-2 test.
Increasing one inverse coefficient by 1/1000 caused the Gram identity to fail.

For an outside-family check, USp(2N) is transitive on the unit sphere in
C^(2N): extend any unit quaternionic vector to a quaternionic orthonormal
basis. Haar invariance therefore makes its first column uniform on that
sphere. Normalizing independent complex Gaussian coordinates gives
|S_11|^2 the Beta(1,2N-1) law. Integrating its monomial density, or repeatedly
integrating by parts, gives E|S_11|^(2k)=k!/[(2N)...(2N+k-1)]. This derivation
uses sphere geometry, not the Weingarten expansion. The checks recover all
21 such moments from the coefficients. They explicitly sum every relevant
pair of bipartite matchings. The k=2 control is
2*Wg(1,1)-2*Wg(2), giving 1/10 at N=2.

All sixteen entries with k<=2 agree with Matsumoto's explicit formulas.
The independent reader program computes representation dimensions via Schur
characters and agrees with all 68 stored values. It additionally returns
1/9 and -1/18 for the singular N=1,k=2 character-sum convention; these two
values are not added to the table.

## Readback and audit

Generator.verify(sample=None) on the website returned:
`68/68 matched, 0 differing, 0 missing, 0 extra`.
The full independent Gram and sphere-moment checks also passed on values
read back from the authenticated table API. `stored-results.json` records
these results; `stored-checks.log` preserves the complete output in the run.

The initial checker stopped because the API exports nested Numbers despite
accepting flat records on input. It was adapted to the observed nested
parameter structure, preserving comma-containing partition labels. The first
failed log is retained. No coefficient was changed to resolve this format
issue, and the rerun passed.

The first site audit suggested shortening the 344-character definition.
It was shortened to 225 characters while preserving all mathematics in the
comments and formulas. The final authenticated audit returned
`{"findings": [], "clean": true}`. Only prose changed after the initial fill.

The environment was Sage 10.9, numberdb 0.1.10, Python 3.12.3.
Full version records and source hashes are in the attachments. This evidence
does not replace the separate actor's independent numerical and argument
selection critique. The draft has not been offered or published.