**permutation_distance**,
a MATLAB code which
estimates the expected value of the Ulam distance
between a pair of randomly selected permutations of the same order.

The computer code and data files made available on this web page are distributed under the MIT license

**permutation_distance** is available in
a MATLAB version.

annulus_distance, a MATLAB code which estimates the typical distance between a pair of points randomly selected inside a circular annulus.

ball_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in the unit ball in 3D.

circle_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected on the circumference of the unit circle in 2D.

cube_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in the unit cube in 3D.

cube_surface_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected on the surface of the unit cube.

disk_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in the unit disk in 2D.

ellipse_distance, a MATLAB code which computes the expected value of the distance between a pair of points randomly selected on the circumference of the ellipse (x/a)^2+(y/b)^2=1 in 2D.

hyperball_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in the unit hyperball in M dimensions.

hypercube_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in the M-dimensional unit hypercube.

hypercube_surface_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected on the surface of the unit hypercube in D dimensions.

hypersphere_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected on the unit hypersphere in M dimensions.

levenshtein_distance, a MATLAB code which returns the Levenshtein distance between two strings.

line_distance, estimates the expected value of the distance between a pair of points randomly selected in the unit line segment in 1D.

normal01_multivariate_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected from an isotropic standard normal distribution in M dimensions.

polygon_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected from a polygon in 2D.

sphere_distance, a MATLAB code which considers the problem of describing the typical value of the distance between a pair of points randomly selected on the surface of the unit sphere in 3D.

square_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in the unit square in 2D.

square_surface_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected on the surface of the unit square.

subset_distance, a MATLAB code which estimates the expected value of the Hamming distance between a pair of randomly selected subsets of an M set.

triangle_distance, a MATLAB code which estimates the expected value of the distance between a pair of points randomly selected in a triangle in 2D.

- permutation_ascending_subsequence.m, returns the longest ascending subsequence in a permutation.
- permutation_distance_stats.m, estimates the mean and variance of the pairwise distance between permutations, using sampling.
- permutation_distance_ulam.m, returns the Ulam distance between a pair of permutations.
- permutation_inverse.m, returns the inverse of a permutation.
- permutation_multiply.m, multiplies two permutations.
- permutation_order.m, returns the order of a permutation.
- permutation_print.m, prints a permutation.