Releases: Qiskit-Extensions/circuit-knitting-toolbox
Releases · Qiskit-Extensions/circuit-knitting-toolbox
Circuit Knitting Toolbox 0.7.3
What's Changed
- Tutorials: Fix typo and split cell that retrieves results (backport #598) by @mergify in #606
- Update README.md (backport #607) by @mergify in #608
- update tutorial readme (backport #609) by @mergify in #610
- Use batch mode correctly in the tutorials (backport #616) by @mergify in #619
- Describe optimization parameters in docs (backport #615) by @mergify in #624
- transforms.py: Avoid setting the barrier to be a uuid object (backport #625) by @mergify in #627
- Bump qiskit-ibm-runtime version and use
mode=batch
(backport #623) by @garrison in #628 - Pin numpy<2 on stable branch by @garrison in #631
- Pass
backend
as positional argument toSamplerV2
for job mode (backport #633) by @mergify in #634 - Fix deprecation of iterable
CircuitInstruction
under Qiskit 1.2 (backport #636) by @mergify in #637 - Pin
ruff==0.5.1
(backport #640) by @mergify in #641 - Prepare 0.7.3 release by @garrison in #638
Full Changelog: 0.7.2...0.7.3
Circuit Knitting Toolbox 0.7.2
What's Changed
- Remove discussion about user's compute env from knitting docs (backport #570) by @mergify in #571
- Update authors in
CITATION.bib
(backport #580) by @mergify in #582 - Update
CITATION.bib
to remove entanglement forging authors (backport #583) by @mergify in #584 - Avoid exploring extraneous minima in the cut-finder search space (backport #585) by @mergify in #588
- Remove use of qasm simulator (backport #589) by @mergify in #592
- Tuple unpacking bug fix in cut finder. (backport #591) by @mergify in #593
- Prepare 0.7.2 release by @garrison in #590
Full Changelog: 0.7.1...0.7.2
Circuit Knitting Toolbox 0.7.1
What's Changed
- Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot in #538
- No worktrees by @caleb-johnson in #559
- Switch to
macos-13
runner so it is an Intel chip by @garrison in #561 - Remove transpilations inside subexperiment generation by @caleb-johnson in #556
- Revert "Temporarily disable worktrees in docs and lint workflows (#559)" by @garrison in #562
- Early terminate from loops when generating cutting experiments by @garrison in #565
- Force at least one classical bit in
qpd_measurements
register by @garrison in #563 - Prepare 0.7.1 release by @garrison in #566
Full Changelog: 0.7.0...0.7.1
Circuit Knitting Toolbox 0.7.0
What's Changed
- Update target branch for docs build and mergify by @caleb-johnson in #493
- Add support for Python 3.12 by @garrison in #429
- Bump autoflake from 2.2.1 to 2.3.0 by @dependabot in #497
- Bump pylint from 3.0.3 to 3.1.0 by @dependabot in #496
- Dev tests should test against qiskit
main
, not stable branch by @garrison in #499 - Add support for
SamplerV2
by @garrison in #507 - Update cutting tutorials to send ISA circuits to Qiskit Runtime by @garrison in #500
- Split
qpd.py
code into three files by @garrison in #510 - Lower the nbmake cell timeout to 5 minutes by @garrison in #514
- Add transpilation to cutqc evaluation by @garrison in #504
- Add automated cut-finding module by @ibrahim-shehzad in #520
- Enable pylint rules to prefer list and dict literal syntax by @garrison in #522
- Bump mypy from 1.8.0 to 1.9.0 by @dependabot in #525
- Bump autoflake from 2.3.0 to 2.3.1 by @dependabot in #526
- Deprecate CutQC by @ibrahim-shehzad in #527
- Add github button to docs homepage by @caleb-johnson in #540
- Adjust docs artifact filename by @garrison in #541
- Reconstruct expectation values of SparsePauliOp operators in notebooks by @caleb-johnson in #523
- Remove greedy recursion by @ibrahim-shehzad in #537
- Move pylint configuration to
pyproject.toml
by @garrison in #543 - RFC: Re-execute notebooks on CI when building Sphinx docs by @garrison in #534
- Fix hyper-specific import of
qiskit.synthesis.TwoQubitWeylDecomposition
by @garrison in #547 - Enable pylint's
dangerous-default-value
check by @garrison in #544 - Docker: fix permissions for persistent-volume by @kevinsung in #549
- Test that
persistent-volume
is writable under Docker Compose by @garrison in #550 - Update cutqc tutorials index with deprecated status by @garrison in #533
- Use Qiskit Runtime
SamplerV2
in local mode instead ofBackendSamplerV2
in test by @garrison in #513 - Add sampling overhead table and expand/update cutting explanation by @garrison in #342
- Migrate tutorials and a how-to guide to v2 primitives by @garrison in #552
- Prepare 0.7.0 release by @garrison in #555
New Contributors
- @kevinsung made their first contribution in #549
Full Changelog: 0.6.0...0.7.0
Circuit Knitting Toolbox 0.6.0
What's Changed
- Remove ckt by @caleb-johnson in #369
- Bump mypy from 1.5.1 to 1.6.1 by @dependabot in #447
- Bump pylint from 2.17.7 to 3.0.2 by @dependabot in #446
- Make unrealized
SingleQubitQPDGate
have definition ofNone
rather than raise error by @garrison in #442 - Update forging how-to to Qiskit Nature 0.5 by @garrison in #449
- Use new
Session.from_id()
method in qiskit-ibm-runtime by @garrison in #421 - Fix outdated docstring and type annotation for
example_circuit
test fixture by @garrison in #448 - Remove qiskit
main
from "developments versions" CI workflow by @garrison in #451 - Pin
aiohttp != 3.9.0
during notebook tests by @garrison in #454 - Install
async-timeout
rather than pinaiohttp
by @garrison in #455 - Remove unnecessary resets in
generate_cutting_experiments
by @garrison in #458 - Test against qiskit-algorithms
main
in dev version tests by @garrison in #459 - Bump mypy from 1.6.1 to 1.7.1 by @dependabot in #461
- Migrate away from deprecated
QuantumCircuit
methods by @garrison in #462 - Bump actions/setup-python from 4 to 5 by @dependabot in #465
- Pin qiskit < 1.0 by @garrison in #464
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #466
- Remove
async-timeout
from notebook dependencies by @garrison in #456 - Bump mypy from 1.7.1 to 1.8.0 by @dependabot in #467
- Bump pylint from 3.0.2 to 3.0.3 by @dependabot in #468
- Update description of cutting tut 1 by @caleb-johnson in #469
- Update
UnitaryGate
import now thatqiskit.extensions
is deprecated by @garrison in #463 - Ignore serverless tut by @caleb-johnson in #476
- Update black[jupyter] requirement from ~=23.1 to ~=24.1 by @dependabot in #472
- Update ruff config by @caleb-johnson in #478
- Remove serverless by @caleb-johnson in #480
- Remove entanglement forging by @caleb-johnson in #479
- Remove mentions of pyscf and entanglement forging by @caleb-johnson in #481
- Drop dependency on qiskit-algorithms by @garrison in #482
- Remove depecated functionality by @caleb-johnson in #483
- Remove qiskit.org links by @Eric-Arellano in #484
- Qiskit1.0 by @caleb-johnson in #475
- Prepare 0.6 release by @caleb-johnson in #485
- Bump version by @caleb-johnson in #486
Full Changelog: 0.5.0...0.6.0
Circuit Knitting Toolbox 0.5.0
What's Changed
- Configure mergify to perform stable backports by @garrison in #420
- Use parameterless gates where possible by @garrison in #425
- Bump pylint from 2.17.5 to 2.17.7 by @dependabot in #427
- Remove wire cutting module by @caleb-johnson in #359
- Use single gate (
SXGate
) to rotate from Z to Y measurement basis by @garrison in #431 - Remove upper version bound on scipy by @garrison in #423
- Enable pylint's
unused-argument
check by @garrison in #419 - Don't overcount expanded sum terms in documentation by @garrison in #430
- Provide a workaround to #422, Sampler failing when no measurements by @garrison in #426
- Temporarily pin qiskit-nature < 0.7 by @garrison in #435
- Clean up roundtrip tests by @garrison in #441
- Swap register order, removing need to pass
num_qpd_bits
by @garrison in #434 - Migrate from
qiskit.algorithms
toqiskit-algorithms
package by @garrison in #437 - Prepare 0.5.0 release by @garrison in #438
Full Changelog: 0.4.0...0.5.0
Circuit Knitting Toolbox 0.4.0
What's Changed
- Fix double-nesting of cutting tutorials & how-tos in table of contents by @garrison in #377
- Add support for
CSXGate().inverse()
by @garrison in #379 - Bump ghalactic/github-release-from-tag from 4 to 5 by @dependabot in #383
- Add GitHub star count to Sphinx front page by @garrison in #384
- Fix fallout from Qiskit metapackage migration by @garrison in #388
- Add "backwards compatibility" tests based on v0.3 tutorials by @garrison in #389
- move verbose sections in tutorials to explanation by @caleb-johnson in #381
- Add a public generate_cutting_experiments function by @caleb-johnson in #385
- Bump mypy from 1.4.1 to 1.5.1 by @dependabot in #394
- Bump autoflake from 2.2.0 to 2.2.1 by @dependabot in #393
- Update qiskit-sphinx-theme requirement from
~=1.14.0rc1
to>=1.14.0, <2
by @dependabot in #395 - Bump actions/checkout from 3 to 4 by @dependabot in #396
- Temporarily remove Qiskit Nature from dev version tests by @garrison in #407
- Refactor reconstruct_expectation_values by @caleb-johnson in #391
- Move experiment generation code to cutting_experiments.py by @caleb-johnson in #409
- Add a release badge by @garrison in #392
generate_cutting_experiments
returns coefficients, not weights by @garrison in #412- Make the cutting workflow work with any
Hashable
as label by @garrison in #410 - Use "raise from" in
except
blocks by @garrison in #415 - Avoid calling
QPDBasis.from_gate
in experiments tests by @garrison in #414 - Deprecate
execute_experiments()
by @garrison in #413 - Rework tutorials to use the new workflow by @caleb-johnson in #404
- Enable a reduced set of pylint checks by @garrison in #146
- Migrate from
bind_parameters
toassign_parameters
by @garrison in #418 - Prepare 0.4.0 release by @garrison in #416
Full Changelog: 0.3.0...0.4.0
Circuit Knitting Toolbox 0.3.0
What's Changed
See the release notes.
Individual changes:
- Add Zenodo DOI to README and CITATION by @garrison in #224
- Render QPD API in sphinx api docs by @caleb-johnson in #210
- Update installation instructions by @caleb-johnson in #213
- Add documentation of the different tox environments by @garrison in #228
- Update workflows README (add missing workflows) by @garrison in #229
- Remove Qiskit Runtime retry loop by @garrison in #58
- Add backwards compatibility tests of 0.2 circuit cutting workflows by @garrison in #232
- Rename the tutorials to order by number & enable redirects to prevent link rot by @garrison in #233
- Switch from flit to hatchling build system by @garrison in #234
- Trivial tweaks by @garrison in #237
- Migrate
extremal_dependency_versions.py
script from fire to typer by @garrison in #236 - QPD gates generated through cutting should have "cut_" label prefix by @caleb-johnson in #242
- Make coverage fail if under 90% by @garrison in #238
- Adjust
.gitignore
and.dockerignore
by @garrison in #240 - Enable ruff for jupyter notebooks by @garrison in #147
- Rename top-level module to
circuit_knitting
by @garrison in #244 - Fix mypy under rustworkx 0.13.0 by @garrison in #245
- Enable tests on Windows by @garrison in #246
- Set
earliest_version
explicitly in reno config by @garrison in #250 - Deprecate decompose_gates by @caleb-johnson in #243
- Export
qpdbasis_from_gate
fromqpd
module by @garrison in #263 - Add note on samping overhead to cutting tutorials by @caleb-johnson in #249
- Add installation section to readme by @caleb-johnson in #270
- Suppress warnings from Qiskit Nature by @SaashaJoshi in #230
- Move configuration out of
extremal-python-dependencies
by @garrison in #269 - Ignore opflow warnings by @caleb-johnson in #274
- Improve
separate_circuit
docstring by @garrison in #267 - Update EF how-to index by @caleb-johnson in #271
- Fix bug in result creation and add instantiation of EFGSS to how-to by @caleb-johnson in #268
- Add brief CONTRIBUTING.md by @garrison in #231
- Add
py-notebook
andpy3-notebook
tox environments by @garrison in #281 - Fix bug in decompose-qpd-instructions by @caleb-johnson in #276
- Add a supported_gates function by @caleb-johnson in #277
- Correct module import in docs/conf.py by @SaashaJoshi in #283
- Add explicit numpy dependency by @garrison in #286
- Add explicit dependency on rustworkx and scipy by @garrison in #289
- Add support for cut
CYGate
s andCHGate
s by @garrison in #290 CSXGate
by @garrison in #296- Add support for cut
ECRGate
by @garrison in #292 - Bump mypy from 1.3.0 to 1.4.1 by @dependabot in #301
- Bump autoflake from 2.1.1 to 2.2.0 by @dependabot in #299
- Support CPhaseGate, CSGate and CSdgGate by @caleb-johnson in #298
- Add support for
SwapGate
,iSwapGate
, andDCXGate
by @garrison in #294 - Configure Intersphinx to docs by @SaashaJoshi in #308
- Upload docs build in CI by @Eric-Arellano in #314
- Switch to qiskit-sphinx-theme by @Eric-Arellano in #313
- Return a mixture of exact and sampled weights as appropriate by @garrison in #255
- Corrections to docs for intersphinx by @SaashaJoshi in #311
- don't enumerate figures and code snippets by @caleb-johnson in #316
- Add support for
SingleQubitQPDGate
to be passed through the transpiler by @garrison in #303 - Run slow tests for coverage only by @caleb-johnson in #317
- Add caption headers to site table of contents by @Eric-Arellano in #318
- improve ObservableCollection.lookup docstring by @caleb-johnson in #322
- Shorten the section names in the docs by @garrison in #327
- Cplex is now compatible with Python 3.11 by @garrison in #325
- Migrate to Docker Compose V2 by @garrison in #328
- Update freezing orbitals documentation by @caleb-johnson in #315
- Switch to Qiskit Ecosystem theme by @Eric-Arellano in #329
- Bump Python version in Dockerfile to 3.11 by @garrison in #331
- Fix formatting of example in
reduce_bitstrings
docstring by @garrison in #332 - Implement cutting of general 2-qubit unitaries by @garrison in #302
- Improve the instructions regarding pandoc by @garrison in #336
- Make the repository link more obvious from the Sphinx build by @garrison in #338
- Add README badge linking to stable documentation by @garrison in #339
- Update README.md by @IbrahimShehzad in #340
- Add
SECURITY.md
by @garrison in #337 - Implement wire cutting as a two-qubit instruction by @garrison in #174
- Fix sphinx build by depending on ipykernel directly by @garrison in #345
- Pin black's major version only by @garrison in #344
- Fix description of
partition_problem
in wire cutting tutorial by @garrison in #348 - Update incorrect type hint by @caleb-johnson in #353
- Add version tables to all circuit cutting notebooks by @caleb-johnson in #354
- Fix
partition_problem
's handling of unlabeledTwoQubitQPDGate
s by @garrison in #350 - Support freezing Hartree-Fock energies at each forging iteration by @caleb-johnson in https://github.c...
Circuit Knitting Toolbox 0.2.0
What's Changed
- Remove support for Python 3.7 by @garrison in #80
- Set unreleased version title in reno config by @garrison in #136
- Ignore MIP model output by @caleb-johnson in #139
- Skip slow tests by default (but not in CI) by @garrison in #135
- Initial commit of basic QPD classes, supporting functionality, and unit tests by @caleb-johnson in #137
- Create generate_qpd_samples function by @caleb-johnson in #141
- Move the
wire_cutting
package tocutqc
by @garrison in #151 - Implement decompose_qpd_instructions by @caleb-johnson in #150
- partition_circuit_qubits by @caleb-johnson in #140
- Add separate_circuit, qpd_roundtrip test, and observable utils by @caleb-johnson in #145
- Remove
_generate_coefficients
function by @garrison in #159 - Remove css style that are specific to Sphinx-Gallery by @garrison in #164
- Add
Reset
support to the simulator by @garrison in #162 - Change
gate.operation
->instruction.operation
by @garrison in #156 - Add
overhead
property toQPDBasis
by @garrison in #160 - Enable monthly dependabot updates for the linters by @garrison in #114
- Bump mypy from 0.982 to 1.3.0 by @dependabot in #166
- Bump autoflake from 1.7.6 to 2.1.1 by @dependabot in #168
- Bump pydocstyle from 6.1.1 to 6.3.0 by @dependabot in #170
- Modify docstrings for consistency by @caleb-johnson in #172
- Add bibtex note to Sphinx by @garrison in #165
- Bump black[jupyter] from 22.10.0 to 23.3.0 by @dependabot in #167
- Add ticks and 4-space tabs to docstrings by @caleb-johnson in #176
- Move roundtrip test out of
qpd
module by @garrison in #178 - Implement exact sampler by @garrison in #177
- Use 4 spaces for tabs in docstrings by @caleb-johnson in #179
- Update authors in
CITATION.bib
in preparation for 0.2 release by @garrison in #181 - Minor improvements to
append_measurement_circuit
docstring by @garrison in #189 - Use exact weights in
generate_qpd_samples
when it's possible for all of them by @garrison in #190 - Update
tox.ini
to use Python 3.10 in coverage workflow by @garrison in #191 - Bump eloquent/github-release-action from 3 to 4 by @dependabot in #192
- Allow
num_samples
to be a float by @garrison in #194 - Fix cutqc tutorial links by @garrison in #195
- Update a docstring by @garrison in #197
- Improve the API reference docs within the utils directory by @garrison in #198
- Fix the exact simulator to error on classical conditions by @garrison in #200
- Remove ListOp by @SaashaJoshi in #202
- Final (0.2.0) cutting workflow by @caleb-johnson in #153
- Tweaks to 0.2.0 release notes by @garrison in #203
- Reorganize optional dependencies, and use randomly in notebook tests by @garrison in #204
- Remove any attempt at using the samplers in parallel by @garrison in #207
- Tweak formatting and shots count in
how_to_generate_exact_sampling_coefficients.ipynb
by @garrison in #205 - Minor docs cleanups by @caleb-johnson in #211
- Clean up 0.2.0 release note by @caleb-johnson in #209
- Remove captures from tutorials by @caleb-johnson in #214
- Tweaks to gate cutting workflow release note by @garrison in #217
- Ensure that each sampler passed to
samplers
is unique by @garrison in #219 - Fix the workflow if an empty circuit is provided by @garrison in #222
- Prepare 0.2.0 release by @garrison in #175
New Contributors
- @SaashaJoshi made their first contribution in #202
Full Changelog: 0.1.0...0.2.0
Circuit Knitting Toolbox 0.1.0
What's Changed
- Remove outdated source code examples in entanglement forging docs by @caleb-johnson in #54
- Fix project name by @caleb-johnson in #53
- Add circuit cutting API references to Sphinx build by @garrison in #57
- Fix a few typos in serverless tutorials by @garrison in #60
- Add
CITATION.bib
by @garrison in #61 - Pin coverage to < 7 when running coveragepy-lcov by @garrison in #66
- Update wire_cutting.py to include Qiskit blurb by @caleb-johnson in #65
- Add Black and Coveralls badges to README by @garrison in #56
- Adding a barebones setup.py to enable compatibility with asv for benc… by @pemmaras in #69
- Set
platform: linux/amd64
indocker-compose.yml
by @garrison in #71 - A few minor cleanups by @garrison in #67
- Add
run_subcircuits_using_sampler
function by @garrison in #72 - Configure dependabot to keep GitHub Actions versions up to date by @garrison in #75
- Remove dependency on
qiskit-ibmq-provider
by @garrison in #74 - Bump actions/setup-python from 1 to 4 by @dependabot in #77
- Bump actions/upload-artifact from 2 to 3 by @dependabot in #79
- Move most dependencies to
pyproject.toml
by @garrison in #76 - Bump actions/checkout from 2 to 3 by @dependabot in #78
- Fix deprecated usages of Bit by @caleb-johnson in #81
- A few small improvements by @garrison in #82
- Add support for reno release notes by @garrison in #84
- Add
project.urls
topyproject.toml
by @garrison in #86 - Deprecate support for Python 3.7 by @garrison in #87
- Update usage of Qiskit Estimator by @caleb-johnson in #92
- Remove nptyping as dependency by @caleb-johnson in #93
- Migrate to modern style of type hinting by @caleb-johnson in #95
- Enable ruff linter by @garrison in #110
- Install all notebook dependencies in the Dockerfile by @garrison in #112
- Temporarily disable qiskit-nature development version test by @garrison in #120
- Use a released version of the coveralls workflow by @garrison in #121
- Remove severless deprecations in cutting tutorial by @psschwei in #122
- Remove serverless deprecations in forging tutorial by @psschwei in #123
- Update Qiskit badges following #122 by @garrison in #125
- Add release note following Python 3.7 deprecation by @garrison in #126
- Rearrange docs directory hierarchy by @caleb-johnson in #118
- Improve errors when cplex is not installed by @garrison in #127
- Require 100% test coverage in certain modules by @garrison in #111
- Make cplex truly optional by @garrison in #109
- Add Docker notebook tests by @garrison in #113
- List
pyscf
explicitly as an optional dependency by @garrison in #131 - Migrate entanglement forging to Qiskit Nature 0.5.0 by @caleb-johnson in #83
- Add link from README to release notes by @garrison in #85
- General cleanup ef by @caleb-johnson in #133
- Fix importlib deprecation warning by @garrison in #134
- Prepare 0.1.0 release by @garrison in #129
New Contributors
- @pemmaras made their first contribution in #69
- @dependabot made their first contribution in #77
- @psschwei made their first contribution in #122
Full Changelog: 0.0.0...0.1.0