diff --git a/crates/accelerate/src/gates.rs b/crates/accelerate/src/gates.rs index 14214587ac73..749552302584 100644 --- a/crates/accelerate/src/gates.rs +++ b/crates/accelerate/src/gates.rs @@ -10,24 +10,24 @@ // copyright notice, and modified files need to carry a notice indicating // that they have been altered from the originals. -use num_complex::{Complex64, ComplexFloat}; +//use num_complex::{Complex64, ComplexFloat}; +use num_complex::Complex64; use ndarray::prelude::*; // For Complex64::zero() -use num_traits::Zero; +// use num_traits::Zero; +use qiskit_circuit::util::{c64, C_ZERO}; pub(crate) fn rz_matrix(theta: f64) -> Array2 { - let ilam2 = Complex64::new(0., 0.5 * theta); - array![ - [(-ilam2).exp(), Complex64::new(0., 0.)], - [Complex64::new(0., 0.), ilam2.exp()] - ] + let ilam2 = c64(0., 0.5 * theta); + array![[(-ilam2).exp(), C_ZERO], [C_ZERO, ilam2.exp()]] } pub(crate) fn rxx_matrix(theta: f64) -> Array2 { let theta2 = theta / 2.0; - let cos = Complex64::new(theta2.cos(), 0.0); - let isin = Complex64::new(0.0, theta2.sin()); - let cz = Complex64::zero(); +// let cos = c64::new(theta2.cos(), 0.0); + let cos = c64(theta2.cos(), 0.0); + let isin = c64(0.0, theta2.sin()); + let cz = C_ZERO; array![ [cos, cz, cz, -isin], [cz, cos, -isin, cz], @@ -40,7 +40,7 @@ pub(crate) fn ryy_matrix(theta: f64) -> Array2 { let theta2 = theta / 2.0; let cos = Complex64::new(theta2.cos(), 0.0); let isin = Complex64::new(0.0, theta2.sin()); - let cz = Complex64::zero(); + let cz = C_ZERO; array![ [cos, cz, cz, isin], [cz, cos, -isin, cz], diff --git a/crates/accelerate/src/lib.rs b/crates/accelerate/src/lib.rs index 9e391e0a9030..4c1a38f72aa2 100644 --- a/crates/accelerate/src/lib.rs +++ b/crates/accelerate/src/lib.rs @@ -44,6 +44,8 @@ pub mod two_qubit_decompose; pub mod uc_gate; pub mod utils; pub mod vf2_layout; +mod gates; +mod xx_decompose; mod rayon_ext; #[cfg(test)] diff --git a/crates/accelerate/src/two_qubit_decompose.rs b/crates/accelerate/src/two_qubit_decompose.rs index 92ad4724682f..1c2f050a8b97 100644 --- a/crates/accelerate/src/two_qubit_decompose.rs +++ b/crates/accelerate/src/two_qubit_decompose.rs @@ -46,6 +46,7 @@ use crate::euler_one_qubit_decomposer::{ }; use crate::utils; use crate::QiskitError; +use crate::gates::{rz_matrix}; use rand::prelude::*; use rand_distr::StandardNormal; @@ -296,10 +297,10 @@ fn ry_matrix(theta: f64) -> Array2 { array![[cos, -sin], [sin, cos]] } -fn rz_matrix(theta: f64) -> Array2 { - let ilam2 = c64(0., 0.5 * theta); - array![[(-ilam2).exp(), C_ZERO], [C_ZERO, ilam2.exp()]] -} +// fn rz_matrix(theta: f64) -> Array2 { +// let ilam2 = c64(0., 0.5 * theta); +// array![[(-ilam2).exp(), C_ZERO], [C_ZERO, ilam2.exp()]] +// } fn compute_unitary(sequence: &TwoQubitSequenceVec, global_phase: f64) -> Array2 { let identity = aview2(&ONE_QUBIT_IDENTITY); diff --git a/crates/accelerate/src/xx-decomposer/circuits.rs b/crates/accelerate/src/xx_decompose/circuits.rs similarity index 100% rename from crates/accelerate/src/xx-decomposer/circuits.rs rename to crates/accelerate/src/xx_decompose/circuits.rs diff --git a/crates/accelerate/src/xx-decomposer/decomposer.rs b/crates/accelerate/src/xx_decompose/decomposer.rs similarity index 100% rename from crates/accelerate/src/xx-decomposer/decomposer.rs rename to crates/accelerate/src/xx_decompose/decomposer.rs diff --git a/crates/accelerate/src/xx-decomposer/mod.rs b/crates/accelerate/src/xx_decompose/mod.rs similarity index 100% rename from crates/accelerate/src/xx-decomposer/mod.rs rename to crates/accelerate/src/xx_decompose/mod.rs diff --git a/crates/accelerate/src/xx-decomposer/utilities.rs b/crates/accelerate/src/xx_decompose/utilities.rs similarity index 100% rename from crates/accelerate/src/xx-decomposer/utilities.rs rename to crates/accelerate/src/xx_decompose/utilities.rs diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 6f581c2f9ab3..08226e8c879a 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,6 +1,6 @@ [toolchain] # Keep in sync with Cargo.toml's `rust-version`. -channel = "1.70" +# channel = "1.70" components = [ "cargo", "clippy",