forked from Qiskit/qiskit
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump pyo3 from 0.16.5 to 0.16.6 #23
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.16.5 to 0.16.6. - [Release notes](https://github.com/pyo3/pyo3/releases) - [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md) - [Commits](PyO3/pyo3@v0.16.5...v0.16.6) --- updated-dependencies: - dependency-name: pyo3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
dependabot
bot
added
the
dependencies
Pull requests that update a dependency file
label
Aug 24, 2022
Looks like pyo3 is no longer updatable, so this is no longer needed. |
t-imamichi
pushed a commit
that referenced
this pull request
Mar 15, 2024
* Oxidize TwoQubitWeylDecomposition This commit is part 1 of migrating the default 2q unitary synthesis to leverage parallel rust described in Qiskit#8774, the eventual goal is to be able to run unitary synthesis in parallel for all the unitary matrices in a circuit in a single call from the `UnitarySynthesis` pass. This commit lays the initial groundwork for doing this by starting with the largest piece of the default 2q unitary synthesis code, the TwoQubitWeylDecomposition class. It migrates the entire class to be a pyclass in rust. There is still a Python subclass for it that handles the actual QuantumCircuit generation and also the string representations which are dependent on circuit generation. The goal of this is to keep the same basic algorithm in place but re-implement as-is in Rust as a common starting point for eventual improvements to the underlying algorithm as well as parallelizing the synthesis of multiple 2q unitary matrices. * Fix typo in closest_partial_swap() This commit fixes a typo the formula in the function. This is the same fix from Qiskit#11953. Co-authored-by: Shelly Garion <[email protected]> * Run black and lint * Fix potential imaginary component sign flip in determinant * Run cargo fmt * Simplify using numpy eigh example comment * Add missing checks to decompose_two_qubit_product_gate() * Use rng first trial from Python implementation To aid in debugging and rule out rng differences causing different results this commit switches the first iteration of the randomized loop to have hard coded values that are identical to what the rng in numpy was returning. It is very unlikely that this will have any impact because the specific random numbers used shouldn't matter, this is mostly to just rule it out as a possibility in debugging the remaining test failures. * Fix whitespace in error message * Fix assert check * Fix missing multiplier on specialized weyl gate * Fix various mistakes This commit fixes two fundamental issues in the code. The first is the rz and ry matrix were being incorrectly constructed for a given angle. This caused the specializations that were computing the 1q matrices in the decomposition based on a product with these gates' matrices to return invalid results. The second issue is for the MirrorControlledEquiv specialization had the angles backwards for computing the matrix of the rz gates used in the products for the 1q matrices: `K1l = K1l @ Rz(K1r)` and `K1r = K1r @ Rz(K1l)` not `K1l = K1l @ Rz(K1l)` and `K1r = K1r @ Rz(K1r)` This was a typo from the original transcription. * Add pickle serialization support for TwoQubitWeylDecomposition * Remove duplicate conjs increment * Fix fSim abmb equivalent specialization * Add specialized test class back * Use QiskitError for backwards compatibility * Add release note * Make explicit specialization private * Use explicit inheritance from general decomposition (#23) * Apply suggestions from code review * Use smallvec for circuit sequence params and qubits * Use const 2x2 identity array where possible * circuit() and weyl_gate don't need a mutable self * Remove unnecessary inline annotations * Rename Specializations enum Specialization * Add back specialize() method and deprecate * Reorganize Python/Rust split to wrap rust instead of subclass This commit reworks the handoff between python and rust space for the TwoQubitWeylDecomposition class. Previously the Python side TwoQubitWeylDecomposition was a subclass of the Rust struct/pyclass of the same name. This was originally done to deduplicate the the getters for the attributes. However, because of the overhead associated with some of the rust getters and needing to do some import normalization to a numpy array the deduplication wasn't worth the cost. * Remove unecessary allocations * Rename DEFAULT_ATOL to ANGLE_ZERO_EPSILON * Stop obsessing over -0 * Handle enum to int conversion as method * Cleanup decompose_two_qubit_product_gate() * Use a trait for trace_to_fid() * Use an enum instead of string for euler basis * Fix release note typo * Improve magic basis transformation functions Co-authored-by: Jake Lishman <[email protected]> * Remove eigh() util function * Revert unecessary changes to callers of TwoQubitWeylDecomposition * Restore debug logging and add test assertions for it * Update qiskit/synthesis/two_qubit/two_qubit_decompose.py Co-authored-by: Lev Bishop <[email protected]> * Add specialization to __str__ * Add previous specialized class docstrings as inline rust code comments * Rename fSim variants and suprress rustc warning about camel case * Update tests for correct specialization enum name * Expose specialization enum via private class attr and use for __repr__ --------- Co-authored-by: Shelly Garion <[email protected]> Co-authored-by: Jake Lishman <[email protected]> Co-authored-by: Jake Lishman <[email protected]> Co-authored-by: Lev Bishop <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bumps pyo3 from 0.16.5 to 0.16.6.
Release notes
Sourced from pyo3's releases.
Changelog
Sourced from pyo3's changelog.
Commits
4fdebfc
release: 0.16.6dde98a0
pin bumpalo30211a6
ui test fixes5c74ddf
clippy fixes7426aea
safety: abort on uncaught panics916abf6
Merge pull request #2522 from davidhewitt/capsule-soundness-backportc267ace
ci: fix nightly UI tests86740f9
ci: fix nightly ui tests96427ee
Use proper method for pinning MSRV minimal package versions1e8f6d9
Try fix hashbrown version on msrvDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)