[ 
https://issues.apache.org/jira/browse/MATH-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17354636#comment-17354636
 ] 

basa edited comment on MATH-1597 at 5/31/21, 7:11 PM:
------------------------------------------------------

Hi Gilles,

Sounds good to separate and put them in _quasirandom_ (maybe 
_..random.pseudorandom_ and _..random.quasirandom_)

Thought might be good to follow the same, for _RandomVectorGenerator_, meaning 
putting it as a supplier.

The attached PR is a proposal, I added the _SkippableSequence_ after looking at 
_JumpableUniformRandomProvider_ .

 


was (Author: saminou):
Hi Gilles,

Sounds good to separate and put them in _quasirandom_ (maybe 
_..random.pseudorandom_ and _..random.quasirandom_)

Thought might be good to follow the same, for _RandomVectorGenerator_, meaning 
putting it as a supplier.

The attache PR is a proposal, I added the _SkippableSequence_ after looking at 
_JumpableUniformRandomProvider_ .

 

> 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
>            Priority: Minor
>             Fix For: 4.0
>
>          Time Spent: 10m
>  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}} (?).



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

Reply via email to