ASA053
Wishart Variate Generator
ASA053
is a C library which
returns samples from the Wishart distribution.
As far as I can tell, there are two mistakes in the printed text
of the algorithm; one involves incorrectly determining the number
of degrees of freedom for the ChiSquared distribution; the
other omits an absolute value sign when inverting the Wilson-Hilferty
formula, so that square roots of negative values are occasionally
requested. These mistakes have been corrected here.
Source code for many Applied Statistics Algorithms is available through
STATLIB.
Licensing:
The computer code and data files made available on this
web page are distributed under
the GNU LGPL license.
Languages:
ASA053 is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
asa053_test
WISHART,
a C library which
produces sample matrices from the Wishart or Bartlett distributions,
useful for sampling random covariance matrices.
Reference:
-
Stanley Sawyer,
Wishart Distributions and Inverse-Wishart Sampling,
Washington University,
30 April 2007, 12 pages.
-
William Smith, Ronald Hocking,
Algorithm AS 53, Wishart Variate Generator,
Applied Statistics,
Volume 21, Number 3, pages 341-345, 1972.
Source Code:
-
asa053.h, the include file.
-
i4_max.c,
returns the maximum of two I4s.
-
i4_min.c,
returns the minimum of two I4's.
-
r8_uniform_01.c,
returns a unit pseudorandom R8.
-
r8mat_print.c,
prints an R8MAT.
-
r8mat_print_some.c,
prints some of an R8MAT.
-
r8pp_print.c,
prints an R8PP matrix.
-
r8pp_print_some.c,
prints some of an R8PP matrix.
-
r8utp_print.c,
prints an R8UTP matrix.
-
r8utp_print_some.c,
prints some of an R8UTP matrix.
-
rnorm.c,
returns two independent standard random normal deviates.
-
timestamp.c,
prints the current YMDHMS date as a time stamp.
-
wshrt.c,
returns a random Wishart variate.
Last revised on 28 October 2018.