pub struct Hnn { /* private fields */ }Expand description
A Hamiltonian network H_θ(q, p) (two inputs, one scalar output).
Implementations§
Source§impl Hnn
impl Hnn
Sourcepub fn new(hidden: usize, seed: u64) -> Self
pub fn new(hidden: usize, seed: u64) -> Self
A Hamiltonian network with the given hidden width.
Sourcepub fn hamiltonian(&self, q: f64, p: f64) -> f64
pub fn hamiltonian(&self, q: f64, p: f64) -> f64
The learned Hamiltonian (energy) at a phase point.
Sourcepub fn field(&self, q: f64, p: f64) -> (f64, f64)
pub fn field(&self, q: f64, p: f64) -> (f64, f64)
The learned dynamics (q̇, ṗ) = (∂H/∂p, −∂H/∂q) at a phase point.
Sourcepub fn step_rk4(&self, q: f64, p: f64, dt: f64) -> (f64, f64)
pub fn step_rk4(&self, q: f64, p: f64, dt: f64) -> (f64, f64)
One RK4 rollout step of the learned dynamics.
Auto Trait Implementations§
impl Freeze for Hnn
impl RefUnwindSafe for Hnn
impl Send for Hnn
impl Sync for Hnn
impl Unpin for Hnn
impl UnsafeUnpin for Hnn
impl UnwindSafe for Hnn
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<T, U> Imply<T> for U
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<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.