[ https://issues.apache.org/jira/browse/MATH-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated MATH-1597: --------------------------------- Labels: pull-request-available (was: ) > Refactor low-discrepancy sequence functionality > ----------------------------------------------- > > Key: MATH-1597 > URL: https://issues.apache.org/jira/browse/MATH-1597 > Project: Commons Math > Issue Type: Improvement > Reporter: Gilles Sadowski > Priority: Minor > Labels: pull-request-available > Fix For: 4.X > > Time Spent: 3h > Remaining Estimate: 0h > > 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}} (?). > The new design (TBD on the "dev" ML) should ideally take [additional > implementations|https://en.wikipedia.org/wiki/Low-discrepancy_sequence] into > account. -- This message was sent by Atlassian Jira (v8.20.10#820010)