Skip to content

Qiskit Fermions 0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Aug 12:14
· 10 commits to main since this release
0.1.0
63d4b24

What's Changed

  • Deploy docs via Github Action by @mrossinek in #10
  • Assorted cleanups by @mrossinek in #15
  • build(deps): bump git2 from 0.20.3 to 0.20.4 by @dependabot[bot] in #17
  • build(deps): bump regex from 1.12.2 to 1.12.3 by @dependabot[bot] in #18
  • Measure and report code coverage by @mrossinek in #16
  • ci: use PEP 735 dependency groups by @mrossinek in #19
  • Lint during CI by @mrossinek in #20
  • Run tests in CI across supported platforms by @mrossinek in #21
  • fix: replace zero-length arrays with NULL pointers by @mrossinek in #25
  • ci: fix python version installed in development tests by @mrossinek in #28
  • ci: enable macos development tests by @mrossinek in #26
  • refactor: leverage new in-place arithmetics with QkObs by @mrossinek in #30
  • ci: treat clippy warnings as errors when linting by @mrossinek in #34
  • refactor: remove useless ExitCode's from C API by @mrossinek in #37
  • ci: replace pytest-doctest with sybil by @mrossinek in #36
  • docs: fix rendering of doctests by @mrossinek in #38
  • refactor: rename fermionic indices to modes by @mrossinek in #40
  • docs: fix left-over mentions of indices by @mrossinek in #41
  • build(deps-dev): bump ruff from 0.14.14 to 0.15.4 by @dependabot[bot] in #45
  • build(deps): bump actions/upload-artifact from 6 to 7 in the github_actions group by @dependabot[bot] in #44
  • Operator mode relabeling functions by @mrossinek in #32
  • build(deps): bump pyo3-stub-gen from 0.17.2 to 0.19.0 by @dependabot[bot] in #35
  • fix: ensure clang can find qiskit.h by @mrossinek in #47
  • Givens decompositon by @mrossinek in #48
  • Minor lint improvements by @mrossinek in #49
  • build(deps): bump actions/deploy-pages from 4 to 5 in the github_actions group by @dependabot[bot] in #51
  • build(deps): bump pyo3-stub-gen from 0.19.0 to 0.20.0 by @dependabot[bot] in #52
  • [Python] initial circuit and transpiler modules by @mrossinek in #53
  • build(deps-dev): bump mypy from 1.19.1 to 1.20.0 by @dependabot[bot] in #62
  • build(deps-dev): bump ruff from 0.15.4 to 0.15.8 by @dependabot[bot] in #63
  • build(deps): bump nalgebra from 0.34.1 to 0.34.2 by @dependabot[bot] in #65
  • Operator groups by @mrossinek in #60
  • Various improvements to the installation process by @mrossinek in #67
  • upgrade pyo3-stub-gen by @mrossinek in #64
  • ci: enable windows development tests by @mrossinek in #24
  • ci: use pip install --no-build-isolation by @mrossinek in #71
  • Test against multiple Qiskit versions by @mrossinek in #69
  • build(deps): bump actions/upload-pages-artifact from 4 to 5 in the github_actions group by @dependabot[bot] in #72
  • fix: the majorana_to_fermion encoding logic by @mrossinek in #74
  • build(deps): bump rayon from 1.11.0 to 1.12.0 by @dependabot[bot] in #75
  • fix: correct order of operations inside majorana <> fermion mapping by @mrossinek in #79
  • feat: implement right-multiplication for operators by @mrossinek in #80
  • feat: add the sandwich argument to FermionOperator.normal_ordered by @mrossinek in #81
  • fix: also check rust formatting during linting by @mrossinek in #82
  • feat: implements the InitializeModes fermionic gate by @mrossinek in #83
  • feat: implements the OrbitalRotation gate by @mrossinek in #84
  • build(deps): bump pyo3-stub-gen from 0.22.1 to 0.22.2 by @dependabot[bot] in #85
  • build(deps-dev): update breathe requirement from >=4.35.0 to >=4.36.0 by @dependabot[bot] in #86
  • build(deps-dev): update toml requirement from >=0.9.6 to >=0.10.2 by @dependabot[bot] in #87
  • feat: add a Python-level OperatorTrait protocol by @mrossinek in #91
  • Provide read-only access to internal operator data structures by @mrossinek in #43
  • feat: allow ascending index order in MajoranaOperator.normal_ordered by @mrossinek in #92
  • Implement a decomposition for the Evolution gate by @mrossinek in #93
  • refactor: make num_qubits in EvolutionSynthesis flexible by @mrossinek in #94
  • feat: formalize the staged pass manager by @mrossinek in #95
  • feat: QDrift Trotterization optimization by @mrossinek in #97
  • docs: update SqDRIFT tutorial by @mrossinek in #98
  • MajoranaAction str by @MIWdlB in #100
  • Rename Fermion to Fermionic in circuits and transpiler modules by @MIWdlB in #99
  • feat: update FermionOperator printing by @mrossinek in #101
  • Fermionic mode ordering optimization by @spiccinelli in #29
  • RelabelModes optimization pass by @mrossinek in #102
  • Restructure documentation around guides by @mrossinek in #107
  • build(deps): bump pyo3-stub-gen from 0.22.2 to 0.22.3 by @dependabot[bot] in #108
  • Remove unneeded git2 dependency by @mrossinek in #112
  • Update index.rst with new guidelines by @abbycross in #111
  • build(deps): bump nalgebra from 0.34.2 to 0.35.0 by @dependabot[bot] in #113
  • build(deps): bump cbindgen from 0.29.2 to 0.29.3 by @dependabot[bot] in #114
  • docs: reorder sections of circuits guide by @mrossinek in #116
  • Refactor global qargs handling by @mrossinek in #115
  • build(deps-dev): bump mypy from 1.20.0 to 2.1.0 by @dependabot[bot] in #120
  • test: remove unnecessary subclass pattern by @mrossinek in #125
  • fix: formatting of doctest by @mrossinek in #126
  • ci: generate pystubs before running Python testsuite by @mrossinek in #127
  • docs: improve installation verification tips by @mrossinek in #128
  • refactor: replace operator __str__ with __format__ by @mrossinek in #130
  • perf: improve performance of QDrift optimization pass by @mrossinek in #134
  • build(deps): bump regex from 1.12.3 to 1.12.4 by @dependabot[bot] in #137
  • build(deps): bump cbindgen from 0.29.3 to 0.29.4 by @dependabot[bot] in #138
  • fix: correctly compute mean of absolute coeffs during qDrift by @mrossinek in #141
  • Rename many_body_order to max_rank by @mrossinek in #142
  • ci: include --all-targets for clippy linting by @mrossinek in #143
  • build(deps): bump actions/checkout from 6 to 7 in the github_actions group by @dependabot[bot] in #145
  • build(deps): bump pyo3-stub-gen from 0.22.3 to 0.23.0 by @dependabot[bot] in #144
  • Edge-/Transfer-Vertex operators by @mrossinek in #123
  • feat: implement OperatorTrait.num_groups by @mrossinek in #149
  • Group terms while loading an FCIDump by @mrossinek in #151
  • fix: replace operator coefficients with identity during qDrift by @mrossinek in #154
  • Double factorization by @mrossinek in #146
  • Add operator iterator methods with groups by @mrossinek in #152
  • build(deps-dev): update pytest-cov requirement from >=7.0 to >=7.1.0 by @dependabot[bot] in #156
  • build(deps-dev): update pytest-subtests requirement from >=0.14 to >=0.15.0 by @dependabot[bot] in #158
  • build(deps-dev): update qiskit-sphinx-theme requirement from ~=2.0.0 to ~=2.1.0 by @dependabot[bot] in #160
  • Leverage qiskit-pyo3-ffi by @mrossinek in #150
  • Refactor the pass manager to Qiskit 2.5's Multi-IR transpiler pipeline by @mrossinek in #155
  • docs: include identity filtering in SqDRIFT guide by @mrossinek in #148
  • Remove the need for build-isolation by @mrossinek in #163
  • docs: improve RelabelModes explanation by @mrossinek in #161
  • hack: temporarily allow sphinx warnings by @mrossinek in #166
  • fix: increase minimum required Rust version by @mrossinek in #167
  • fix: preserve coefficient signs in QDriftTrotterization by @spiccinelli in #165
  • fix: ensure init docstrings are included by @mrossinek in #168
  • fix: lint after latest rust release by @mrossinek in #170
  • fix: qDrift optimization should preserve non-Evolution gates by @mrossinek in #171
  • feat: properly expose synthesis plugin via entry-points by @mrossinek in #169
  • Asorted docs improvements by @mrossinek in #172
  • fix: make operator __ne__ the negation of __eq__ by @mrossinek in #173
  • fix: raise on too-small num_qubits in jordan_wigner by @mrossinek in #174
  • ci: support and test Python 3.14 by @mrossinek in #175
  • build(deps): bump regex from 1.12.4 to 1.13.0 by @dependabot[bot] in #176
  • feat: add version information to the package by @mrossinek in #178
  • Fix relabel modes post processing by @mrossinek in #177
  • docs: refresh developer docs and drop a stale Makefile export by @mrossinek in #179
  • fix: faulty definition of Jordan-Wigner encoding in docs by @mrossinek in #180
  • fix: prefix cext FermionOperator term functions with qf_ferm_op_ by @mrossinek in #181
  • docs: clarify QISKIT_LIB/QISKIT_INCLUDE usage in CLAUDE.md by @mrossinek in #182
  • Term ordering by @mrossinek in #183
  • feat: add order_terms for user-controlled term ordering by @mrossinek in #184
  • Some refactoring by @mrossinek in #185
  • Proper stub typing by @mrossinek in #186
  • ci: greedily warn about unused type ignores by @mrossinek in #189
  • ffsim-based simulation engine by @mrossinek in #187
  • build(deps): bump regex from 1.13.0 to 1.13.1 by @dependabot[bot] in #192
  • fix: correct cross-spin sign for interleaved mixed FCI terms by @mrossinek in #196
  • feat(linalg): add rectangular Givens decomposition for Slater prep by @mrossinek in #197
  • Parallel InitializeModes via an assert-only validator by @mrossinek in #198
  • Fix the DAG corruption in F2QSynthesis by @mrossinek in #201
  • Adds the PrepareSlaterDeterminant gate by @mrossinek in #200
  • perf(transpiler): peel disjoint unit-orbitals in Slater synthesis by @mrossinek in #203
  • feat(transpiler): merge runs of consecutive OrbitalRotation gates by @mrossinek in #204
  • feat(transpiler): fuse InitializeModes + OrbitalRotation into PrepareSlaterDeterminant by @mrossinek in #205
  • fix(transpiler): compensate JW Z-string for interleaved peeled modes in Slater synthesis by @mrossinek in #206
  • feat(transpiler): block-split the mixing remainder in Slater synthesis by @mrossinek in #207
  • Improve coverage by @mrossinek in #208
  • Generalize jordan_wigner by @mrossinek in #209
  • refactor(ucj): parallelize diagonal Coulomb evolution via disjoint-support groups by @mrossinek in #211
  • refactor(transpiler): default Slater-prep synthesis to minimal two-qubit depth by @mrossinek in #212
  • build(deps): bump thiserror from 2.0.18 to 2.0.19 by @dependabot[bot] in #214
  • build(deps): bump actions/setup-python from 6 to 7 in the github_actions group by @dependabot[bot] in #215
  • feat(transpiler): let MapperFnEvolutionSynthesis choose the product formula by @mrossinek in #216
  • fix(docs): ensure determinism of SqDRIFT guide by @mrossinek in #218
  • docs(guides): expand the LUCJ guide by @mrossinek in #213
  • docs(guides): add a getting-started guide for SKQD Krylov circuits by @mrossinek in #217
  • docs: add citation information by @mrossinek in #220
  • ci: also lint python/*.py by @mrossinek in #221
  • fix(docs): seed transpiler to avoid flaky SWAP count by @mrossinek in #224
  • docs(guides): add an explanatory guide on the ffsim-backend by @mrossinek in #223
  • feat(transpiler): add filter_trivial to QDriftTrotterization by @mrossinek in #222
  • Introduce proper python Protocols by @mrossinek in #226
  • fix: ensure FermionicCircuit intances can be serialized by @mrossinek in #228
  • perf(transpiler): remove QDriftTrotterization's filter_diagonal_terms flag by @mrossinek in #230
  • Clean up URLs by @caleb-johnson in #231
  • perf: support lazy, index-based group lookup in split_out_groups by @mrossinek in #232
  • feat(operators): add has_groups() to the Python API by @mrossinek in #233
  • perf(operators): compute group weights natively for all operator types by @mrossinek in #235
  • refactor(circuit): make UCJ.__init__ take an explicit variant instead of inferring it by @mrossinek in #236
  • Variational UCJ by @mrossinek in #237
  • Variational UCC by @mrossinek in #238
  • refactor(circuit): remove norb from UCJ.__init__ by @mrossinek in #241
  • build(deps): bump coverallsapp/github-action from 2.3.7 to 2.3.8 in the github_actions group by @dependabot[bot] in #244
  • ci: only bump pip dependencies if necessary by @mrossinek in #250
  • build(deps-dev): bump ruff from 0.15.8 to 0.16.1 by @dependabot[bot] in #251
  • Fix the commutator helpers by @mrossinek in #252
  • Fix accidental term conjugation during OperatorTrait.ichop by @mrossinek in #253
  • Fix the adjoint of Edge/TransferVertexOperator by @mrossinek in #254
  • Fix EdgeVertexOperator.normal_ordered by @mrossinek in #255
  • perf(operators): stop copying operator buffers that are never read by @mrossinek in #256
  • Contract generators in Edge/Transfer normal_ordered by @mrossinek in #257
  • ci: add cibuildwheel config and wheel-build workflows by @mrossinek in #227
  • Speed up loading a FermionOperator from an FCIDump file by @mrossinek in #262
  • build(deps): bump pypa/cibuildwheel from 3.4.0 to 4.2.0 in the github_actions group by @dependabot[bot] in #263
  • ci: update rustup logic by @mrossinek in #264
  • ci: add release action by @mrossinek in #260
  • Rework Github actions by @mrossinek in #265
  • build: publish macOS x86_64 wheels by @mrossinek in #267
  • Build process fixes by @mrossinek in #268
  • ci: add caching to reduce runtime by @mrossinek in #269
  • fix(ci): install build where the wheel is actually built by @mrossinek in #270
  • Add a 1D Fermi-Hubbard guide by @mrossinek in #240
  • Add a 2D Fermi-Hubbard guide by @mrossinek in #242
  • docs: prepare for IQP migration by @mrossinek in #259
  • ci: host browsable documentation previews on GitHub Pages by @mrossinek in #271
  • fix(ci): do not fail docs preview cleanup when it does not exist by @mrossinek in #273
  • Prepare 0.1 release by @mrossinek in #274

New Contributors

Full Changelog: https://github.com/Qiskit/qiskit-fermions/commits/0.1.0