The JavaPermutationTools (JPT) API provides Java classes for computation on permutations and sequences. The current release enables representing and generating permutations, implementations of a variety of permutation distance metrics, as well as sequence distance metrics. The sequence distance metrics support computing the distance between pairs of Strings, arrays of primitive values, as well as arrays of objects. More computation on permutations will be added in later releases.

The source code repository is hosted on GitHub, and includes the source code, example programs, as well as programs that reproduce results from published research papers that have either used this API or earlier unreleased versions of it. The source code is licensed under the GNU General Public License Version 3 (GPLv3).

For more information see the JavaPermutationTools website. Potential contributors, please see the source repository, and/or contact Vincent A. Cicirello.

Packages 
Package Description
org.cicirello.math
Collection of classes related to a variety of mathematical concepts.
org.cicirello.math.la
Collection of classes related to linear algebra.
org.cicirello.math.rand
Collection of classes related to random number generation.
org.cicirello.math.stats
Collection of classes related to statistics.
org.cicirello.permutations
Collection of classes related to representing and manipulating permutations.
org.cicirello.permutations.distance
Implementations of a variety of permutation distance measures.
org.cicirello.sequences
Classes that perform a variety of operations on sequences (such as arrays, etc).
org.cicirello.sequences.distance
Implementations of distance measures for general sequences of various forms, including Strings, arrays of primitive types, arrays of objects, etc.
org.cicirello.util
This package includes classes and interfaces that serve some useful utility purpose.