pub struct LindladSimulator { /* private fields */ }
Expand description
Lindblad master equation simulator for open quantum systems
Implementations§
Source§impl LindladSimulator
impl LindladSimulator
Sourcepub fn with_scirs2_backend(self) -> Result<Self>
pub fn with_scirs2_backend(self) -> Result<Self>
Initialize with SciRS2 backend
Sourcepub fn set_density_matrix(&mut self, rho: Array2<Complex64>) -> Result<()>
pub fn set_density_matrix(&mut self, rho: Array2<Complex64>) -> Result<()>
Set initial density matrix
Sourcepub fn from_state_vector(
&mut self,
psi: &ArrayView1<'_, Complex64>,
) -> Result<()>
pub fn from_state_vector( &mut self, psi: &ArrayView1<'_, Complex64>, ) -> Result<()>
Initialize from pure state vector
Sourcepub fn add_lindblad_operator(&mut self, operator: LindladOperator) -> Result<()>
pub fn add_lindblad_operator(&mut self, operator: LindladOperator) -> Result<()>
Add Lindblad operator
Sourcepub fn set_time_step(&mut self, dt: f64)
pub fn set_time_step(&mut self, dt: f64)
Set time step for integration
Sourcepub fn set_integration_method(&mut self, method: IntegrationMethod)
pub fn set_integration_method(&mut self, method: IntegrationMethod)
Set integration method
Sourcepub fn evolve(&mut self, total_time: f64) -> Result<EvolutionResult>
pub fn evolve(&mut self, total_time: f64) -> Result<EvolutionResult>
Evolve system for given time
Sourcepub fn get_density_matrix(&self) -> &Array2<Complex64>
pub fn get_density_matrix(&self) -> &Array2<Complex64>
Get current density matrix
Auto Trait Implementations§
impl Freeze for LindladSimulator
impl !RefUnwindSafe for LindladSimulator
impl Send for LindladSimulator
impl Sync for LindladSimulator
impl Unpin for LindladSimulator
impl !UnwindSafe for LindladSimulator
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.