# kodama

This crate provides a fast implementation of agglomerative hierarchical clustering.

This library is released under the MIT license.

The ideas and implementation in this crate are heavily based on the work of Daniel Müllner, and in particular, his 2011 paper, Modern hierarchical, agglomerative clustering algorithms. Parts of the implementation have also been inspired by his C++ library, `fastcluster`

. Müllner's work, in turn, is based on the hierarchical clustering facilities provided by MATLAB and SciPy.

The runtime performance of this library is on par with Müllner's `fastcluster`

implementation.

For a more detailed example of how to use hierarchical clustering, see the example in the API documentation.

### Documentation

### Usage

Add this to your `Cargo.toml`

:

```
[dependencies]
kodama = "0.1"
```

and this to your crate root:

`extern crate kodama;`

### C API and Go bindings

This repository includes `kodama-capi`

, which provides a C interface to hierarchical clustering.

This repository also includes Go FFI bindings via cgo to the aforementioned C API. Documentation for the Go library can be found at godoc.org/github.com/diffeo/kodama/go-kodama.