Skip to content
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

Leverage Rust circuit sequence construction for OneQubitEulerDecomposer #9583

Merged
merged 5 commits into from
Mar 17, 2023

Commits on Mar 3, 2023

  1. Leverage Rust circuit sequence construction for OneQubitEulerDecomposer

    This commit is a follow-up to Qiskit#9578 which added a rust implementation
    of the second half of the single qubit euler decomposition routines and
    leveraged them for the Optimize1qGatesDecomposition transpiler pass.
    With that PR the Optimize1qGatesDecomposition no longer was dependent on
    the OneQubitEulerDecomposer class. This commit continues from that PR
    and updates the OneQubitEulerDecomposer to leverage the same Rust
    implementation internally. Calling a decomposer object will internally
    call the rust function to generate a circuit sequence and then return
    either a QuantumCircuit or DAGCircuit (depending on the options).
    Similarly all the angle computation is done directly in Rust.
    mtreinish committed Mar 3, 2023
    Configuration menu
    Copy the full SHA
    0aab5ae View commit details
    Browse the repository at this point in the history
  2. Add missing atol clamping to mod_2pi

    The python version of the OneQubitEulerDecomposer class had atol
    clamping on it's output from mod_2pi, when this function was ported to
    rust this was not included. At the time it was because nothing set the
    atol parameter when calling mod_2pi (the angle calculation in Qiskit#9185 did
    not have atol and the expansion to construct circuits for
    Optimize1qGatesDecomposition always used the default value). However,
    now that we're expanding OneQubitEulerDecomposer to internally do all
    the calculations in rust we need to support an adjustable atol which
    includes the missing endpoint clamping in mod_2pi. This commit adds this
    missing functionality to the function.
    mtreinish committed Mar 3, 2023
    Configuration menu
    Copy the full SHA
    5f71cd8 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2023

  1. Configuration menu
    Copy the full SHA
    d668a0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bcf0546 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    64a59ee View commit details
    Browse the repository at this point in the history