[−][src]Trait nyx_space::od::AutoDiffDynamics
A trait container to specify that given dynamics support linearization, and can be used for state transition matrix computation.
Associated Types
Loading content...Required methods
fn dual_eom(
&self,
t: f64,
state: &VectorN<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>
) -> (VectorN<f64, Self::STMSize>, MatrixMN<f64, Self::STMSize, Self::STMSize>) where
DefaultAllocator: Allocator<f64, Self::HyperStateSize> + Allocator<f64, Self::STMSize> + Allocator<f64, Self::STMSize, Self::STMSize> + Allocator<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>,
Owned<f64, Self::HyperStateSize>: Copy,
&self,
t: f64,
state: &VectorN<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>
) -> (VectorN<f64, Self::STMSize>, MatrixMN<f64, Self::STMSize, Self::STMSize>) where
DefaultAllocator: Allocator<f64, Self::HyperStateSize> + Allocator<f64, Self::STMSize> + Allocator<f64, Self::STMSize, Self::STMSize> + Allocator<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>,
Owned<f64, Self::HyperStateSize>: Copy,
Defines the equations of motion for Dual numbers for these dynamics.
Provided methods
fn compute(
&self,
t: f64,
state: &VectorN<f64, Self::STMSize>
) -> (VectorN<f64, Self::STMSize>, MatrixMN<f64, Self::STMSize, Self::STMSize>) where
DefaultAllocator: Allocator<f64, Self::HyperStateSize> + Allocator<f64, Self::STMSize> + Allocator<f64, Self::STMSize, Self::STMSize> + Allocator<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>,
Owned<f64, Self::HyperStateSize>: Copy,
&self,
t: f64,
state: &VectorN<f64, Self::STMSize>
) -> (VectorN<f64, Self::STMSize>, MatrixMN<f64, Self::STMSize, Self::STMSize>) where
DefaultAllocator: Allocator<f64, Self::HyperStateSize> + Allocator<f64, Self::STMSize> + Allocator<f64, Self::STMSize, Self::STMSize> + Allocator<Hyperdual<f64, Self::HyperStateSize>, Self::STMSize>,
Owned<f64, Self::HyperStateSize>: Copy,
Computes both the state and the gradient of the dynamics. These may be accessed by the related getters.