Some checks failed
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 17s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 20s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 18s
wai-app and Create / wai-app · does this change touch it (push) Successful in 36s
WAI operation catalogue / does this change touch it (push) Successful in 26s
wai-audit collector and player integration / does this change touch it (push) Successful in 15s
wai-key-proxy / does this change touch it (push) Successful in 17s
wai-ledger service / does this change touch it (push) Successful in 17s
wai-quantum resource estimation / does this change touch it (push) Successful in 19s
wai-fleet service / does this change touch it (push) Successful in 57s
wai-quantum docs, course and locales / does this change touch it (push) Successful in 44s
wai-quantum editors / does this change touch it (push) Successful in 38s
wai-quantum command line / does this change touch it (push) Successful in 52s
wai-quantum pulse and dynamics / does this change touch it (push) Successful in 18s
wai-quantum-landscape-fpga reference design / does this change touch it (push) Successful in 25s
wai-quantum for JavaScript / does this change touch it (push) Successful in 40s
wai-quantum contract / does this change touch it (push) Successful in 47s
wai-quantum for Python / does this change touch it (push) Successful in 17s
wai-quantum other formats / does this change touch it (push) Successful in 48s
wai-quantum OpenQASM reader / does this change touch it (push) Successful in 34s
wai-quantum error correction and mitigation / does this change touch it (push) Successful in 16s
wai-quantum variational and algorithm library / does this change touch it (push) Successful in 14s
wai-quantum extension points / does this change touch it (push) Successful in 36s
wai-quantum service / does this change touch it (push) Successful in 34s
wai-quantum qudit jobs / does this change touch it (push) Successful in 39s
wai-quantum studio and desktop / does this change touch it (push) Successful in 20s
wai-sink-android native sink library / does this change touch it (push) Successful in 17s
wai-quantum views in agent hosts / does this change touch it (push) Successful in 37s
wai-quantum verdicts and repairs / does this change touch it (push) Successful in 41s
WAI Studio / does this change touch it (push) Successful in 46s
wai-sink-swift native sink package / does this change touch it (push) Successful in 47s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 2m13s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Successful in 2m11s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Successful in 2m46s
wai-quantum service / service energy · linux packages (push) Successful in 2m14s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (push) Successful in 4m7s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 3m53s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 6m53s
joule-moq-room room service / joule-moq-room, every target (push) Successful in 7m40s
wai-quantum extension points / the registry and the example · linux-arm64 (push) Successful in 6m25s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 26s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 13s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 1m15s
wai-key-proxy / proxy · linux (push) Successful in 1m22s
wai-fleet service / service · linux (push) Successful in 2m21s
wai-audit collector and player integration / collector · linux (push) Successful in 4m10s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Successful in 15s
wai-ledger service / service · linux (push) Successful in 4m21s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Successful in 2m13s
wai-quantum editors / editors · linux (push) Successful in 3m25s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Successful in 8s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Successful in 3m54s
wai-quantum wasmQ / does this change touch it (push) Successful in 13s
wai-quantum resource estimation / estimation and calibration · linux, release (push) Successful in 6m46s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Successful in 50s
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Successful in 6m28s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (push) Successful in 1m58s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 12m17s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (push) Successful in 2m5s
wai-quantum contract / API compatibility · linux (push) Successful in 5m46s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Successful in 1m8s
wai-quantum OpenQASM reader / reader and corpus · linux (push) Successful in 4m59s
wai-quantum for JavaScript / javascript · linux (push) Successful in 6m59s
wai-quantum for Python / python · linux (push) Successful in 4m47s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Successful in 5m43s
wai-quantum qudit jobs / the module and the conformance set under wasm32-wasip2 (wasmtime) (push) Successful in 1m55s
wai-quantum other formats / readers, writers and the set · linux (push) Successful in 7m49s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 15m51s
wai-quantum qudit jobs / the module, the job, the conformance set, the referee and the verb · linux (push) Failing after 4m5s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 56s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (push) Successful in 2m21s
wai-quantum extension points / the registry and the example · linux (push) Successful in 7m50s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (push) Successful in 5m14s
wai-quantum service / service · linux (push) Successful in 8m29s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 7m3s
wai-quantum contract / schemas and the committed tool lists · linux (push) Successful in 14m30s
wai-quantum studio and desktop / studio · browser (push) Successful in 8m13s
wai-quantum views in agent hosts / views · the page and its engine (push) Successful in 8m15s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 54s
wai-quantum views in agent hosts / views · a scripted host (push) Successful in 9m43s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Successful in 22m57s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 9m46s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m19s
wai-fleet service / service · macos (push) Successful in 37s
wai-ledger service / service · macos (push) Successful in 1m19s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 6m4s
wai-quantum editors / editors · macos (push) Successful in 2m11s
wai-quantum command line / command line · macos (push) Successful in 2m23s
wai-quantum pulse and dynamics / the same bits · macos (push) Successful in 1m48s
wai-quantum command line / command line · linux (push) Successful in 29m0s
WAI Studio / Studio in WebKit · linux (push) Successful in 15m46s
wai-quantum for Python / python · macos (push) Successful in 2m29s
wai-quantum qudit jobs / the same bits · macos (push) Successful in 2m31s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 5m33s
wai-quantum service / service · macos (push) Successful in 6m11s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 5m20s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 16m59s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Successful in 42m39s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 11m13s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 17m1s
wai-quantum wasmQ / the reference modules rebuild to their modules of record · linux (push) Successful in 39s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 3m55s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 5m33s
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · linux (push) Successful in 4m47s
wai-quantum wasmQ / interpreter and vectors under wasm32-wasip2 (wasmtime) (push) Successful in 5m41s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 8m57s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 11m22s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 22m26s
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · macos (push) Successful in 4m7s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 7m27s
quantum_qudit takes d = 4 (roots ±1, ±i, exact) and d = 6 (coordinates ±1/2, ±√3/2, as d = 3's) beside 2 and 3: the dimensions whose roots of unity have degree at most two. Every other dimension is refused. Each irrational constant (√3/2 and the Fourier entries 1/√2, 1/√3, 1/(2√3), 1/√6, 1/(2√6), √2/4) is the nearest multiple of 2^-30, found in whole numbers and proved nearest by a test; the module had called a floor square root "exact", and 1/√3 was a floor of a floor, 1.13 units low. The Fourier gate's entries are ω^m/√d applied with circuit2's arithmetic, so d = 2 is circuit2's H on any state and F_4 is the two-qubit QFT on every basis state; F_6 is F_2 ⊗ F_3 under the CRT relabelling. Each gate's rounding and constants are counted (gate_bound), carried to a 2-norm bound on the state (program_bound) and a total-variation bound on the outcomes (outcomes_bound); the worst measured is 0.79 of the bound. engine::qudit is the job: a program of shift, clock, fourier, csum and phase gates, measured with a seed, sealed in the receipt every job takes (wai.quantum.qudit/1; refusals J090, J091, J092; at most 2^24 amplitudes and 2^32 work, measured at 9.6 s natively and 49.9 s on wasm32). The command line runs it (wai-quantum qudit run, check, example). extensions/quantum-sim.md §9 states all of it; quantum-conformance/qudit/ holds the constants, 29 vectors and 35 refusals, the same bytes on arm64 macOS, x86_64 Linux and wasm32-wasip2 (wai-quantum-qudit.yml), with a second implementation in Python. Co-Authored-By: Claude Opus 5.5 <[email protected]>
48 lines
2.9 KiB
Markdown
48 lines
2.9 KiB
Markdown
# Qudit jobs: the conformance set
|
|
|
|
Registers of qudits of 2, 3, 4 or 6 levels and the job that runs them,
|
|
`wai.quantum.qudit/1` ([quantum-sim.md §9](../../extensions/quantum-sim.md)).
|
|
A conforming host reads each request, runs it and gives each answer here bit for
|
|
bit, and refuses each refusal with its code.
|
|
|
|
`vectors.json` holds:
|
|
|
|
| member | what |
|
|
|---|---|
|
|
| `limits` | the most amplitudes a register holds, gates a program holds, shots, amplitudes asked for and work a job takes (§9.7, §9.8) |
|
|
| `constants` | for each dimension, its roots of unity `ω_d^k` and its Fourier entries `ω_d^m/√d` as the integers they are at `2^30`, and their digest (§9.2) |
|
|
| `vectors` | 29 requests, each with the answer a conforming host gives: every member of a run's answer but `engine`, `schema`, `energy` and `receipt`, which a host adds (§9.7). Every gate and every power on every dimension; Bell pairs and both sides of the Weyl relation; `F`, `F²` and `F†`; programs with the bound 0; a column of every Fourier gate, each entry times an amplitude of exactly 1; the least and the largest seed; registers from one qudit to 14 qubits |
|
|
| `refusals` | 35 requests a conforming host refuses, each with its code: `J090` (does not read), `J091` (a dimension with no roots held), `J092` (past a limit), in the order §9.7 checks them |
|
|
| `results_blake3` | BLAKE3 over each vector's request and result as compact JSON (doubles as serde_json writes them), each followed by a newline |
|
|
|
|
## Who checks it
|
|
|
|
- **The engine**, on every host CI runs (`wai/wai-quantum/tests/qudit_conformance.rs`, in
|
|
`.github/workflows/wai-quantum-qudit.yml`): arm64 macOS, x86_64 Linux, and
|
|
wasm32-wasip2 under wasmtime, each required to write this file byte for byte.
|
|
|
|
```sh norun=ci:wai-quantum-qudit.yml
|
|
cargo test --locked --release --no-default-features --features quantum_engine,quantum_receipt --test qudit_conformance
|
|
```
|
|
|
|
- **A second implementation**, in Python, from §9's text alone
|
|
(`../tools/qudit_referee.py`): the constants by the text's rule in whole numbers,
|
|
each gate index by index, the sampler shot by shot, the bounds in doubles, the
|
|
refusals in the text's order, and the results' digest; then it moves each
|
|
irrational constant by one unit and requires some vector's state to move.
|
|
|
|
```sh norun=ci:wai-quantum-qudit.yml
|
|
python3 -I wai/quantum-conformance/tools/qudit_referee.py wai/quantum-conformance
|
|
```
|
|
|
|
`WAI_QUANTUM_BLESS=1` with the engine's test writes the file again from the cases
|
|
in the test. A change to it changes `results_blake3`, which the test pins.
|
|
|
|
## What it does not cover
|
|
|
|
- The receipt: a qudit job is sealed as every job is, and `../receipts/` holds
|
|
those receipts' corpus.
|
|
- The largest registers: the vectors stop at 16384 amplitudes; the limits and
|
|
their refusals are here, and the measured ceiling is in §9.8.
|
|
- Noise, measurement in the middle, and any dimension but 2, 3, 4 and 6, which
|
|
§9 does not state.
|