Question

How do I use the random number generators in Parallel Colt from incanter?

I've listed these dependencies in my project.clj file:

:dependencies [[org.clojure/clojure "1.2.0"] [org.clojure/clojure-contrib "1.2.0"] [incanter/core "1.2.3"] [incanter/parallelcolt "0.9.4"]]

And then I tried (import cern.jet.random.tdouble Normal) and I get a class java.lang.ClassNotFoundException.

What am I doing wrong here?

Was it helpful?

Solution

liebke may have addressed your domain-specific need here but re importing:

1) Make sure you run lein deps

2) The syntax for import is (import [cern.jet.random.tdouble Normal]) or (import cern.jet.random.tdouble.Normal)

OTHER TIPS

You don't need to call Parallel Colt directly to generate random numbers in Incanter. There are two different methods.

First, there is the original random number generator functions in incanter.stats:

sample-normal
sample-poisson
sample-uniform
sample-t
sample-net-binomial
sample-binomial
etc..

Each function takes the number of values to generate, as its first argument, as well as optional args for setting the parameters of the distribution to draw from. For instance, to draw 100 values from a normal distribution with a mean of -2 and a standard deviation of sqrt of 0.5, do this:

(use '[incanter core stats])
(sample-normal 100 :mean -2 :sd (sqrt 0.5))

The second method for generating random numbers is to use functions in the incanter.distributions namespace.

(require '[incanter.distributions :as dist])
(dist/draw (dist/normal-distribution -2 (sqrt 0.5)))
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top