mod neigh

module neigh

The neighborhood trait: state -> set-of-states. The neighborhood trait of the IISE manuscript: Neigh : S -> 2^S.

Traits

trait Neighborhood<T: Float>

A neighborhood relation on the state space.

IISE manuscript law L1 requires j in Neigh(i) <=> i in Neigh(j). Implementors override is_symmetric to advertise this. The conservative default is false.

Functions

fn contains(&self, i: ArrayView1<T>, j: ArrayView1<T>) -> bool

Returns true iff j is in the neighborhood of i.

fn is_symmetric(&self) -> bool

Witnesses L1: returns true iff the relation is symmetric.

Structs and Unions

struct BoxConstrained<T: Float>

Box-constrained neighborhood: j in Neigh(i) iff both i and j lie in the supplied Bounds. Symmetric by construction.

bounds: Bounds<T>

The hyperrectangle constraining the state space.

Implementations

impl<T: Float> BoxConstrained<T>

Functions

fn new(bounds: Bounds<T>) -> Self

Constructs a box-constrained neighborhood on the supplied Bounds.

Traits implemented

impl<T> Neighborhood<T> for BoxConstrained<T>
where
    T: Float + SampleUniform + Send + Sync + 'static,
    Bounds<T>: Send + Sync
impl sealed::Neighborhood for BoxConstrained<f64>
impl CertifiedNeighborhood<f64> for BoxConstrained<f64>
struct ContinuousR_n

Unconstrained neighborhood on R^dim: every same-dimension point is a neighbor of every other point.

dim: usize

Ambient dimension n.

Implementations

impl ContinuousR_n

Functions

fn new(dim: usize) -> Self

Constructs an unconstrained neighborhood on R^dim.

Traits implemented

impl<T: Float + Send + Sync> Neighborhood<T> for ContinuousR_n
impl sealed::Neighborhood for ContinuousR_n
impl<T: Float + Send + Sync> CertifiedNeighborhood<T> for ContinuousR_n