I had a doctest

            sage: ls = [randint(-100,100) for _ in range(4)]
            sage: intervals = [[x, x+randint(1,50)] for x in ls]
            sage: P = polytopes.hypercube(4, intervals, backend='field')

which then checked `P` for consistency. However it was somewhat meaningless 
(missing `set_random_seed()`) as all entries in `ls` where positive. It 
never caught a sign error that we introduced  in #28866 
<https://trac.sagemath.org/ticket/28866>.
Adding `set_random_seed` to it, does catch the error.

Now this check for consistency certainly wasn't very good in the first 
place, as two polyhedra might compare equal, even if one is set up 
incorrectly (I just noticed this because of your post, thank you). But it 
still would have caught the error even randomness was true randomness.

You might say, I should have known to add `set_random_seed()` in the first 
place, but I'm definitely not the only one who made that mistake and there 
are plenty of doctests that claim to test a random event, but they really 
test the same event all over and over.

Am Montag, 22. Juni 2020 11:24:59 UTC+2 schrieb Dima Pasechnik:
>
>
>
> On Mon, 22 Jun 2020, 10:01 'Jonathan Kliem' via sage-devel, <
> sage-...@googlegroups.com <javascript:>> wrote:
>
>> Hi. Could we maybe turn off reproducible "randomness" in doctests by 
>> default. There are probably thousands of meaningless doctests because of 
>> this.
>>
>> E.g. https://trac.sagemath.org/ticket/29904
>>
>
> I don't understand, you say there that it went unnoticed due to a too easy 
> doctest. I don't see how that one had anything to do with randomness.
>
> Also, could you explain what you mean by "randomness" there.  Doctests are 
> either tagged "random" (and do matching of answers skipped),
>
> or use random inputs. If a doctest with random input produces inconsistent 
> results due to not properly set seeds, it would have been caught all along.
>
>
>
>> or the doctests for the namespace function `bernoulli` or the 
>> `number_of_partitions` function also in the namespace.
>>
>> Alternatively we should add `set_random_seed` to all of those places.
>>
>> Either way, this might be a huge project, because of possible bugs.
>>
>> Jonathan
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sage-devel" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sage-...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sage-devel/6a5005ec-717e-400c-b253-514f9101bc72o%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sage-devel/6a5005ec-717e-400c-b253-514f9101bc72o%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/fcc3910a-e851-4f58-9a26-4eaf3dced699o%40googlegroups.com.

Reply via email to