Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ranl(3dxml) — Extended Math Library 3.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

RANL(3dxml)  —  Subroutines

Name

ranl − Random number generator based on L’Ecuyer method

FORMAT

RANL (s1, s2, v, n)

Arguments

s1integer∗4
On entry, s1>=1, the first part of the two-integer seed. 
On exit, s1 is changed according to n steps of the L’Ecuyer method. 

s2integer∗4
On entry, s2>=1 the second part of the two-integer seed. 
On exit, s2 is changed according to n steps of the L’Ecuyer method. 

vreal∗4
On entry, a one dimensional vector of n elements. v can be a scalar variable if n=1. 
On exit, contains n pseudorandom uniform[0,1] random numbers generated according to the L’Ecuyer algorithm.

ninteger∗4
On entry, a positive integer specifying the number of random numbers to store in v(1),...,v(n). 
On exit, unchanged.

Description

The RANL routine returns a vector of uniform[0,1] random numbers.  After you give arguments s1 and s2 initial values, you need not change these, except to restart the sequence or to skip to a new subsequence. 

For parallel applications using the RANL routine, DXML provides two auxiliary, input programs.  Refer to the descriptions of RANL_SKIP64 and RANL_SKIP2. 

The following example computes the volume of a 10-dimensional sphere, using a Monte Carlo technique. 

See also the example for RANL_SKIP2. 

Example

 c    Monte Carlo Method
      integer n,ndim,m
      parameter ( m = 10 )
      integer∗4 s1,s2,i,k
      real∗4 pt(m),vol,sum,r,vol_all
      print∗,’nr. pts to use: ’
      read∗,n
      print∗,’ n= ’,n
      print∗,’       vol(10-d sphere)    vol(10-d cube) ’
      sum=0.0
      s1=12345
      s2=67890
      do k=1,n
         call ranl(s1,s2,pt ,m)
          r=0.0
          do i=1,m
          r=r+pt(i)∗pt(i)
          end do
      if(r.le.1.0)sum=sum+1.0
      end do
      vol = sum/n
      vol_all = 2∗∗m∗vol
      write(6,900)vol_all,2.0∗∗m
 900  format(1x,2x,f14.2,4x,f14.0)
      end

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026