Uh oh!
There was an error while loading. Please reload this page.
quantum: modernize QFT to Qiskit 2.x and re-enable its test - #15120
Conversation
quantum/q_fourier_transform.py used the Aer and execute symbols that were removed from qiskit in the 1.0 API break, so it could never run and was on the pytest --ignore list. Port it to the current API: - Drop 'from qiskit import Aer, execute'. Build the circuit unchanged, then simulate with the pure-Python BasicSimulator via transpile() + backend.run(), so no compiled qiskit-aer backend is needed (qiskit-aer has no Python 3.14 wheels yet; BasicSimulator ships inside qiskit core). - Seed the run (seed_simulator=42) and rewrite the doctest to assert the reproducible, shot-noise-independent facts (the four outcomes appear and the counts sum to the shot total) instead of exact per-state counts, which random sampling can never hit. - Add 'qiskit>=2' to project dependencies and drop the quantum ignore + the stale '# TODO: TheAlgorithms#8818 Re-enable quantum tests' comment in build.yml. Draft until CI confirms qiskit installs and imports on the repo's Python 3.14.
cclauss
left a comment
There was a problem hiding this comment.
Thousands separators make numbers easier for humans to read.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
priya-sundaram-dev
commented
Aug 30, 2026
cclauss
commented
Aug 30, 2026
Awesome work on Qiskit! I find it stunning that TensorFlow/Keras does not have v3.14 wheels when v3.15 is available as a release candidate. |
priya-sundaram-dev
commented
Aug 30, 2026
Right? The catch is that a "3.15 release candidate exists" and "TF/Keras ship wheels for 3.x" are almost unrelated events. TensorFlow bundles a big C++/pybind11 extension that has to be rebuilt and tested against each new CPython ABI, so their wheels historically trail the interpreter by one or two minor versions — 3.15 RC availability just means CPython froze its ABI, not that TF has caught up on 3.14 yet. The cleaner path for us is the pure-Python-first files: the |
cclauss
commented
Aug 30, 2026
I like your Keras-only workaround idea. Please go for it. |
Describe your change:
Follow-up to #15118 and the ask in #15081. Re-opens #15119 (auto-closed by the keeper bot for the draft's unchecked template — CI has since gone fully green, so there's no reason to keep it a draft).
quantum/q_fourier_transform.pyimportedAerandexecutefromqiskit— both removed in the Qiskit 1.0 API break — so the file could never import, which is why it sat on the--ignorelist and its doctest was never validated. This ports it to the current API:BasicSimulator(transpile()+backend.run()) instead ofAer.get_backend("qasm_simulator")+execute().BasicSimulatorships insideqiskitcore, so no compiledqiskit-aerbackend is required — relevant becauseqiskit-aerhas no Python 3.14 wheels yet (Need binary distribution on PyPI for Python 3.14 Qiskit/qiskit-aer#2378), while this repo requires Python ≥ 3.14.seed_simulator=42) and rewrite the doctest to check the reproducible, shot-noise-independent facts (all four outcomes appear; counts sum to the shot total) rather than exact per-state counts — the old{'00': 2500, ...}doctest was statistically impossible and only "passed" because it was ignored.qiskit>=2todependencies; drop--ignore=quantum/q_fourier_transform.pyand the stale# TODO: #8818comment frombuild.yml.CI is green:
buildandbuild_docsboth pass on the repo's Python 3.14 interpreter, confirmingqiskitcore installs/imports and the new doctest runs and passes. Closes the quantum half of #8818.The remaining TensorFlow
--ignoreentries are hard-blocked by the Python 3.14 floor (TensorFlow tops out at 3.13); full matrix is in #15081 / the earlier #15119 thread.Checklist: