Module lophat::algorithms
source · Expand description
Implementations of various algorithms for computing persistent homology.
Each algorithm is encapsulated in a struct and the main interface to these structs is the DecompositionAlgo
trait.
By providing appropriate options during construction, each algorithm can also maintain V in the R=DV decomposition.
Structs§
- Implements the parallel, lockfree algorithm introduced by Morozov and Nigmetov. Also able to employ the clearing optimisation of Bauer et al..
- Return type of
LockFreeAlgorithm
. - Implements a locking version of the parallel, lockfree algorithm introduced by Morozov and Nigmetov. Rather than using atomic pointers to store columns, each column is stored behind a
RwLock
. Also able to employ the clearing optimisation of Bauer et al.. - Return type of
LockingAlgorithm
. - Error type returned when attempting to query a column of V from a decomposition in which V was not maintained.
- Implements the standard left-to-right column additional algorithm of Edelsbrunner et al.. No optimisations have been implemented.
- Return type of
SerialAlgorithm
.
Traits§
- A struct implementing this trait represents the output of an R=DV decomposition of a matrix D and is typically constructed by
DecompositionAlgo::decompose
. - A struct implementing this trait implements an algorithm for computing the R=DV decomposition of a matrix D.