## Software

## primate

[example][intro][overview]Provides estimators of

*trace*or*vector*-based quantities derived from matrix functions, i.e. matrices whose spectra are parameterized by functions.$f(A) \triangleq Uf(\Lambda)U, \quad f : [a,b] \to \mathbb{R}$

This definition is quite general in that different parameterizations of $f$ produce a variety of spectral quantities, including e.g. the numerical rank, the log-determinant, the trace inverse, the Schatten norms, the trace of matrix exponentials, the eigencount, the spectral density, and so on.

Applications of matrix functions include characterizing folding in proteins, principal component regression, spectral clustering, Gaussian process likelihood estimation, counting triangles in distributed-memory networks, characterizing graph similarity, and deep neural loss landscape analysis.

## simplextree

[reference][quickstart][overview]*simplextree*is joint R / Python package that simplifies computation for general simplicial complexes of any dimension by providing pybind11 bindings to a Simplex Tree data structure implemented in C++17.Natively supports many tree operations, including insertions, removals, expansions, collapses, star/link enumerations, and various ordered traversals.

## dbscan

[vignette][doi]This R package provides a fast C++ (re)implementation of several density-based algorithms with a focus on the DBSCAN family for clustering spatial data, including DBSCAN, HDBSCAN, OPTICS/OPTICSXi, FOSC, Jarvis-Patrick clustering, SNN Clustering, and various Outlier Detection methods (LOF / GLOSH)

The implementations use the ANN libraries kd-tree data structure for faster k-nearest neighbor search, and are typically faster than the native R implementations (e.g., dbscan in package

`fpc`

), or the implementations in WEKA, ELKI and Python’s scikit-learn.