You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gilles Sadowski (Jira)" <ji...@apache.org> on 2021/05/31 00:35:00 UTC

[jira] [Created] (MATH-1597) Low-discrepancy sequence

Gilles Sadowski created MATH-1597:
-------------------------------------

             Summary: Low-discrepancy sequence
                 Key: MATH-1597
                 URL: https://issues.apache.org/jira/browse/MATH-1597
             Project: Commons Math
          Issue Type: Sub-task
            Reporter: Gilles Sadowski
             Fix For: 4.0


Two low-discrepancy sequences are implemented in Commons Math (in package {{o.a.c.math4.legacy.random}}:
* {{SobolSequenceGenerator}}
* {{HaltonSequenceGenerator}}

They both provide several methods:
* {{nextVector()}}
* {{skipTo(int)}}
* {{getNextIndex()}}

of which only the first is part of their common API through the {{RandomVectorGenerator}}.

I propose to create an interface that would better represent the specific concept (and avoid the confusion with pseudo-random generators):
{code}
public interface LowDiscrepancySequence extends Supplier<double[]> { /* ... */}
{code}

Thus, instead of class {{SobolSequenceGenerator}} we'd have:
{code}
public class SobolSequence implements LowDiscrepancySequence {
    // ...
}
{code}

This functionality could be moved to a new {{o.a.c.m.legacy.quasirandom}} package (?).

Method {{skipTo}} could be replaced with an API similar to Commons RNG {{JumpableUniformRandomProvider}} (?).




--
This message was sent by Atlassian Jira
(v8.3.4#803005)