pub struct TensorNetwork { /* private fields */ }Expand description
A tensor network representation of a quantum state
Implementations§
Source§impl TensorNetwork
impl TensorNetwork
Sourcepub fn apply_gate(
&mut self,
gate_tensor: Tensor,
qubit_index: usize,
) -> QuantRS2Result<()>
pub fn apply_gate( &mut self, gate_tensor: Tensor, qubit_index: usize, ) -> QuantRS2Result<()>
Apply a single-qubit gate to the network
Sourcepub fn apply_two_qubit_gate(
&mut self,
gate_tensor: Tensor,
control_index: usize,
target_index: usize,
) -> QuantRS2Result<()>
pub fn apply_two_qubit_gate( &mut self, gate_tensor: Tensor, control_index: usize, target_index: usize, ) -> QuantRS2Result<()>
Apply a two-qubit gate to the network
Sourcepub fn contract_to_statevector(&self) -> QuantRS2Result<Vec<Complex64>>
pub fn contract_to_statevector(&self) -> QuantRS2Result<Vec<Complex64>>
Contract the entire network to produce a state vector
Trait Implementations§
Source§impl Clone for TensorNetwork
impl Clone for TensorNetwork
Source§fn clone(&self) -> TensorNetwork
fn clone(&self) -> TensorNetwork
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ContractableNetwork for TensorNetwork
impl ContractableNetwork for TensorNetwork
Source§fn contract_tensors(
&mut self,
tensor_id1: usize,
tensor_id2: usize,
) -> QuantRS2Result<usize>
fn contract_tensors( &mut self, tensor_id1: usize, tensor_id2: usize, ) -> QuantRS2Result<usize>
Contract two tensors in the network, returning the ID of the resulting tensor
Source§fn optimize_contraction_order(&mut self) -> QuantRS2Result<()>
fn optimize_contraction_order(&mut self) -> QuantRS2Result<()>
Optimize the contraction order of the network
Auto Trait Implementations§
impl Freeze for TensorNetwork
impl RefUnwindSafe for TensorNetwork
impl Send for TensorNetwork
impl Sync for TensorNetwork
impl Unpin for TensorNetwork
impl UnsafeUnpin for TensorNetwork
impl UnwindSafe for TensorNetwork
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.