pub struct GPUQuantumSolver {
pub device_id: usize,
pub memory_allocation: usize,
pub parallel_strategy: QuantumParallelStrategy,
pub max_qubits: usize,
pub memory_manager: GPUMemoryManager,
}Expand description
GPU-accelerated quantum solver for large quantum systems
Fields§
§device_id: usizeGPU device identifier
memory_allocation: usizeMemory allocation for quantum states
parallel_strategy: QuantumParallelStrategyParallelization strategy
max_qubits: usizeNumber of qubits that can be handled
memory_manager: GPUMemoryManagerGPU memory manager
Implementations§
Source§impl GPUQuantumSolver
impl GPUQuantumSolver
Sourcepub fn evolve_quantum_state(
&mut self,
initial_state: &Array1<Complex64>,
hamiltonian: &Array2<Complex64>,
time_step: f64,
n_steps: usize,
) -> Result<Array1<Complex64>>
pub fn evolve_quantum_state( &mut self, initial_state: &Array1<Complex64>, hamiltonian: &Array2<Complex64>, time_step: f64, n_steps: usize, ) -> Result<Array1<Complex64>>
Solve quantum system evolution on GPU
Sourcepub fn apply_quantum_gate(
&self,
state: &Array1<Complex64>,
gate_matrix: &Array2<Complex64>,
target_qubits: &[usize],
) -> Result<Array1<Complex64>>
pub fn apply_quantum_gate( &self, state: &Array1<Complex64>, gate_matrix: &Array2<Complex64>, target_qubits: &[usize], ) -> Result<Array1<Complex64>>
Apply quantum gate using GPU acceleration
Sourcepub fn measure_probabilities(
&self,
state: &Array1<Complex64>,
) -> Result<Array1<f64>>
pub fn measure_probabilities( &self, state: &Array1<Complex64>, ) -> Result<Array1<f64>>
Measure quantum state probabilities using GPU
Sourcepub fn get_memory_stats(&self) -> HashMap<String, usize>
pub fn get_memory_stats(&self) -> HashMap<String, usize>
Get GPU memory usage statistics
Trait Implementations§
Source§impl Clone for GPUQuantumSolver
impl Clone for GPUQuantumSolver
Source§fn clone(&self) -> GPUQuantumSolver
fn clone(&self) -> GPUQuantumSolver
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GPUQuantumSolver
impl RefUnwindSafe for GPUQuantumSolver
impl Send for GPUQuantumSolver
impl Sync for GPUQuantumSolver
impl Unpin for GPUQuantumSolver
impl UnwindSafe for GPUQuantumSolver
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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