Force Field X implements fixed charge and polarizable atomic multipole molecular mechanics
potentials, local and global optimization, molecular dynamics, free energy differences, etc, with
special support for crystal space groups.
The Atomic package has implementations of a double array that can be safely operated on by
multiple threads.
The clustering package provides hierarchical agglomerative clustering utilities,
including linkage strategies (single, complete, average, weighted), distance map
management, and supporting data structures and algorithms.
The Estimator package implements free energy estimators (e.g., Zwanzig, BAR/MBAR)
and related bootstrapping and reporting utilities.
The FFT package implements 1D and 3D FFTs of real or complex valued data, including SMP
parallelization of 3D transforms and convolution using the Parallel Java library.
The func1d package defines one-dimensional differentiable functions and utilities,
including an interface for univariate functions and specific mappings (e.g.,
QuasiLinearThetaMap) used in lambda/theta transformations.
The Integrate package implements 1D numerical integration.
The Math package implements complex numbers, a software square root, and vector operations.
The Multipole package computes derivatives of 1/|r| via recursion to arbitrary order using
Cartesian multipoles in either a global frame or a quasi-internal frame.
The Optimization package implements the limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
algorithm for large-scale multidimensional unconstrained optimization problems.
The Quickhull package provides a 3D convex hull implementation and supporting
data structures (faces, half-edges, vertices, points and vectors).
The Special package implements special functions including the complex error function (Erf) and
the modified Bessel functions.
The Spline package implements implements B-splines and Tricubic splines.
The Switching package implements univariate switching functions.