I have used COLT before with great results. I highly recommend checking it out. On Sat, Jul 4, 2009 at 4:50 PM, John McManus <[log in to unmask]>wrote: > At least a few years ago, RePast used to include the Colt package, which > includes routines from CERN, Cornell and maybe others. I still use this for > statistical distributions, especially when I want to generate random numbers > from a given distribution (http://acs.lbl.gov/~hoschek/colt/<http://acs.lbl.gov/%7Ehoschek/colt/> > ). > > Colt and others are listed at (http://math.nist.gov/javanumerics/). > > John > > > > -----Original Message----- > From: MASON Multiagent Simulation Toolkit [mailto: > [log in to unmask]] On Behalf Of Sean Luke > Sent: Saturday, July 04, 2009 10:08 AM > To: [log in to unmask] > Subject: Re: probability distributions > > t.n.a. wrote: > > > I'm not sure how I would go about transforming uniform distribution > > random numbers to a specific distribution...I could do it for simple, > > streight-lined artificial distributions, but for distributions like > > gamma, it'd turn into a project of it's own... > > Actually, it's not nearly as hard as it sounds -- it depends on the > distribution though. There are a lot of standard algorithms (Knuth > might be good to check out). > > CERN's numerics library, which I think Repast is using, has got some > transformations in it. We could start there. > > > Thinking about it, it seems to me that it would be good enough to > > track down one or two good libraries supporting a wide variety of > > probability distributions and do the following: > > - package them together with mason if the licences are compatible and/or > > - update the mason documentation so that it links heavily to the > > selected libraries and explains how to use them > > The primary issue license wise is: we're hesitant to include LGPL > because it has some serious compatibility problems with Java and > BSD-style licenses (like our own). GPL is out entirely. So if we can > find a BSD-style it'd be best. Else we could just roll our own. For > example, I might just implement some algorithms directly in > MersenneTwisterFast, which would be the most convenient scenario probably. > > Let me know shat you find. > > Sean >