geokmeans: A Collection of Fast, Exact and Eco-Friendly k-Means Clustering Algorithms

A collection of fast k-means clustering algorithms under a single, uniform interface. The core method is Geometric-k-means, a bound-free algorithm of Sharma et al. (2026) <doi:10.1007/s10994-025-06891-1> that uses geometry to restrict computation to the data points able to change clusters, substantially reducing distance computations and runtime while returning the same result as standard k-means. Also included are Lloyd's algorithm, Elkan, Hamerly, Annulus, Exponion, and Ball k-means. All algorithms are implemented in 'C++' via 'Rcpp' and 'RcppEigen' and return the final centroids, optional per-point cluster assignments, and computational statistics.

Version: 0.1.0
Imports: Rcpp
LinkingTo: Rcpp, RcppEigen
Suggests: testthat (≥ 3.0.0), knitr, rmarkdown
Published: 2026-06-22
DOI: 10.32614/CRAN.package.geokmeans (may not be active yet)
Author: Parichit Sharma [aut, cre, cph], Hasan Kurban [aut]
Maintainer: Parichit Sharma <parishar at iu.edu>
BugReports: https://github.com/parichit/Geometric-k-means/issues
License: GPL-3
URL: https://github.com/parichit/Geometric-k-means
NeedsCompilation: yes
SystemRequirements: C++17
Citation: geokmeans citation info
Materials: README, NEWS
CRAN checks: geokmeans results

Documentation:

Reference manual: geokmeans.html , geokmeans.pdf
Vignettes: Getting started with geokmeans (source, R code)

Downloads:

Package source: geokmeans_0.1.0.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): geokmeans_0.1.0.tgz, r-oldrel (arm64): geokmeans_0.1.0.tgz, r-release (x86_64): geokmeans_0.1.0.tgz, r-oldrel (x86_64): geokmeans_0.1.0.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=geokmeans to link to this page.