DDogleg Numerics

DDogleg Numerics is a high performance Java library for non-linear optimization, clustering, robust model fitting, polynomial root finding, sorting, and more. The API is designed to be user to use, without excessive abstraction often found in other libraries. The user is provided with the capability to have tight control over memory and CPU usage. Source code is publicly available and has been released under and Apache 2.0 license.

Latest Version v0.7
Released September 18, 2015
Source Code GitHub
License Apache 2.0


  • Unconstrained minimization: Quasi-Newton BFGS, linear search More94 (MINPACK-2), line search Fletcher 86
  • Unconstrained least-squares: Levenberg-Marquardt, Levenberg, and trust-region (dogleg)
  • Polynomial root finding: Sturm sequence, Eigenvalue Decomposition, and iterative root refinement.
  • Robust Model Fitting: RANSAC, LMedS, and some strange one.
  • Nearest Neighbor: Exhaustive, K-D Trees, Best-Bin-First K-D Trees, Random Forest, VpTree
  • Sorting: Shell Sort, Quick Sort, and Quick Select.
  • Combinatorics: Set combinations and permutations.
  • Clustering: K-Means and Gaussian Mixture Models (GMM)
  • Arithmetic: Complex and Polynomial.

Indices and tables