Skip to content

nearest

k-d trees and exact nearest-neighbour search.

Status: planned (wave 2). There is no repository and no code yet, and nearest is a working name. These pages describe the plan, not a release.

k-d trees and exact nearest-neighbour search.

What it will provide

searchexact nearest neighbours and k nearest neighbours in low dimension
facadea MATLAB-style knnsearch API over go-ndarray

References

The algorithms and the theory the package will start from, as the roadmap’s bibliography lists them:

ReferenceCite
Bentley, Multidimensional binary search trees used for associative searching, CACM 18(9):509-517, 1975doi:10.1145/361002.361007

Reference implementations and licences

What exists, under which licence, and what that allows:

ImplementationLicence and use
gonum/gonum spatial/kdtree and vptreeBSD-3-Clause; to be adopted behind the facade, not rewritten (https://github.com/gonum/gonum)
SciPy cKDTreeBSD-3-Clause; the oracle

GPL, LGPL, AGPL and non-free code is never ported: it is only run as an oracle, as an external program.

How it will be validated

  • Index sets exactly equal to a brute-force search, ties broken by index, and to the oracle’s.

Depends on

gonum and go-ndarray.

Where the plan lives

PLAN.md, STATUS.md and the bibliography in the go-scikit roadmap.

Created on by tannevaled

Modified on by tannevaled