pub struct MultiWalkerQuantumWalk { /* private fields */ }
Expand description
Multi-walker quantum walk for studying entanglement and correlations
Implementations§
Source§impl MultiWalkerQuantumWalk
impl MultiWalkerQuantumWalk
Sourcepub fn initialize_positions(
&mut self,
positions: &[usize],
) -> QuantRS2Result<()>
pub fn initialize_positions( &mut self, positions: &[usize], ) -> QuantRS2Result<()>
Initialize walkers at specific positions
Sourcepub fn initialize_entangled_bell_state(
&mut self,
pos1: usize,
pos2: usize,
) -> QuantRS2Result<()>
pub fn initialize_entangled_bell_state( &mut self, pos1: usize, pos2: usize, ) -> QuantRS2Result<()>
Initialize in entangled superposition
Sourcepub fn step_independent(&mut self)
pub fn step_independent(&mut self)
Perform one step (simplified version - each walker evolves independently)
Sourcepub fn marginal_probabilities(&self, walker_idx: usize) -> Vec<f64>
pub fn marginal_probabilities(&self, walker_idx: usize) -> Vec<f64>
Get marginal probability distribution for a specific walker
Sourcepub fn entanglement_entropy(&self) -> f64
pub fn entanglement_entropy(&self) -> f64
Calculate entanglement entropy between walkers
Auto Trait Implementations§
impl Freeze for MultiWalkerQuantumWalk
impl RefUnwindSafe for MultiWalkerQuantumWalk
impl Send for MultiWalkerQuantumWalk
impl Sync for MultiWalkerQuantumWalk
impl Unpin for MultiWalkerQuantumWalk
impl UnwindSafe for MultiWalkerQuantumWalk
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