I have used COLT before with great results. I highly recommend checking it out.
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/).
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