Comparison Spaces
The idea of a comparison space is to have a space $Y$ and a map $\Gamma \rightarrow Y$ such that the maps
$H_1( O_r(\gamma) \rightarrow Y_r)$
yield a meaningful classifier for a cycle in the thickning of $\gamma$. Currently, only static spaces $Y$ are supported.
Comparison Space Interface
The comparison space interface is defined by:
abstract type AbstractComparisonSpace endThe following methods are required:
betti_1(cs): Returns the first Betti number of the comparison space.map_cycle(cs, points, simplices, coeffs): Returns a vector of lengthbetti_1(cs)representing the image of the cycle mapped to the comparison space.
Cubical Comparison Space
Cubical comparison spaces are comparison spaces which are cubical complexes. We implemented cubical comparison spaces in space alone and in the unit tangent bundle. Furthermore, we provide an intereface which can be extended, e.g. to support different domains or periodic boundaries.
Interface
The interface for cubical comparison spaces is defined by:
abstract type AbstractCubicalComparisonSpace <: AbstractComparisonSpace endIt assumes that a cubical acyclic carrier (i.e. a subtype of AbstractCubicalAcyclicCarrier) is used to map the cycle.
The following methods are required:
edge_boxes(cs, p1, p2): Compute the sequence of boxes covering the edge between pointsp1andp2.carrier(cs): Returns the cubical acyclic carrier.betti_1(comparison_space): Returns the first Betti number of the comparison space.
The implementation of map_cycles for AbstractCubicalComparisonSpaces does the following:
- For each edge:
- Compute the boxes which it intersects (using
edge_boxes). - Use the carrier from
carrier(cs)to get a 1-chain in the comparison space.
- Compute the boxes which it intersects (using
- Sum and return the 1-chains.
CubicalComparisonSpace and SBCubicalComparisonSpace
We provide two implementations of cubical comparison spaces:
CubicalComparisonSpace: The cubes are assumed to cover the data in space only.SBCubicalComparisonSpace: The cubes are assumed to cover the data in the unit tangent bundle
Acyclic Carrier Interface
The logic of representing cubical complexes is separated from the logic of the inclusion map. Currently, only a Vietoris–Rips type implementation is supported.
Sampleable Trajectory
Under Construction.