‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Saturday, February 6, 2021 3:29 PM, Robert Kern <robert.k...@gmail.com>
wrote:
> On Sat, Feb 6, 2021 at 7:27 AM <camel-...@protonmail.com> wrote:
>
>>> Well, I can tell you why it needs to be backward compatible! I use random
>>> numbers fairly frequently, and to unit test them I set a specific seed and
>>> then make sure I get the same answers.
>>
>> Hmm, I guess that makes sense. I tried to adjust my algorithms to do the
>> same thing with the same bit's as the original one, but I couldn't get it to
>> work.
>
> To be clear, this is not our backwards compatibility policy for the methods
> that you have modified. Our policy is spelled out here:
>
> https://numpy.org/neps/nep-0019-rng-policy.html
>
> The TestRandomDist suite of tests were adapted from the older RandomState
> (which is indeed frozen and not allowed to change algorithms). It's a mix of
> correctness tests that are valid regardless of the precise algorithm (does
> this method reject invalid arguments? do degenerate arguments yield the
> correct constant value?) and actual "has this algorithm changed
> unexpectedly?" tests. The former are the most valuable, but the latter are
> useful for testing in cross-platform contexts. Compilers and different CPUs
> can do naughty things sometimes, and we want the cross-platform differences
> to be minimal. When you do change an algorithm implementation for Generator,
> as you have done, you are expected to do thorough tests (offline, not in the
> unit tests) that it is correctly sampling from the target probability
> distribution, then once satisfied, change the hard-coded values in
> TestRandomDist to match whatever you are generating.
>
> --
> Robert Kern
Ok, cool, that basically explains a lot.
> When you do change an algorithm implementation for Generator, as you have
> done, you are expected to do thorough tests (offline, not in the unit tests)
> that it is correctly sampling from the target probability distribution, then
> once satisfied, change the hard-coded values in TestRandomDist to match
> whatever you are generating.
I'm probably not versed enough in statistics to do thorough testing. I used the
testing in https://www.seehuhn.de/pages/ziggurat and plotting histograms to
verify correctness, that probably won't be sufficient.
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion