Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including ndarray-distance with all npm packages installed. Try it out:

var ndarrayDistance = require("ndarray-distance")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ndarray-distance v1.0.0

Lp distance between ndarrays


Computes the Lp distance between two ndarrays. Works both in node.js and in browserify.

build status


var distance = require("ndarray-distance")
var ndarray = require("ndarray")

//Create two arrays
var a = ndarray([1, 2, 3, 4, 5])
var b = ndarray([0, 2, 3, 10, 6])

//First compute sum of squared distances
var l2Dist = distance(a, b)

//Can also compute l1 distance (absolute difference)
var l1Dist = distance(a, b, 1)

//And maximum distance
var linfDist = distance(a, b, Infinity)

//And any other Lp distance as well
var l3Dist = distance(a, b, 3)


Install using npm:

npm install ndarray-distance


require("ndarray-distance")(a, b[, p])

Computes the Lp distance between two ndarrays a and b. That is,

dist(a,b,p) = ( sum |a[i] - b[i]|^p )^(1/p)

Note that here a and b do not have to be vectors and can be images or volumes.

  • a and b are both ndarrays with the same shape
  • p is a parameter that determines the exponent of the metric. The default value is p=2

Special values of p include:

  • p=0 which counts the number of entries where a and b differ
  • p=1 which is the absolute difference between a and b
  • p=2 which is the ordinary Euclidean sum of squared differences
  • p=Infinity which is the maximum absolute difference between a and b

Returns The Lp distance between a and b


(c) 2014 Mikola Lysenko. MIT License


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free