# 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

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

``````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

Install using npm:

``````npm install ndarray-distance
``````

## API

#### `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`