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.