🎧 van der Corput low-discrepancy sequences
Go to file
2016-01-16 14:17:26 -05:00
bin version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
misc version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
test_files version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
.flowconfig version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
.gitignore version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
.jscs.json version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
.jshintrc version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
.npmignore version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
.travis.yml version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
LICENSE version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
Makefile version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
package.json version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
README.md updated README [ci skip] 2016-01-16 14:17:26 -05:00
test.js version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
vdc.flow.js version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00
vdc.js version bump 0.2.0: cleanup 2016-01-16 13:47:42 -05:00

VDC

Pure JS implementation of van der Corput low-discrepancy sequences.

Installation

Available on npm vdc:

$ npm install vdc

Usage

The exported function VDC accepts a opts object with the following fields:

  • b (default 2) base for the sequence.
  • n (default 0) starting index for the sequence.

Calling without arguments will default to the aforementioned values.

The object returned by VDC exposes a next() method to get the next element.

The field last holds the most recently generated value (accessing the field does not trigger a recalculation)

Sample Session

var VDC = require('vdc')

var opts = {'n':0, 'b':2};
var generator = VDC(opts);
for(var i = 0; i != 10; ++i) console.log(generator.next());

The expected output is

0       (0/1)
0.5     (1/2)
0.25    (1/4)
0.75    (3/4)
0.125   (1/8)
0.625   (5/8)
0.375   (3/8)
0.875   (7/8)
0.0625  (1/16)
0.5625  (9/16)

Notes

0 is the first value. Some sources (notably Wikipedia) start the sequence at 1/2, but others (Glasserman "Monte Carlo Methods in Financial Engineering") claim that the original sequence definition started at 0.

License

Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 license are reserved by the Original Author.

Badges

Build Status

Coverage Status

Analytics