OVERVIEW OF THE SUBDIRECTORIES OF BLAS-RMD
    src      All the F90 sources for the single precision RMD-subroutines
             The double presicion versions are auto-generated here (i.e. in
             src)
    demo     Example programs (demo1 and demo2)
    tools    Tools for testing, timing, double precision generation and doc
             generation. Includes dispmodule.f90 from [1]
    test     Test programs
    time     Timing programs. Contains subdirectory reports with results
    refblas  Those Fortran routines from Netlib BLAS/LAPAC version 3.7.0
             that are needed
    evidence Evidence of portability, standard conformance and test passing
             manual
    matlab   Matlab/Octave implementation of the demos and a few adjoints
    vauto    The package of [2]; used by the Matlab programs

  In addition these directories are automatically generated:
    lib        For libblasrmd.a and librefblas.a
    test/more  With additional tests

  Most of these directories contain their own README files with additional
  information.
  
  [1] Kristjan Jonasson: Algorithm 892: DISPMODULE, a Fortran 95 module for
      pretty-printing matrices, ACM TOMS 2009
  [2] K Jonasson: Algorithm 878: Exact VARMA likelihood and its gradient for
      complete and incomplete data with Matlab, ACM TOMS 2008.

INSTALLATION OF BLAS-RMD
  After installing necessary supporting software as described below, the Blas
  library to use and its location must be made known to Make. The default is
  to use Openblas and the environment variable OPENBLAS must then point to the
  Openblas root directory (the parent directory of the lib where the library
  itself resides). For mkl consult the information below, edit make.inc
  accordingly, and set the variable BLAS to mkl (either in make.inc, on the make
  command line, or in the environment). To use the provided reference BLAS, set
  the variable BLAS to refblas. The Makefile in the BLAS-RMD top directory
  contains additional making information.

TESTING BLAS-RMD
  To compile and link all the provided test programs, issue "make test"
  To (compile, link and) run all the provided test programs, issue "make testrun"
  See test/README for details of how the tests work

RUNNING EXAMPLE PROGRAMS
  To run both example programs with default parameters, issue "make demorun"
  See demo/README for more information on how to run the examples.

SOFTWARE PACKAGES NEEDED FOR BLAS-RMD
  A Fortran compiler
  A BLAS/LAPACK library
  GNU Make
  Awk
  Python
  Latex (to remake the documentation)

INSTALLATION OF SUPPORTING SOFTWARE
  Following are somee quick comments on how to obtain and install (many of)
  these packages.

  GFORTRAN
  * LINUX with root access: sudo apt-get install gfortran
  * LINUX without root access: see http://luiarthur.github.io/gccinstall
  * Mac: brew install gcc

  PGI FORTRAN
  * Download and untar from pggroup.com into a temp 
  * Run the installation script "install"
  * Create a link to the executable ".../bin/pgfortran", e.g. in $HOME/bin
  (but the current version isn't standard compliant and dispmodule doesn't work)

  OPENBLAS
  * LINUX: Obtain from openblas.net (e.g. via git)
    Build with "make -j"
    Install with "make PREFIX=$HOME install"
  * MAC: Use 'sudo make install' instead, or 'brew install openblas')
  * Make BLAS-RMD with 'make ...' or 'make ... BLAS=openblas' (it is the default)

  ACCELERATE (Apple's BLAS)
  * Preinstalled with macOS
  * Link with flag '-framwork accelerate'
  * Make BLAS-RMD with 'make ... BLAS=accelerate'

  MKL
  * For Linux: Download latest version from software.intel.com/en-us/mkl (e.g.
    with copy-link followed by wget).
  * Untar the resulting file (tar xzf <file>)
  * Install with ./install.sh and determine the location of the Intel root
    folder in the Intel documentation or by inspection. This might be one of:
      On a Mac:     $HOME/intel/compilers_and_libraries/linux
      On Ubuntu:    /opt/intel/compilers_and_braries/mac
      On a cluster: $MKL/../..
  * Define environment variables by running:
      <mkl>/mkl/bin/mklvars.sh intel64
    where <mkl> is the Intel root folder. The easiest is to do this from .bashrc.
  * Visit https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
      Usage model:     none (for gfortran)
      Compiler:        Intel Fortran or GNU Fortran
      Architecture:    Intel(R) 64
      Linking:         Dynamic (e.g.)
      Interface layer: 32-bit integer (LP64; for standard Fortran Integer*4)
      Threading layer: OpenMP threading (recommended somewhere for Lapack/Blas)
      OpenMP:          Intel (e.g.)
  * Use the resulting link-line and compiler options (possibly edit make.inc)
  * For Mac: MKL comes in a dmg file for automatic installation
  * Make BLAS-RMD with 'make ... BLAS=mkl'

  REFERENCE BLAS AND LAPACK
  * The BLAS-RMD-directory refblas contains the necessary BLAS and LAPACK subroutines,
    version 3.7.1 from Netlib.
  * Make BLAS-RMD with 'make ... BLAS=refblas' to use these

  TEX/LATEX
  * LINUX:
    sudo apt-get install texlive-latex-extra --no-install-recommends
    sudo apt-get install texlive-fonts-recommended
  * MAC: brew cask install mactex
    (Use e.g. TeXworks to edit)
