This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: random distribution


   Date: Thu, 26 Feb 1998 14:57:08 +0100 (MET)
   From: Klaus Schilling <Klaus.Schilling@home.ivm.de>
   Reply-To: Klaus.Schilling@home.ivm.de
   Sender: owner-guile@cygnus.com
   Precedence: bulk
   X-UIDL: b59246c9745362e89be07c3a9ef0d40d


   Are there some implementations of random distributions, such as
   poisson,normal, erlang, weibull, binomial, chi-square,
           ^^^^^^

Normal distributions are supported by SLIB; info appended.  If you
have formulas for the other distributions, please send and I will
incorporate them.

   hypergeometric,... available for guile+slib? I couldn't find
   anything the like in the scheme repository.  If not, would it be
   better to write them directly in scheme or to use C/C++- written
   ones (e.g. those in libg++) and wrap them into libguile?

			      -=-=-=-=-

File: slib.info,  Node: Random Numbers,  Next: Cyclic Checksum,  Prev: Prime Factorization,  Up: Mathematical Packages

Random Numbers
==============

  `(require 'random)'

....

  If inexact numbers are support by the Scheme implementation,
`randinex.scm' will be loaded as well.  `randinex.scm' contains
procedures for generating inexact distributions.

 - Procedure: random:normal
 - Procedure: random:normal STATE
     Returns an inexact real in a normal distribution with mean 0 and
     standard deviation 1.  For a normal distribution with mean M and
     standard deviation D use `(+ M (* D (random:normal)))'.

 - Procedure: random:normal-vector! VECT
 - Procedure: random:normal-vector! VECT STATE
     Fills VECT with inexact real random numbers which are independent
     and standard normally distributed (i.e., with mean 0 and variance
     1).

 - Procedure: random:exp
 - Procedure: random:exp STATE
     Returns an inexact real in an exponential distribution with mean
     1.  For an exponential distribution with mean U use (* U
     (random:exp)).



-- 
			     -=-=-=-=-=-
I am a guest and *not* a member of the MIT Artificial Intelligence Lab.
      My actions and comments do not reflect in any way on MIT.