CERN Accelerating science

This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.

next up previous
Next: Text Processing Up: Application Software & Databases Previous: Garfield Version 5.25 -

Program Library

  K.S. Kölbig and J. Shiers CN/ASD

New/Changed Subprograms

D705 RFSTFT: Real Fast Fourier Transform
A new subroutine subprogram D705 RFSTFT (Real fast Fourier transform) written in Fortran, which calculates the finite Fourier transform of a periodic sequence (with a period equal to a power of two) of real numbers and its inverse, has been submitted to MATHLIB. This subroutine subprogram replaces D703 RFFT in KERNLIB, which thus becomes obsolete. The old routine will be left in KERNLIB for a few months and will then be deleted.
D706 CFSTFT: Complex Fast Fourier Transform
A new subroutine subprogram D706 CFSTFT (Complex fast Fourier transform) written in Fortran, which calculates the finite Fourier transform of a periodic sequence (with a period equal to a power of two) of complex numbers and its inverse, has been submitted to MATHLIB. This subroutine subprogram replaces D704 CFFT in KERNLIB, which thus becomes obsolete. The old routine will be left in KERNLIB for a few months and will then be deleted.
V131 RN3DIM: Random Two- and Three-Dimensional Vectors
A new subroutine subprogram V131 RN3DIM (Random two- and three-dimensional vectors) written in Fortran, has been submitted to MATHLIB. It is called by

    CALL RN2DIM(X,Y,XLONG)
for two-dimensional, and by
    CALL RN3DIM(X,Y,Z,XLONG)
for three-dimensional vectors. Thus RN3DIM is called as V130 RAN3D, that is each call returns a random three-vector whose length is XLONG. The only difference is that RAN3D calls V104 RNDM underneath, and V131 RN3DIM (RN2DIM) calls V115 RANLUX. Therefore initialization of RN3DIM (RN2DIM) is performed by initializing RANLUX.
V149 RNHRAN: Random Numbers According to Any Histogram
A new subroutine subprogram V149 RNHRAN (Random numbers according to any histogram), with entries RNHPRE and RNHRAN and written in Fortran, has been submitted to MATHLIB. The calling sequence and usage for V149 RNHRAN is the same as for V150 HISRAN, but the uniform generator inside is V115 RANLUX instead of V104 RNDM. That means that the initialization of the random numbers is done with RLUXGO or another of the RANLUX initialization methods (or not at all if you just want the default sequence), and the initialization of RNHRAN is done by:
    CALL RNHPRE(Y,N)
where Y is an array of length N giving the histogram bin contents on entry, and returning the array in cumulative form as required by RNHRAN. A random number XRAN is then generated by:
    CALL RNHRAN(Y,N,XLO,XWID,XRAN)
where XLO and XWID specify the histogram binning.
V152 FUNLUX: Random Numbers According to Any Function
A new subroutine subprogram V152 FUNLUX (Random numbers according to any function), with entries FUNLXP and FUNLUX and written in Fortran, has been submitted to MATHLIB. This has considerable improvements compared with V151 FUNRAN. It calls V115 RANLUX instead of V104 RNDM, so the random numbers are initialized as with RANLUX. In addition, an improved numerical integration algorithm is used in the preparation of the inverse cumulative function, and this inverse function is now tabulated at 200 points instead of 100, with half of the points now used in the tails of the distribution, so this method will now give good results even for functions with long (exponential) tails. The new calling sequence is:
    DIMENSION FSPACE(200)
    DIMENSION XRAN(L)
    EXTERNAL F
    CALL FUNLXP(F,FSPACE,XLOW,XHIGH)   !to prepare FSPACE
    CALL FUNLUX(FSPACE,XRAN,L)         !to generate L numbers XRAN
Subprograms V131 RN3DIM, V149 RNHRAN and V152 FUNLUX replace older subprograms for the generation of random numbers, which thus become obsolete.

Obsolete or deleted packages

The following packages are declared obsolete and scheduled for eventual deletion:
Code Package Library Last Revision Notes
A105 MPA MATHLIB 1985 Use, e.g., Mathematica
D114 RIWIAD MATHLIB 1986 Use D120 RADMUL (in part)
D151 DIVON4 MATHLIB 1985 Use D120 RADMUL (in part)
D703 RFFT KERNLIB 1981 Use D705 RFSTFT
D704 CFFT KERNLIB 1981 Use D706 CFSTFT
V130 RAN3D MATHLIB 1978 Use V131 RN3DIM
V150 HISRAN MATHLIB 1978 Use V149 RNHRAN
V151 FUNRAN MATHLIB 1984 Use V152 FUNLUX

The following package was declared obsolete and is finally deleted from the source and binary with this revision:

Code Package Library Declared obsolete Notes
C307 CDIGAM MATHLIB CNL 221 Use C317 CPSIPG


next up previous
Next: Text Processing Up: Application Software & Databases Previous: Garfield Version 5.25 -

Michel Goossens
CN Division
Tel. 3363
Thu May 30 20:08:07 METDST 1996