Arianna
Documentation for Arianna.
Arianna.AbstractEuclideanSystemArianna.AbstractRiemannianSystemArianna.AbstractSystemArianna.EuclideanSystem
Arianna.AbstractEuclideanSystem — Type
AbstractEuclideanSystemBase abstract type for Euclidean Hamiltonian systems. All Euclidean systems require a constant positive definite matrix corresponding to the metric on the unconstrained position space. Positive definiteness is enforced by requiring metric to be of type AbstractPDMat.
Arianna.AbstractRiemannianSystem — Type
AbstractRiemannianSystemBase abstract type for Riemannian systems.
Arianna.AbstractSystem — Type
AbstractSystemBase abstract type for Hamiltonian systems with energy H(q, p) = H₁(q) + H₂(q, p) where q – current position p – current momentum H₁ – energy term depending on state only H₂ – energy term depending on momentum and state (optionally)
In a standard Euclidean System, H₁ and H₂ correspond to potential energy and kinetic energy respectively. However, solving the Hamiltonian dynamics in more complex systems may benefit from a more flexible distinction between (state) and (momentum, state) energy components.
All abstract systems must have fields: neglogdens – function to calculate negative log density of the target function at the current position gradneglog_dens – function to calculate gradient of the negative log density of the target function at the current position
Arianna.EuclideanSystem — Type
EuclideanSystemComposite type for an (Unconstrained) Euclidean System, with kinetric energy of the form H₂(q, p) = ½ pᵀ M⁻¹ p where M is a constant positive definite matrix.