pub struct SciRS2KernelAdapter { /* private fields */ }
Expand description
Enhanced SciRS2 Kernel Adapter with optimized quantum operations
Implementations§
Source§impl SciRS2KernelAdapter
impl SciRS2KernelAdapter
Sourcepub fn with_config(config: SciRS2GpuConfig) -> Self
pub fn with_config(config: SciRS2GpuConfig) -> Self
Create with custom configuration
Trait Implementations§
Source§impl GpuKernel for SciRS2KernelAdapter
impl GpuKernel for SciRS2KernelAdapter
Source§fn apply_single_qubit_gate(
&self,
state: &mut dyn GpuBuffer,
gate_matrix: &[Complex64; 4],
qubit: QubitId,
n_qubits: usize,
) -> QuantRS2Result<()>
fn apply_single_qubit_gate( &self, state: &mut dyn GpuBuffer, gate_matrix: &[Complex64; 4], qubit: QubitId, n_qubits: usize, ) -> QuantRS2Result<()>
Apply a single-qubit gate
Source§fn apply_two_qubit_gate(
&self,
state: &mut dyn GpuBuffer,
gate_matrix: &[Complex64; 16],
control: QubitId,
target: QubitId,
n_qubits: usize,
) -> QuantRS2Result<()>
fn apply_two_qubit_gate( &self, state: &mut dyn GpuBuffer, gate_matrix: &[Complex64; 16], control: QubitId, target: QubitId, n_qubits: usize, ) -> QuantRS2Result<()>
Apply a two-qubit gate
Source§fn apply_multi_qubit_gate(
&self,
state: &mut dyn GpuBuffer,
gate_matrix: &Array2<Complex64>,
qubits: &[QubitId],
n_qubits: usize,
) -> QuantRS2Result<()>
fn apply_multi_qubit_gate( &self, state: &mut dyn GpuBuffer, gate_matrix: &Array2<Complex64>, qubits: &[QubitId], n_qubits: usize, ) -> QuantRS2Result<()>
Apply a multi-qubit gate
Source§fn measure_qubit(
&self,
state: &dyn GpuBuffer,
qubit: QubitId,
_n_qubits: usize,
) -> QuantRS2Result<(bool, f64)>
fn measure_qubit( &self, state: &dyn GpuBuffer, qubit: QubitId, _n_qubits: usize, ) -> QuantRS2Result<(bool, f64)>
Measure a qubit
Source§fn expectation_value(
&self,
state: &dyn GpuBuffer,
observable: &Array2<Complex64>,
qubits: &[QubitId],
n_qubits: usize,
) -> QuantRS2Result<f64>
fn expectation_value( &self, state: &dyn GpuBuffer, observable: &Array2<Complex64>, qubits: &[QubitId], n_qubits: usize, ) -> QuantRS2Result<f64>
Calculate expectation value
Auto Trait Implementations§
impl Freeze for SciRS2KernelAdapter
impl RefUnwindSafe for SciRS2KernelAdapter
impl Send for SciRS2KernelAdapter
impl Sync for SciRS2KernelAdapter
impl Unpin for SciRS2KernelAdapter
impl UnwindSafe for SciRS2KernelAdapter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more