TimetricSpace

Trait TimetricSpace 

Source
pub trait TimetricSpace: Sync {
    // Required methods
    fn dim(&self) -> usize;
    fn ftau(&self, t_from: f64, p_from: &Point, p_to: &Point) -> f64;
    fn btau(&self, t_to: f64, p_from: &Point, p_to: &Point) -> f64;
    fn rho(&self, p1: &Point, p2: &Point) -> f64;
    fn alpha(&self) -> f64;
    fn beta(&self) -> f64;
    fn make_rc_anchors(&self, anchor: &Point, radius: f64) -> Vec<Point>;
}
Expand description

Time-dependent-metric (timetric) space.

F-timetric. Let X be a non-empty set and τ be a nonnegative function defined on ℝ×X×X that satisfies the following axioms:

  1. Forward reflexivity: for any t ∊ ℝ: τ(t, x, y) = 0 if and only if x = y,

  2. Forward timed triangle inequality: for any t ∊ ℝ and any x, y, z ∊ X: τ(t, x, y) ≤ τ(t, x, z) + τ(t + τ(t, x, z), z, y).

Then (X, τ) is called an f-timetric space.

B-timetric. Let X be a non-empty set and τ̅ be a nonnegative function defined on ℝ×X×X that satisfies the following axioms:

  1. Backward reflexivity: for any t ∊ ℝ: τ̅(t, x, y) = 0 if and only if x = y,

  2. Backward timed triangle inequality: for any t ∊ ℝ and any x, y, z ∊ X: τ̅(t, x, y) ≤ τ̅(t, z, y) + τ̅(t - τ̅(t, z, y), x, z).

Then (X, τ̅) is called a b-timetric space.

Required Methods§

Source

fn dim(&self) -> usize

How many coordinates a point of the space has.

Source

fn ftau(&self, t_from: f64, p_from: &Point, p_to: &Point) -> f64

Forward timetric τ: time required for sound wave that was emitted in p_from at the instant t_from to propagate to p_to.

Source

fn btau(&self, t_to: f64, p_from: &Point, p_to: &Point) -> f64

Backward timetric τ̅: time required for sound wave that was emitted in p_from to propagate to p_to and reach it at the instant t_to.

Source

fn rho(&self, p1: &Point, p2: &Point) -> f64

A metric equivalent to ψ̅(x, y),

where the metric ψ̅(x, y) = max{φ̅(x, y), φ̅(y, x)}

and the quasi-metric φ̅(x, y) = sup{t ∊ ℝ}τ̅(t, x, y)

Source

fn alpha(&self) -> f64

ψ̅(x, y) ≥ α · ρ(x, y)

Source

fn beta(&self) -> f64

ψ̅(x, y) ≤ β · ρ(x, y)

Source

fn make_rc_anchors(&self, anchor: &Point, radius: f64) -> Vec<Point>

Anchors of coverands of radius/2 that cover the coverand with anchor anchor of radius.

Implementors§