GriSPy (Grid Search in Python)
GriSPy is a regular grid search algorithm for quick nearest-neighbor lookup.
This class indexes a set of k-dimensional points in a regular grid providing a fast aproach for nearest neighbors queries. Optional periodic boundary conditions can be provided for each axis individually.
GriSPy has the following queries implemented:
- bubble_neighbors: find neighbors within a given radius. A different radius for each centre can be provided.
- shell_neighbors: find neighbors within given lower and upper radius. Different lower and upper radius can be provided for each centre.
- nearest_neighbors: find the nth nearest neighbors for each centre.
And the following method is available:
- set_periodicity: define the periodicity conditions.
Requirements
You need Python 3.6 or later to run GriSPy. You can have multiple Python versions (2.x and 3.x) installed on the same system without problems.
Standard Installation
GriSPy is available at PyPI. You can install it via the pip command
$ pip install grispy
Development Install
Clone this repo and then inside the local directory execute
$ pip install -e .
Citation
If you use GriSPy in a scientific publication, we would appreciate citations to the following paper:
Chalela, M., Sillero, E., Pereyra, L., García, M. A., Cabral, J. B., Lares, M., & Merchán, M. (2019). GriSPy: A Python package for Fixed-Radius Nearest Neighbors Search. arXiv preprint arXiv:1912.09585.
Bibtex
@article{
chalela2019grispy,
title={GriSPy: A Python package for Fixed-Radius Nearest Neighbors Search},
author={
Chalela, Martin and Sillero, Emanuel and Pereyra,
Luis and Garc{\'\i}a, Mario Alejandro and Cabral,
Juan B and Lares, Marcelo and Merch{\'a}n, Manuel},
journal={arXiv preprint arXiv:1912.09585},
year={2019}
}
Full-text: https://ui.adsabs.harvard.edu/abs/2019arXiv191209585C/abstract
Authors
Martin Chalela (E-mail: tinchochalela@gmail.com), Emanuel Sillero, Luis Pereyra and Alejandro Garcia