lpnorm
Computes the Lp norm of an array of values.
Installation
$ npm install compute-lpnorm
For use in the browser, use browserify.
Usage
To use the module,
var lpnorm = ;
lpnorm( arr[, p] )
Computes the p-norm of an array
, where p
is an integer
greater than 0
.
var data = 3 1 9 4 4 2 ;var len = ;// returns ~11.2694
The default value of p
is 2
(Euclidean norm).
Special Cases
-
p = 1
: the norm is theL1
, or so-called Taxicab norm. -
p = 2
: the norm is theL2
, or Euclidean norm. -
p = infinity
: the norm is the maximum norm.
Examples
var lpnorm = ;var data = 1000 ;for var i = 0; i < datalength; i++data i = Math * 100;// Compute the L1 norm:console;// Compute the L2 norm:console;// Compute the L10 norm:console;// Compute the maximum norm:console;
To run the example code from the top-level application directory,
$ node ./examples/index.js
Notes
Warning: Only specific Lp norms properly consider overflow and underflow; i.e., L1, L2, and the infinity norms. In the general case, you may overflow for large values of p
.
Tests
Unit
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
Test Coverage
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:
$ make test-cov
Istanbul creates a ./reports/coverage
directory. To access an HTML version of the report,
$ make view-cov
License
Copyright
Copyright © 2014. Athan Reines.