dtw alternatives and similar packages
Based on the "Algorithms" category.
Alternatively, view dtw alternatives based on common mentions on social networks and blogs.
-
arithmoi
Number theory: primes, arithmetic functions, modular computations, special sequences -
search-algorithms
Haskell library containing common graph search algorithms -
imj-animation
Monorepo for a multi-player game engine, and game examples -
lca
Improves the known complexity of online lowest common ancestor search to O(log h) persistently, and without preprocessing -
treeviz
Haskell library for visualizing algorithmic decomposition of computations. -
incremental-sat-solver
Simple, Incremental SAT Solving as a Haskell Library -
integer-logarithms
Integer logarithms, originally split from arithmoi package -
infinite-search
An implementation of Martin Escardo's exhaustively searchable sets in Haskell. -
graph-generators
A Haskell library for creating random Data.Graph instances using several pop -
nonlinear-optimization-ad
Several Haskell packages for numerical optimizations. -
primesieve
A collection of packages related to math, algorithms and science, in Haskell. -
edit-distance-vector
Calculate edit scripts and distances between Vectors. -
edit-distance-linear
Levenshtein edit distance in linear memory (also turns out to be faster than C++) -
dgim
:chart_with_upwards_trend: Implementation of the DGIM algorithm in Haskell. -
epanet-haskell
Call the EPANET toolkit via Haskell's Foreign Function Interface -
MIP
Libraries for reading/writing MIP problem files, invoking external MIP solvers, etc. in Haskell
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of dtw or a related project?
Popular Comparisons
README
This module implements dynamic time warping as described on Wikipedia
Additionally 'fastDtw' is implemented as described in the paper: "FastDTW: Toward Accurate Dynamic Time Warping in Linear Time and Space" by Stan Salvador and Philip Chan.
For further information see the documentation of the Data.DTW
module.
Example
>>> -- create two sample datasets
>>> let as = [ sin x | x <- [0,0.1..pi] ]
>>> let bs = [ sin (x+0.1) | x <- [0,0.1..pi] ]
>>> -- define a cost function between two datapoints
>>> let dist x y = abs (x-y)
>>> -- define a function that will half the size of a dataset (see below)
>>> let shrink xs = case xs of (a:b:cs) -> (a+b)/2 : shrink cs; a:[] -> [a]; [] -> []
>>> -- calculate the cost with fastDtw and dtwMemo for comparison
>>> cost $ fastDtw dist shrink 2 as bs :: Float
>>> 0.19879311
>>> cost $ dtwMemo (\x y -> abs (x-y)) as bs :: Float
>>> 0.19879311