Welcome to UMUQ, University of Michigan's Uncertainty Quantification framework!
!WORK IN PROGRESS!
Purpose :
Multivariate normal distribution | |
Rosenbrock function | |
Initial release of UMUQ source program.
!WORK IN PROGRESS!
You can download the latest version from here.
The very latest version is always available via 'github' by invoking one of the following:
## For the traditional ssh-based Git interaction:
$ git clone git@github.com:yafshar/UMUQ.git
## For HTTP-based Git interaction
$ git clone https://github.com/yafshar/UMUQ.git
If you wish to compile UMUQ from source, you will require the following components (these are not necessary for running the statically linked binary):
-
Torc; latest version (https://github.com/yafshar/torc_lite-1)
A tasking library that allows to write platform-independent code. UMUQ uses torc which is forked from the original work of (TORC tasking library), and contains changes towards the original library.
-
Eigen; at least 3.3.2 release (http://eigen.tuxfamily.org)
Eigen forms the core mathematics library of UMUQ, with all its linear algebra routines.
-
FLANN; latest version 1.8 (http://www.cs.ubc.ca/research/flann)
FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces.
-
Google Test (optional); at least 1.8.0 (https://github.com/google/googletest)
Google's framework for writing and using C++ test & mock classes.
Furthermore, you will require a compiler that can handle C++0x (which includes all c++14 compilers with Variable templates feature). (GCC >= 5, Clang >= 3.4, MSVC >= 19.0, EDG eccp >= 4.11, Intel C++ >= 17.0, IBM XLC++ >= 13.1.2, Sun/Oracle C++ >= 5.15, Cray >= 8.6, and Portland Group (PGI) >= 17.4)
UMUQ has been successfully compiled with GCC 5.0 and GCC 8.0 on Gentoo/Debian and compiled with GCC 6.0 and Apple LLVM version 9.0.0 (clang-900.0.37) on macOS.
If you wish to do development, you will require parts of the extended GNU toolchain (the infamous Autotools):
-
Autoconf; latest 2.69 release (http://www.gnu.org/software/autoconf)
GNU Autoconf produces the ./configure script from configure.ac.
-
Automake; latest 1.14 release (http://www.gnu.org/software/automake)
GNU Automake produces the Makefile.in precursor, that is processed with ./configure to yield the final Makefile.
-
Libtool; latest 2.4.2 release (http://www.gnu.org/software/libtool)
GNU Libtool is required as a dependency in configure.
UMUQ is tested and developed on UNIX-like systems, hence supporting Microsoft Windows is not a goal at the moment.
If you do not have a configure
script in the top level directory, run bootstrap
to generate a configure script using autotools
.
Before compiling, you must run the configure
script. To run, type ./configure
. Additional options may be provided if desired. Run ./configure --help
for details.
After successfully running configure
, type make
to build the UMUQ
library.
Then type make install
to install it in the directory previously specified by the --prefix
option of the configure
script.
UMUQ
documentation is available here.
UMUQ is LGPL 3.0 licensed. The LICENSE file contains the LGPL 3.0 text. Also see these links:
LGPL3
GPL-FAQ
Packages in external folder contain third-party code under:
MPL2,
GPL3,
GPL2,
BSD and
BSD3 licenses.
If something is not working as you think it should or would like it to, please get in touch with us! Further, if you have an algorithm or any idea that you would want to try using the UMUQ, please get in touch with us, we would be glad to help!
Contributions are very welcome. If you wish to contribute, please take a few moments to review the branching model UMUQ
utilizes.
Please add the following citation to any paper, technical report or article describing the use of the UMUQ
library:
UMUQ package maintainer: Yaser Afshar yafshar@umich.edu
Computational Aerosciences Laboratory
University of Michigan, Ann Arbor