Skip to content

Commit 2c61fef

Browse files
committed
Merge branch 'v0.52.0-release'
2 parents eebced4 + a10ca66 commit 2c61fef

File tree

531 files changed

+45899
-7453
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

531 files changed

+45899
-7453
lines changed

.gitattributes

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*.m linguist-vendored
2+
*.dat linguist-vendored
3+
*.tab linguist-vendored
4+
*.txt linguist-vendored
5+
*.C linguist-language=C++
6+
*.h linguist-language=C++
7+
*.cpp linguist-language=C++

.gitignore

+25
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ queso-*tar.gz
1414
Makefile.in
1515
Makefile
1616
!manual/Makefile
17+
manual/mixed_effects/*.pdf
18+
manual/mixed_effects/*.aux
1719
libtool
1820
sl6-config
1921
stamp-h1
@@ -81,6 +83,12 @@ examples/outputData
8183
examples/template_eg
8284
examples/template_example/outputData
8385
examples/template_example/template_example
86+
examples/scalarCovariance
87+
examples/diagonalCovariance
88+
examples/fullCovariance
89+
examples/blockDiagonalCovariance
90+
examples/fullCovarianceRandomCoefficient
91+
examples/blockDiagonalCovarianceRandomCoefficients
8492

8593
src/core/inc/queso.h
8694
src/libqueso.la
@@ -161,5 +169,22 @@ test/test_Regression/test_jeffreys_samples_diff.sh
161169
test/test_adaptedcov_output/
162170
test/test_gpmsa_cobra_output/
163171
test/test_logitadaptedcov
172+
test/test_scalarCovariance
173+
test/test_diagonalCovariance
174+
test/test_fullCovariance
175+
test/test_blockDiagonalCovariance
176+
test/test_output_gaussian_likelihoods
177+
test/test_gaussian_likelihoods/queso_input.txt
178+
test/test_GslBlockMatrixInvertMultiply
164179
test/test_SequenceOfVectors/test_unifiedPositionsOfMaximum.sh
165180
test/test_unifiedPositionsOfMaximum
181+
test/test_VectorPdf_gsl
182+
test/test_VectorRV_gsl
183+
test/test_VectorRealizer_gsl
184+
test/test_fullCovarianceRandomCoefficient
185+
test/test_blockDiagonalCovarianceRandomCoefficients
186+
test/test_gaussian_likelihoods/gaussian_consistency_input.txt
187+
test/test_fullCovarianceChain
188+
test/test_diagonalCovarianceChain
189+
test/test_scalarCovarianceChain
190+
test/test_blockDiagonalCovarianceChain

.travis.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,8 @@ compiler:
44
- clang
55
before_script:
66
- sudo apt-get update -qq
7-
- sudo apt-get install -qq libgsl0-dev libmpich2-dev libboost-all-dev
8-
script: ./bootstrap && ./configure && make && make check
7+
- sudo apt-get install -q build-essential
8+
- sudo apt-get install -q libgsl0-dev
9+
- sudo apt-get install -q openmpi-bin openmpi-dev
10+
- sudo apt-get install -q libboost-all-dev
11+
script: ./bootstrap && CC="mpicc" CXX="mpicxx" ./configure && make -j2 && make check

CHANGES

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ QUESO: Quantification of Uncertainty for Estimation,
33
Simulation, and Optimization.
44
-----------------------------------------------------
55

6+
Version 0.52.0
7+
* Add canned Gaussian likelihoods
8+
69
Version 0.51.0
710
* Add canned likelihood for scalar GPMSA use-case a la Higdon et al
811
* Add a logit-transformed transition kernel for more efficient proposals

COPYING

+5-6
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ Library.
158158
You may charge a fee for the physical act of transferring a copy,
159159
and you may at your option offer warranty protection in exchange for a
160160
fee.
161-
161+
162162
2. You may modify your copy or copies of the Library or any portion
163163
of it, thus forming a work based on the Library, and copy and
164164
distribute such modifications or work under the terms of Section 1
@@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the
216216
ordinary GNU General Public License has appeared, then you can specify
217217
that version instead if you wish.) Do not make any other change in
218218
these notices.
219-
219+
220220
Once this change is made in a given copy, it is irreversible for
221221
that copy, so the ordinary GNU General Public License applies to all
222222
subsequent copies and derivative works made from that copy.
@@ -267,7 +267,7 @@ Library will still fall under Section 6.)
267267
distribute the object code for the work under the terms of Section 6.
268268
Any executables containing that work also fall under Section 6,
269269
whether or not they are linked directly with the Library itself.
270-
270+
271271
6. As an exception to the Sections above, you may also combine or
272272
link a "work that uses the Library" with the Library to produce a
273273
work containing portions of the Library, and distribute that work
@@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further
370370
restrictions on the recipients' exercise of the rights granted herein.
371371
You are not responsible for enforcing compliance by third parties with
372372
this License.
373-
373+
374374
11. If, as a consequence of a court judgment or allegation of patent
375375
infringement or for any other reason (not limited to patent issues),
376376
conditions are imposed on you (whether by court order, agreement or
@@ -422,7 +422,7 @@ conditions either of that version or of any later version published by
422422
the Free Software Foundation. If the Library does not specify a
423423
license version number, you may choose any version ever published by
424424
the Free Software Foundation.
425-
425+
426426
14. If you wish to incorporate parts of the Library into other free
427427
programs whose distribution conditions are incompatible with these,
428428
write to the author to ask for permission. For software which is
@@ -454,4 +454,3 @@ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
454454
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
455455
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
456456
DAMAGES.
457-

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// QUESO - a library to support the Quantification of Uncertainty
55
// for Estimation, Simulation and Optimization
66
//
7-
// Copyright (C) 2008,2009,2010,2011,2012,2013 The PECOS Development Team
7+
// Copyright (C) 2008-2015 The PECOS Development Team
88
//
99
// This library is free software; you can redistribute it and/or
1010
// modify it under the terms of the Version 2.1 GNU Lesser General

configure.ac

+19-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Process this file with autoconf to produce a configure script.
33

44
AC_PREREQ(2.65)
5-
AC_INIT([queso], [0.51.1], [[email protected]])
5+
AC_INIT([queso], [0.52.0], [[email protected]])
66
PACKAGE_DESCRIPTION="The parallel C++ statistical library QUESO: Quantification of uncertainty for estimation, simulation and optimization"
77
AC_SUBST([PACKAGE_DESCRIPTION])
88
PACKAGE_URL="https://github.com/libqueso/queso"
@@ -108,7 +108,7 @@ AM_CONDITIONAL(TRILINOS_ENABLED,test x$HAVE_TRILINOS = x1)
108108
AC_CACHE_SAVE
109109

110110
# Check for libmesh (optional)
111-
AX_PATH_LIBMESH_NEW(0.8.0,no)
111+
AX_PATH_LIBMESH_NEW(0.9.1,no)
112112
AC_CACHE_SAVE
113113

114114
# Check for GSL (required)
@@ -198,26 +198,40 @@ AC_CONFIG_FILES([
198198
test/test_infinite/inf_options
199199
test/test_Regression/GaussianMean1DRegression_options
200200
test/test_Regression/gpmsa_cobra_input.txt
201-
test/test_Regression/test_cobra_samples_diff.sh
202201
test/test_Regression/test_gpmsa_cobra_samples.m
203202
test/test_Regression/ctf_dat.txt
204203
test/test_Regression/dakota_pstudy.dat
205-
test/test_StatisticalInverseProblem/test_LlhdTargetOutput.sh
206204
test/test_StatisticalInverseProblem/both_input.txt
207205
test/test_StatisticalInverseProblem/llhdout_input.txt
208206
test/test_StatisticalInverseProblem/neither_input.txt
209207
test/test_StatisticalInverseProblem/targetout_input.txt
210208
test/test_Regression/jeffreys_input.txt
211-
test/test_Regression/test_jeffreys_samples_diff.sh
212209
test/test_Regression/test_jeffreys_samples.m
213210
test/test_Regression/adaptedcov_input.txt
211+
test/test_gaussian_likelihoods/queso_input.txt
214212
doxygen/Makefile
215213
doxygen/queso.dox
216214
doxygen/txt_common/about_vpath.page
215+
test/test_gaussian_likelihoods/gaussian_consistency_input.txt
216+
])
217+
218+
AC_CONFIG_FILES([test/test_Regression/test_cobra_samples_diff.sh
217219
],
218220
[
219221
chmod +x test/test_Regression/test_cobra_samples_diff.sh
222+
])
223+
224+
AC_CONFIG_FILES([
225+
test/test_StatisticalInverseProblem/test_LlhdTargetOutput.sh
226+
],
227+
[
220228
chmod +x test/test_StatisticalInverseProblem/test_LlhdTargetOutput.sh
229+
])
230+
231+
AC_CONFIG_FILES([
232+
test/test_Regression/test_jeffreys_samples_diff.sh
233+
],
234+
[
221235
chmod +x test/test_Regression/test_jeffreys_samples_diff.sh
222236
])
223237

convertQuesoMFileToTxt.py

+147
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
"""
2+
-----------------------------------------------------------------------bl-
3+
--------------------------------------------------------------------------
4+
5+
QUESO - a library to support the Quantification of Uncertainty
6+
for Estimation, Simulation and Optimization
7+
8+
Copyright (C) 2008,2009,2010,2011,2012,2013 The PECOS Development Team
9+
10+
This library is free software; you can redistribute it and/or
11+
modify it under the terms of the Version 2.1 GNU Lesser General
12+
Public License as published by the Free Software Foundation.
13+
14+
This library is distributed in the hope that it will be useful,
15+
but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17+
Lesser General Public License for more details.
18+
19+
You should have received a copy of the GNU Lesser General Public
20+
License along with this library; if not, write to the Free Software
21+
Foundation, Inc. 51 Franklin Street, Fifth Floor,
22+
Boston, MA 02110-1301 USA
23+
24+
-----------------------------------------------------------------------el-
25+
26+
This module contains a utility funtion, convertMFile, for converting m-files
27+
generated by QUESO into regular text. See the convertMFile help string for more
28+
specific information on usage and output. Conversion can also be accomplished
29+
by invoking convertQuesoMFileToTxt.py on the command line. In this case,
30+
the script will parse a list of input m-files and create text file output
31+
for each m-file. The script separates the chain data, likelihood data, and
32+
target data into separate output files. For more information on the command
33+
version, run: python convertQuesoMFileToTxt.py --help
34+
35+
"""
36+
37+
import re
38+
import sys
39+
40+
def convertMFile(mFileName, getChain=True, getLike=True,
41+
getTarget=True, chainIdent='[cC]hain',
42+
likeIdent='[lL]ikelihood', targetIdent='[tT]arget'):
43+
"""
44+
45+
This function parses chain, likelihood, and target data from a single m-file.
46+
mFileName specifies the name of m-file to parse. The get{Chain,Like,Target}
47+
optional inputs take boolean values indicating if the function should parse
48+
that particular item from the file. The {chain,like,target}Ident optional
49+
inputs allow the user to specify a regular expression that identifies that
50+
particular item in the m-file. This function returns a dictionary
51+
containing keys, 'chain', 'logLikelihood', and 'logTarget'. The value
52+
associated with a particular key is the data for that item in character
53+
string format. If the data for an item cannot be found in the file, the
54+
key for that item will not be present in the dictionary.
55+
56+
"""
57+
58+
# tokens delimiting the data
59+
dataEncloseTokens = ('[', ']')
60+
61+
# Read file into string buffer
62+
fIn = open(mFileName,'r')
63+
fileBuf = fIn.read()
64+
fIn.close()
65+
66+
outputMap = dict()
67+
parseMap = {'chain': (getChain, chainIdent), 'logLikelihood': (getLike, likeIdent),
68+
'logTarget': (getTarget, targetIdent)}
69+
70+
# iterate over wanted items and parse them from the buffer
71+
for item in parseMap:
72+
if parseMap[item][0] == False:
73+
continue
74+
75+
# Find tag for current item via search with regex: identString\w*\s*=\s*(?=\[)
76+
parseTagRegEx = parseMap[item][1] + r'\w*\s*=\s*' + '(?=' + re.escape(dataEncloseTokens[0]) + ')'
77+
match = re.search(parseTagRegEx, fileBuf)
78+
tag = ''
79+
if match:
80+
tag = match.group(0) + re.escape(dataEncloseTokens[0])
81+
else:
82+
print 'Error: Could not find identifier {0} in {1}. Regex string: {2}'.format(item, mFileName, parseTagRegEx)
83+
return outputMap
84+
85+
# Extract current item data between [ ] via search with regex: (?<=tag)[^\]]+
86+
parseDataRegEx = '(?<=' + tag + ')[^' + re.escape(dataEncloseTokens[1]) + ']+'
87+
match = re.search(parseDataRegEx, fileBuf)
88+
if match:
89+
outputMap[item] = match.group(0)
90+
else:
91+
print 'Error: Could not find {0} data in {1}. Regex string: {2}'.format(item, mFileName, parseDataRegEx)
92+
return outputMap
93+
94+
return outputMap
95+
96+
97+
if __name__ == "__main__":
98+
import argparse
99+
100+
parser = argparse.ArgumentParser(description='Convert a list of m-files generated by QUESO into text files.')
101+
parser.add_argument('-c', '--chain', type=str, choices=['yes','no'], default='yes',
102+
help='Parse chain data from m-file (default: yes)')
103+
parser.add_argument('-l', '--likelihood', type=str, choices=['yes','no'], default='yes',
104+
help='Parse likelihood data from m-file (default: yes)')
105+
parser.add_argument('-t', '--target', type=str, choices=['yes','no'], default='yes',
106+
help='Parse target data from m-file (default: yes)')
107+
108+
parser.add_argument('-ci', '--chain_identifier', type=str, default='[cC]hain',
109+
help='RegEx string identifying chain entry in the m-file (default: [cC]hain)')
110+
parser.add_argument('-li', '--likelihood_identifier', type=str, default='[lL]ikelihood',
111+
help='RegEx string identifying likelihood entry in the m-file (default: [lL]ikelihood)')
112+
parser.add_argument('-ti', '--target_identifier', type=str, default='[tT]arget',
113+
help='RegEx string identifying target entry in the m-file (default: [tT]arget)')
114+
115+
parser.add_argument('mFileList', nargs='+', help='List of m-files to convert')
116+
117+
args = parser.parse_args()
118+
119+
if args.chain == 'yes':
120+
getChainOpt = True
121+
else:
122+
getChainOpt = False
123+
124+
if args.likelihood == 'yes':
125+
getLikeOpt = True
126+
else:
127+
getLikeOpt = False
128+
129+
if args.target == 'yes':
130+
getTargetOpt = True
131+
else:
132+
getTargetOpt = False
133+
134+
# process files one-by-one
135+
for mFileName in args.mFileList:
136+
outputMap = convertMFile(mFileName, getChain=getChainOpt, getLike=getLikeOpt, getTarget=getTargetOpt, \
137+
chainIdent=args.chain_identifier, likeIdent=args.likelihood_identifier, \
138+
targetIdent=args.target_identifier)
139+
140+
# Write the data out to text files
141+
mFileNameBase = mFileName.rstrip('.m')
142+
for item in outputMap:
143+
outFileName = mFileNameBase + '_' + item + '.txt'
144+
fOut = open(outFileName, 'w')
145+
fOut.write(outputMap[item])
146+
fOut.close()
147+
print 'Created file {0}...'.format(outFileName)

doxygen/queso.page

+3-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ based/html format.
2121

2222
Bugs in the code and errors or omissions in the documentation can be reported
2323
24-
<a href="https://github.com/libqueso/queso/issues/new>GitHub ticket</a>.
24+
<a href="https://github.com/libqueso/queso/issues/new">GitHub ticket</a>.
2525
Requests and contributions are also welcome using either of the two methods
2626
mentioned above.
2727

@@ -36,11 +36,10 @@ All bug reports should include:
3636

3737
\section bugs Regression Testing
3838
<ul>
39-
<li> <a href="http://buildbot.ices.utexas.edu/docs/buildbot/queso-branch/build/docs/html/lcov/build/src/index.html">Build\
40-
bot Coverage</a>
39+
<li> <a href="http://buildbot.ices.utexas.edu/docs/buildbot/queso-branch/build/docs/html/lcov/build/src/index.html">Build bot Coverage</a>
4140

4241
\section licence License
43-
See <a href="https://github.com/libqueso/queso/blob/master/LICENSE>here</a>.
42+
See <a href="https://github.com/libqueso/queso/blob/master/LICENSE">here</a>.
4443

4544
\section acknowledgements Acknowledgments
4645
\copydoc Acknowledgments

0 commit comments

Comments
 (0)