### wai-quantum 0.6.7: tensor networks that split controlled gates and fix projections

Additive. `Network::amplitude` and `Network::simplify` are unchanged, so every pinned digest is too.

- **`Network::amplitude_split`** (`quantum_tn`) splits each gate on two or more qubits at
  every qubit it is block-diagonal on: a control, or a qubit it is diagonal on. There
  `G = Σ_a |a⟩⟨a| ⊗ G_a`, so that qubit gets the delta `δ(out, in, k)` on its wire, and the
  blocks `G_k` keep the rest, joined by a bond of dimension 2. Only zeros of the matrix are
  read. A cut through a controlled-Z or controlled-X then costs 2, not 4.
- **`Network::reduce`** fixes every index that some tensor allows only one value of: each
  tensor holding it keeps its entries at that value and drops the index, until nothing
  changes; then it simplifies. Only zeros are read and entries selected. Input and output
  projections run through diagonal gates and split deltas, so a controlled-Z beside a
  projected output becomes scalars. Open indices are never fixed.
- On 61-qubit controlled-Z circuits of depth 8, 12, 16 and 20, the search (64 trials) finds
  single-amplitude trees of log₁₀ 5.35, 8.25, 11.22 and 14.26 multiply-adds on split, reduced
  networks, against 8.03, 12.46, 16.09 and 19.64 on whole-gate, simplified ones.
- `examples/tn_cost`, the CLI's `wai-quantum tn` (`--whole-gates` for the old networks) and the
  service's `tensor_network` method build split, reduced networks.
- Tests: split networks, reduced or not, and reduced whole-gate networks give the state
  vector's amplitudes on circuits of controlled-Z, controlled-X both ways, a controlled
  random unitary, random diagonal gates, Toffoli, CCZ and random two-qubit unitaries, with
  outputs projected and open. CZ and CX split and a random unitary does not; CX splits at its
  control. On a 4 × 5 grid of controlled-Z, the split tree costs under an eighth of the
  whole-gate one. Three mutants are caught: the delta's entry, the block-diagonal test, and
  the value kept by `reduce`.

