distance-calc
A JS module for calculating several distances between two (n-dimensional) points
Installation
npm install distance-calc --save
Usage
var d = require('distance-calc');
p-norm
d.norm(vector1 [ [, vector2] || [, p=2] ])
Arguments
required
vector1 (Array)- vector2 (Array): default is the null vector ( [0, 0, 0, ...] )
- p (number): the number of norm (p >= 1) (default 2)
Examples
var vector1 = [2, 2, 2, 2];
var vector2 = [3, 3, 3, 3];
var point2D = [5, 5];
d.norm(vector1); // 4 - Euclidean distance/length
d.norm(vector1, 2); // 4 - Euclidean distance/length
d.norm(vector1, 1); // 8 - Manhattan, Taxicab distance/length
d.norm(vector1, Number.POSITIVE_INFINITY); // 2 - Maximum, Uniform norm
d.norm(vector1, 'inf'); // 2 - Maximum, Uniform norm
d.norm(vector1, vector2); // 4 - Euclidean distance
d.norm(vector1, vector2, 2); // 4 - Euclidean distance
d.norm(vector1, vector2, 'inf'); // 2 - Maximum, Uniform norm
d.norm(point2D, vector1); // returns NaN if dimensions are different
d.norm(vector1, 1/2); // returns NaN if p<1
hamming
d.hamming(param1, param2)
Arguments
required
param1 (Array | String)required
param2 (Array | String)
Examples
var array1 = [1, 2, 3, 4];
var array2 = [1, 1, 1, 1];
var string1 = 'abcd';
var string2 = 'aaaa';
d.hamming(array1, array1); // 0
d.hamming(array1, array2); // 3
d.hamming(string1, string1); // 0
d.hamming(string1, string2); // 3
d.hamming(array1, string1); // NaN - different types
d.hamming(array1, [1,2]); // NaN - different size
d.hamming(string1, 'ab'); // NaN - different size
d.hamming(123, 123); // NaN - invalid type
Tests
npm test