pub trait Integrable {
type Point: Tensor;
type Increment: Tensor;
// Required method
fn reconstruct(
base: &Self::Point,
increment: &Self::Increment,
) -> Result<Self::Point, TensorError>;
// Provided method
fn dexpinv(
_sigma: &Self::Increment,
increment: Self::Increment,
) -> Self::Increment { ... }
}Expand description
The geometry of one integrated state field: how an increment advances the state.
Self::Increment is an element of the field’s tangent space (its Lie algebra
for a group-valued field). It equals Self::Point for a flat field, but not
in general — e.g. F_p is a Reference → Intermediate map while its algebra
element D_p Δt maps Intermediate → Intermediate.
Required Associated Types§
Sourcetype Increment: Tensor
type Increment: Tensor
The tangent/algebra element that advances a Self::Point.
Required Methods§
Sourcefn reconstruct(
base: &Self::Point,
increment: &Self::Increment,
) -> Result<Self::Point, TensorError>
fn reconstruct( base: &Self::Point, increment: &Self::Increment, ) -> Result<Self::Point, TensorError>
Advances base by increment.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".