pub trait RotationTwo<T: Config> {
Show 19 methods
// Required method
fn rotate_2(
&mut self,
axis_a: [u8; 2],
axis_b: [u8; 2],
a: usize,
b: usize,
theta: T::Coeff,
);
// Provided methods
fn rxx(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn rxx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn rxy(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn rxy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn rxz(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn rxz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn ryx(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn ryx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn ryy(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn ryy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn ryz(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn ryz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn rzx(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn rzx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn rzy(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn rzy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
fn rzz(&mut self, a: usize, b: usize, theta: impl Into<T::Coeff>) { ... }
fn rzz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>) { ... }
}Expand description
Two-qubit Pauli rotations, generated by P_a ⊗ P_b for any pair of
non-identity Paulis. Provides the named convenience methods
rxx, rxy, …, rzz on top of the generic rotate_2.
Required Methods§
Provided Methods§
Sourcefn rxx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn rxx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [rxx].
Sourcefn rxy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn rxy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [rxy].
Sourcefn rxz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn rxz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [rxz].
Sourcefn ryx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn ryx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [ryx].
Sourcefn ryy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn ryy_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [ryy].
Sourcefn ryz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn ryz_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [ryz].
Sourcefn rzx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
fn rzx_many(&mut self, pairs: &[(usize, usize)], theta: impl Into<T::Coeff>)
Explicit batched form of [rzx].
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".