Qiskit Algorithms 0.3.0
Changelog
Prelude
This release now supports Qiskit 1.0 while continuing to work with the Qiskit 0.46 release for those still navigating the changes brought about in the Qiskit 1.0 release.
New Features
- Added input argument insert_barriers to TrotterQRTE to add barriers between Trotter layers.
- Added support for using Qiskit Algorithms with Python 3.12.
Bug Fixes
- Fixes state fidelity ComputeUncompute to correct an issue arising from the threading used for the job result. This issue could be seen sometimes if more than one job was created and their results fetched back-to-back, such that more than one internal thread was active processing these results.
- Fixed the AQGD optimizer grouping objective function calls by default so that a single point is now passed to the objective function. For algorithms that can handle more than one gradient evaluations in their objective function, such as a VQE in the algorithms here, the number of grouped evaluations can be controlled via the max_grouped_evals parameter. Grouped evaluations allows a list of points to be handed over so that they can potentially be assessed more efficiently in a single job.
- Fixes internal cache used by state fidelities so that circuits are cached using the same generated key method as that used by the reference primitives. This avoids a potential incorrect result that could have occurred with the key as it was before when id() was used.
- Fixes GSLS optimizer minimize() so that if the bounds parameter is passed with tuples that have entries of None then the entry is treated as equivalent to infinity.