Skip to content

v8.1.43

Choose a tag to compare

@tatopenn-cell tatopenn-cell released this 31 Jul 15:47
· 322 commits to main since this release

Added

Seven standard-convenience functions Qiskit/PennyLane ship as everyday API that this package didn't:
entangling_layer, pauli_expectation/pauli_sum_expectation, ghz_state, sample_counts,
statevector_fidelity, qft, random_circuit, draw_circuit. Five of them (topology/observables/
states/measurement) were confirmed as real gaps -- the same patterns were found hand-duplicated with
no shared, tested implementation across 20+ VQE/observable scripts and every test/experiment that
preps a GHZ or Bell state, in this repo and the sibling Dense-Evolution-Ising-Tests.

Real bug found and fixed while verifying pauli_expectation: the first implementation assumed
qubit q is bit q of the basis-state index. DenseSVSimulator actually stores qubit 0 as the
most significant bit. Fixed and re-verified against brute-force dense Pauli matrices on 500
random 4-qubit states (exact match). qft verified the same way against the analytic DFT matrix
(max error 1.4e-15).

72 new tests total.

macOS support

Added macos-latest to the CI matrix (previously ubuntu-only) after a direct question about macOS
support that had never actually been verified. Surfaced and fixed two real, unrelated process
crashes on macOS CI runners:

  • Qiskit's own QuantumCircuit.__init__ segfaults there -- not a Dense-Evolution bug, isolated so
    it no longer destabilizes the process.
  • A separate JAX/native-extension shutdown segfault, independent of Qiskit -- fixed with a
    pytest_sessionfinish hook that forces a clean process exit on macOS after pytest's own work is done.

CI now runs 6 jobs (2 OSes x 3 Python versions), all green.

Full changelog: https://github.com/tatopenn-cell/Dense-Evolution/blob/main/README.md#-changelog