sympy: what's wrong with this picture?
Carl Banks
pavlovevidence at gmail.com
Mon Mar 3 19:40:22 EST 2008
On Mar 3, 7:24 pm, Mensanator <mensana... at aol.com> wrote:
> On Mar 3, 4:53 pm, Carl Banks <pavlovevide... at gmail.com> wrote:
>
>
>
> > On Mar 3, 4:47 pm, Mensanator <mensana... at aol.com> wrote:
>
> > > On Mar 3, 2:49 pm, Carl Banks <pavlovevide... at gmail.com> wrote:
>
> > > > On Mar 3, 3:40 pm, Mensanator <mensana... at aol.com> wrote:
>
> > > > > Notice anything funny about the "random" choices?
>
> > > > > import sympy
> > > > > import time
> > > > > import random
>
> > > > > f = [i for i in sympy.primerange(1000,10000)]
>
> > > > > for i in xrange(10):
> > > > > f1 = random.choice(f)
> > > > > print f1,
> > > > > f2 = random.choice(f)
> > > > > print f2,
> > > > > C = f1*f2
> > > > > ff = None
> > > > > ff = sympy.factorint(C)
> > > > > print ff
>
> > > > > ## 7307 7243 [(7243, 1), (7307, 1)]
> > > > > ## 4091 6829 [(4091, 1), (6829, 1)]
> > > > > ## 8563 2677 [(2677, 1), (8563, 1)]
> > > > > ## 4091 6829 [(4091, 1), (6829, 1)]
> > > > > ## 8563 2677 [(2677, 1), (8563, 1)]
> > > > > ## 4091 6829 [(4091, 1), (6829, 1)]
> > > > > ## 8563 2677 [(2677, 1), (8563, 1)]
> > > > > ## 4091 6829 [(4091, 1), (6829, 1)]
> > > > > ## 8563 2677 [(2677, 1), (8563, 1)]
> > > > > ## 4091 6829 [(4091, 1), (6829, 1)]
>
> > > > > As in, "they're NOT random".
>
> > > > > The random number generator is broken by the sympy.factorint()
> > > > > function.
>
> > > > > Random.choice() works ok if the factorint() function commented out.
>
> > > > > ## 6089 1811 None
> > > > > ## 6449 1759 None
> > > > > ## 9923 4639 None
> > > > > ## 4013 4889 None
> > > > > ## 4349 2029 None
> > > > > ## 6703 8677 None
> > > > > ## 1879 1867 None
> > > > > ## 5153 5279 None
> > > > > ## 2011 4937 None
> > > > > ## 7253 5507 None
>
> > > > > This makes sympy worse than worthless, as it f***s up other modules.
>
> > > > Dude, relax.
>
> > > > It's just a bug--probably sympy is messing with the internals of the
> > > > random number generator. It would be a simple fix. Instead of
> > > > b****ing about it, file a bug report.
>
> > > I did.
>
> > > > Or better yet, submit a patch.
>
> > > I would if I knew what the problem was.
>
> > > I posted it here because someone recommended it.
> > > I'm simply un-recommending it. Those who don't care
> > > needn't pay any attention. Those who do should be
> > > glad that faults are pointed out when found.
>
> > 1. You can point out the faults of a program without insults and
> > vulgarity
>
> Did I insult someone?
Yes, the intelligence of most people here, if you think anyone's going
to buy your rationalization of your spiteful behavior.
Four posts is more than enough of you.
*PLONK*
Carl Banks
More information about the Python-list
mailing list