On Thu, Sep 17, 2009 at 6:28 AM, Jason Grout <jason-s...@creativetrax.com> wrote: > I tried generating lots of normally distributed values after applying > the patch. It seems that scipy was the winner by far for speed: > > sage: a=RealDistribution('gaussian', 2) > sage: %timeit [a.get_random_element() for _ in range(1000)] > 100 loops, best of 3: 2.87 ms per loop > sage: import scipy.stats > sage: %timeit scipy.stats.norm.rvs(0,2,size=1000) > 1000 loops, best of 3: 252 µs per loop > sage: %timeit r.rnorm(1000,0,2).sage() > 10 loops, best of 3: 37 ms per loop > > Can we make get_random_element take an argument to get more than one > element? > > a.get_random_element(1000) would return a list of 1000 random elements.
We can but I can't get it as fast as scipy: sage: a=RealDistribution('gaussian', 2) sage: %timeit [a.get_random_element() for _ in range(1000)] 100 loops, best of 3: 2.6 ms per loop sage: sage: %timeit a.get_random_element_testing(1000) 1000 loops, best of 3: 374 µs per loop sage: sage: import scipy.stats sage: %timeit scipy.stats.norm.rvs(0,2,size=1000) 1000 loops, best of 3: 275 µs per loop Close, but no sausage. -- Carlo Hamalainen http://carlo-hamalainen.net --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---