Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 2.06 KB

File metadata and controls

46 lines (36 loc) · 2.06 KB

Changelog

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

Added

  • Complete NumPy-based optimizer suite under qmlhc.optim.numpy_optim/: adam, spsa, finite-diff, natural-grad, dual-ascent, mpc, kfac, and trust-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.

Changed

  • Unified backend adapter layer for PennyLane, Qiskit, and Cpp backends with standardized conventions for capability reporting, batch execution, and noise handling.
  • Added supports_noise keyword parameter to the PennyLane backend for explicit compatibility and control.
  • Refined internal logic of pennylane_backend.qnode_shot for compatibility with the latest PennyLane versions (no API break).

Docs

  • Added minimal optimizer documentation (table + quick example).
  • Updated RST for qmlhc.backends and optimizer sections.
  • Verified Sphinx build without critical warnings.

Testing

  • Expanded unit and integration tests for optimizers, registry, and backend adapters.
  • Achieved >99% overall test coverage with pytest --cov.

Removed

  • Removed outdated figures and deprecated references (e.g., qmlhc.optim.api.rst).

Migration Notes

  • No breaking changes introduced; existing APIs like run() remain functional.
  • New parameters and features are optional and backward compatible.

[0.2.1] - (Planned)

Docs

  • Extended optimizer documentation including parameter definitions, formulas, and detailed use cases.
  • Added extended examples and Jupyter notebooks.