pub struct QMLCircuit { /* private fields */ }
Expand description
A parameterized quantum circuit for QML
Implementations§
Source§impl QMLCircuit
impl QMLCircuit
Sourcepub fn add_layer(&mut self, layer: Box<dyn QMLLayer>) -> QuantRS2Result<()>
pub fn add_layer(&mut self, layer: Box<dyn QMLLayer>) -> QuantRS2Result<()>
Add a layer to the circuit
Sourcepub fn parameters(&self) -> Vec<&Parameter>
pub fn parameters(&self) -> Vec<&Parameter>
Get all parameters in the circuit
Sourcepub fn set_parameters(&mut self, values: &[f64]) -> QuantRS2Result<()>
pub fn set_parameters(&mut self, values: &[f64]) -> QuantRS2Result<()>
Set all parameters in the circuit
Sourcepub fn compute_gradients(
&self,
state: &Array1<Complex64>,
loss_gradient: &Array1<Complex64>,
) -> QuantRS2Result<Vec<f64>>
pub fn compute_gradients( &self, state: &Array1<Complex64>, loss_gradient: &Array1<Complex64>, ) -> QuantRS2Result<Vec<f64>>
Compute gradients for all parameters
Auto Trait Implementations§
impl Freeze for QMLCircuit
impl !RefUnwindSafe for QMLCircuit
impl Send for QMLCircuit
impl Sync for QMLCircuit
impl Unpin for QMLCircuit
impl !UnwindSafe for QMLCircuit
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