# Computing Pairwise Distances and Metrics 1.0

OS : Windows / Linux / Mac OS / BSD / Solaris

Script Licensing : Freeware

Created : Aug 23, 2007

Downloads : 3

Thank you for voting...

## slmetric_pw.h is an m-function to compute metrics ...

slmetric_pw. h is an m-function to compute metrics between two sets of vectors in pairwise way.

- It is highly optimized by taking full advantage of vectorized computation. For some distances that are difficult to be fully vectorized, like city-block distance, C-mex implementation is offered.

- It is easy to use with simple syntax.

- It is sufficiently documented. You can type in "help slmetric_pw" to see the help on its usage.

Examples are available to show how to invoke the function.

I am now developing the second version of sltoolbox. Considering that some of the core functions can be applied to a much wider domain in technical computing, and that a long time is needed to make a new version of the whole toolbox ready, I would like to release some of these functions independently so that more fields can benefit from them.

The function has been substantially rewritten based on new features of MATLAB 2007a with enhanced efficiency and stability.

% prepare sample matrix

X1 = rand(10, 100);

X2 = rand(10, 150);

% compute the euclidean distances (L2) between the samples in X1 and X2

M = slmetric_pw(X1, X2, 'eucdist');

% compute the eucidean distances between the samples in X1 in a pairwise manner

M = slmetric_pw(X1, X1, 'eucdist');

% compute the city block distances (L1)

M = slmetric_pw(X1, X2, 'cityblk');

% compute the normalize correlations

M = slmetric_pw(X1, X2, 'nrmcorr');

% compute hamming distances

M = slmetric_pw(X1, X2, 'hamming', 0. 5);

M2 = slmetric_pw((X1 > 0. 5), (X2 > 0. 5), 'hamming');

assert(isequal(M, M2));

% compute weighted squared distances with user-supplied weights

weights = rand(10, 1);

M = slmetric_pw(X1, X2, 'wsqdist', weights);

% compute quadratic distances (x-y)^T * Q (x-y)

Q = rand(10, 10);

M = slmetric_pw(X1, X2, 'quaddiff', Q);

% compute Minkowski distance of order 3

M = slmetric_pw(X1, X2, 'minkowski', 3);

**- It supports about 20 metric types, including Euclidean distance (L2), Normalized Correlation, City-Block distance (L1), Quadratic distance, Minkowski distance, Hamming distance, Histogram Intersect, Chi-square distance, and information theoretical divergences, etc.**

*Main Features:*- It is highly optimized by taking full advantage of vectorized computation. For some distances that are difficult to be fully vectorized, like city-block distance, C-mex implementation is offered.

- It is easy to use with simple syntax.

- It is sufficiently documented. You can type in "help slmetric_pw" to see the help on its usage.

Examples are available to show how to invoke the function.

**slmetric_pw. h is an important function in the core module of sltoolbox, which is a large set of functions for accomplishing many statistical learning tasks.**

*Background:*I am now developing the second version of sltoolbox. Considering that some of the core functions can be applied to a much wider domain in technical computing, and that a long time is needed to make a new version of the whole toolbox ready, I would like to release some of these functions independently so that more fields can benefit from them.

The function has been substantially rewritten based on new features of MATLAB 2007a with enhanced efficiency and stability.

*Examples:*

% prepare sample matrix

X1 = rand(10, 100);

X2 = rand(10, 150);

% compute the euclidean distances (L2) between the samples in X1 and X2

M = slmetric_pw(X1, X2, 'eucdist');

% compute the eucidean distances between the samples in X1 in a pairwise manner

M = slmetric_pw(X1, X1, 'eucdist');

% compute the city block distances (L1)

M = slmetric_pw(X1, X2, 'cityblk');

% compute the normalize correlations

M = slmetric_pw(X1, X2, 'nrmcorr');

% compute hamming distances

M = slmetric_pw(X1, X2, 'hamming', 0. 5);

M2 = slmetric_pw((X1 > 0. 5), (X2 > 0. 5), 'hamming');

assert(isequal(M, M2));

% compute weighted squared distances with user-supplied weights

weights = rand(10, 1);

M = slmetric_pw(X1, X2, 'wsqdist', weights);

% compute quadratic distances (x-y)^T * Q (x-y)

Q = rand(10, 10);

M = slmetric_pw(X1, X2, 'quaddiff', Q);

% compute Minkowski distance of order 3

M = slmetric_pw(X1, X2, 'minkowski', 3);

**Computing Pairwise Distances and Metrics 1.0 scripting tags:**computing pairwise, matlab mathematics, distances, slmetricpwx, distances metrics, compute, rand.

**What is new in Computing Pairwise Distances and Metrics 1.0 software script?**- Unable to find Computing Pairwise Distances and Metrics 1.0 news.

**What is improvements are expecting?**Newly-made Computing Pairwise Distances and Metrics 1.1 will be downloaded from here. You may download directly. Please write the reviews of the Computing Pairwise Distances and Metrics. License limitations are unspecified.