How does MATLAB generate Halton sequences

p = haltonset(d)
constructs a Halton quasi-random point set in d dimensions. Mathematically, the Halton set is basically d van der Corput sequences with different bases. So my question is, which base values does MATLAB use? I opened the code of HALTONSET and QRANDSET, but couldn't figure it out.
I ask this because I am working with Halton sets for my thesis and want to clarify how they are used in MATLAB.

Answers (1)

Hi Eric,
You can get the Name of the sequence on which point set P is based from 'Type' property of P. So, the code snippet would be like below:
>> P = haltonset(d)
>> base=P.Type
The base value depends on the dimension provided. If the dimension is 'd' the Bases will be the first 'd' primes. For example for dimension d=5, the Bases is [2,3,5,7,11].

3 Comments

Thank you for your answer, it seems very logical to me. However, when I try it myself, base returns
Halton
instead of a set of prime numbers. Am I doing something wrong?
Arnab Sen
Arnab Sen on 23 Feb 2016
Edited: Arnab Sen on 26 Apr 2016
you are getting the correct answer. There is no property or function that output bases. I found that by inspecting the MATLAB script haltonset.m itself.
Then how is it results are reproducable? That indicates something is governing the output.

Sign in to comment.

Asked:

on 17 Feb 2016

Edited:

on 26 Apr 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!