Both servers add the pulse tools before the variational library's, so the tests that hold the
tool list name them in that order.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Rebuilt with wai/wai-quantum-views/build.sh in catthehacker/ubuntu:act-22.04 with Rust 1.98.0, as the
views workflow rebuilds it, so the engine inside the page is the one these sources build.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Merging the pulse and variational branches' endpoint lists in GET /v1 took the key for an item,
which left the line unclosed. It is rebuilt from both lists, in the service's order.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The pulse branch and this one each grew FILES from 22 to 23, and the rebase took the same change
once, so the array was declared 23 long with 24 entries. It is declared 24, and this branch's
changelog line says the schemas grow from 23 to 24.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The table groups its codes in tens by theme, and J040 and J041 go to
another branch's codes. PARAMS is now J050, GRADIENT J051, OPTIMIZE J052
and BUILD J053, in the table and its page, every message and test, the
service's OpenAPI and tool descriptions, the job schema, the reference
page, the feature matrix, the changelog entry and the regenerated agent
docs. No released code changes: these four were never released.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
docs/variational.md describes each call on every surface, every block of
it run by the documentation check: a job's parameters, the gradient
methods and what the rounding bound counts, the optimisers and the digest
chain, the variational eigensolver, QAOA, and the builders with their
references. The crate, command-line and service READMEs (and their
translations) gain the library, the feature matrix says what a float or
angle input now is, the agent docs are regenerated, and wai/CHANGELOG.md
acknowledges the one breaking change, engine::schema::FILES growing to 23.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum-variational.yml runs every test of the library by name on
x86_64 and arm64 Linux, the byte pins among them, and builds each feature
set the hosts build without warnings; the contract requires the new schema
test. Both smoke scripts check the new commands and endpoints, the
service's within the two submissions a client's window has left. The smoke
found the adder with its addends given checked against the bare adder's
truth table; its reference now flips the prepared qubits first, and a test
holds it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The command line gains gradient, optimize, vqe, qaoa and build, and run,
plan and submit take --param; verify checks an optimisation's chain and
runs any of these answers again to the same bytes. Both MCP servers serve
gradient_qasm, optimize_qasm, vqe_ground_state, qaoa_maxcut and
build_algorithm in one wording, and a job's params on run_quantum_circuit.
The job service answers POST /v1/gradient, /v1/optimize, /v1/vqe,
/v1/qaoa and /v1/build within its own bounds (J031 past them, naming the
local command). The page engine gains variational(op, args), its gradient
the native build's pinned bytes in wasm32. Every answer follows the new
schema wai.quantum.algorithms/1; the agent docs are regenerated.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Programs every surface runs: phase estimation of p(2πφ) on t counting
qubits, amplitude estimation by phase estimation of the Grover operator
built from A, the ripple-carry adder in place, and quantum signal
processing (a signal, or a real symmetric matrix through its block
encoding, the phases turned to the reflection's convention). Each answer
carries the equivalence ladder's verdict against a reference built from
the definitions, not the program's gates: the ladder gains a rung against
a reference matrix and one against a truth table. The tests hold phase and
amplitude estimation to the Fejér distribution, the adder to a truth table
written apart and run as a job bit-exact, and QSVT to the Chebyshev
polynomials of a signal and of a matrix by their recursion.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A Hamiltonian's expectation over a program's parameters, and its gradient
by each, exactly, by adjoint differentiation or the parameter-shift rule
(two terms for a generator with two eigenvalues, four for a controlled
rotation): each held to gradients worked out by hand within its stated
rounding bound, to central finite differences, and to each other. Every
result says it is f64, approximate, and states an a priori bound on its
rounding. Gradient descent, Adam and seeded SPSA, each step a link of a
digest chain from the request, the same bytes on x86_64 Linux and arm64
macOS (pinned). The variational eigensolver beside the exact ground energy
by diagonalisation; QAOA for Max-Cut beside brute force, its p = 1 expected
cut the closed form on an edge and a ring. The ansatz is the variational
ML module's, its distribution and gradient held to that module's.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A job's "params" gives each of its program's parameters (input float,
input angle) its value, bound exactly before the program is read; a
parameter left without one is refused (Q114, J040), and a sweep may fix
some parameters in "params" while it sweeps the others. qasm::tangents
reads a program with every gate's derivative by each parameter, carried
forward through arithmetic, the built-in functions, gate definitions,
broadcast and loops; what it cannot follow is refused on its line (Q129).
The job codes for gradients, optimisation and the builders (J041 to J043)
join the table.
Co-Authored-By: Claude Opus 5.5 <[email protected]>