All notable changes to this project will be documented in this file.
The format follows Keep a Changelog
and this project adheres to Semantic Versioning.
0.2.0 - 2025-11-09
- Complete NumPy-based optimizer suite under
qmlhc.optim.numpy_optim/:adam,spsa,finite-diff,natural-grad,dual-ascent,mpc,kfac, andtrust-kl. - Unified optimizer factory and registry system
create_optimizer_numpy()for flexible configuration. - Added
run_batch()method for consistent batched execution(B, D)across backends. - Added a minimal optimizer usage example integrated with existing demo pipelines.
- Added backend examples and documentation for the
capabilities()interface.
- Unified backend adapter layer for
PennyLane,Qiskit, andCppbackends with standardized conventions for capability reporting, batch execution, and noise handling. - Added
supports_noisekeyword parameter to the PennyLane backend for explicit compatibility and control. - Refined internal logic of
pennylane_backend.qnode_shotfor compatibility with the latest PennyLane versions (no API break).
- Added minimal optimizer documentation (table + quick example).
- Updated RST for
qmlhc.backendsand optimizer sections. - Verified Sphinx build without critical warnings.
- Expanded unit and integration tests for optimizers, registry, and backend adapters.
- Achieved >99% overall test coverage with
pytest --cov.
- Removed outdated figures and deprecated references (e.g.,
qmlhc.optim.api.rst).
- No breaking changes introduced; existing APIs like
run()remain functional. - New parameters and features are optional and backward compatible.
- Extended optimizer documentation including parameter definitions, formulas, and detailed use cases.
- Added extended examples and Jupyter notebooks.