Skip to content

Commit

Permalink
Fix merge conflicts from devel-to-master PR (#187)
Browse files Browse the repository at this point in the history
* Merge updated devel branch into master (#12)

* Fixed tsunami benchmarks to use numpy for loading data and added more detailed readme file

* added files for sphinx documentation and made some docstring corrections for autodoc compatability

* fixed minor formatting issues in readme headings

* added files needed for Travis CI

* fixed tests to be slightly more tolerant with numerical comparisons

* removed python 3.7 from Travis and decreased tolerance on minimization algorithms in GP unit tests

* additional increase in tolerance for GP unit tests for minimization

* added version number in setup.py file that is automatically found in package and docs

* need to install package in travis to get version number to load

* implemented fix to correctly compute kernel derivatives with respect to inputs

* added unit tests for input derivatives of kernel

* added docstrings for new kernel functions

* incremented version number for bug fix

* reformatted kernel tests to shorten lines and a few other things

* V0.2.0rc (#64)

* Add dimension reduction functionality (python impl. of gKDR)

* Tweaks to dimension reduction test

* Add documentation for DimensionReduction

* Add/fix some tests for DimensionReduction

* Fix test (DimensionReduction)

* Docstring -> raw string to fix invalid escape sequence warning

* Add sanity checks for parameters passed to DimensionReduction

* Fix assertion in DimensionReduction constructor

* Fix assertion in DimensionReduction constructor

* Test: optimize structural dimension

* First attempt at tuning the structural dimension (kdr)

* Make GaussianProcess objects callable (for prediction)

* Add 'train_model' interface to GaussianProcess

* DimensionReduction tweak to example

* Introduce X_scale/Y_scale parameters in gKDR kernel (DimensionReduction)

* Fix whitespace

* DimensionReduction: use specialized Hermitian eigensolver

* Tune parameters (structural dimension and kernel lengthscales) within gKDR

- rename tune_structural_dimension -> tune_parameters
- documentation
- improved optimization routine

* Improved tests for parameter tuning (gKDR)

* Tweak to test (DimensionReduction)

* Whitespace cleanup

* Correct naming of variable (DimensionReduction)

* Factor out internal loss function from gKDR.tune_parameters

* Use a smaller test example to reduce test runtime

* MCMC (#33)

* added separate functions to calculated squared exponential kernel

* added matern 5/2 covariance function

* put kernel computations into a separate function and removed conjugate gradient based unit test that always gave problems

* moved kernel functions and tests to separate files

* added function to compute gradient of the squared exponential kernel

* changed GP class to use derivative function

* added derivatives for matern 5/2 kernel

* quick and dirty modification to GP in order to use kernel functions

* cleaned up distance calculation to use standardized euclidean distance

* modified fast GP in MICE code to use kernel interface

* made correction to meaning of nugget parameter for MICE candidate GP to be relative to current variance

* fixed minor issues in MICE design to allow for zero samples and ensuring that parameter values are correctly set

* updated MICE benchmark details

* cosmetic tweaks to MICE benchmark

* full hessian implementation in kernel functions

* refactored kernel functions into objects

* implemented Hessian computation into GP class

* Documented base kernel class

* Documented derived kernel classes

* added documentation pages for kernels

* corrected documentation to include newly implemented classes and fixed some old bugs

* renamed run_init_design to be consistent with other methods that use *_initial_design

* made minor change in MICEFastGP documentation

* broke up prediction methods into single and multiple parameter sets, plus some other changes needed to accomodate them

* added routine to compute local covariance matrix from hessian

* implemented approximate normal hyperparameter sampling

* added utility functions for MCMC sampling

* fully implemented basic MCMC sampler

* working MCMC implementation with full set of tests

* fixed a few bugs in GP and MCMC implmentation

* fixed bug in variance prediction where roundoff error can cause negative variance

* added docstrings for MCMC routines

* added documentation for MCMC-related methods and code additions

* created benchmark for MCMC sampling and added documentation pages for it

* added information on MCMC benchmark to readme

* added additional pages to documentation for MCMC sampling

* removed renamed mcmc benchmark file

* fixed MCMC docstring in GP class

* Fix whitespace in Makefile

* Forward kwargs (gKDR._compute_loss); correct number of cross-validation folds

* Add benchmark for gKDR

* Wrap long lines in docstrings

* Versioning (#38)

* added code needed for versioning to devel branch

* forgot to modify setup.py file

* corrected line accidentally deleted from __init__.py

* added prerelease number to devel branch to track commits on devel

* corrected comments in conf.py to reflect full release numbering

* added simple demos for GP and MICE (#46)

* added simple demos for GP and MICE

* incremented prerelease number for merge

* History Matching (#39)

* initial commit of history matching class and benchmark with minor tweaks

* broke benchmark and sanity checks into two files for history matching

* reindented code to use 4 spaces

* added unit tests and some bug fixes for HistoryMatching

* added tests for implausability plus some other checks and bug fixes in HistoryMatching

* fixed misspelling of implausibility

* changed file name for benchmark in makefile

* fixed documentation in HistoryMatching class to be consistent with others

* improved documentation, cleaned up code, added a few unit tests for HistoryMatching

* fixed some docstring formatting and base rst file for HistoryMatching

* full implementation of history matching with unit tests and documentation

* simplified model discrepancy based on discussion with Danny

* fixes to history matching file and tests

* fixed some comparisons with None in SequentialDesign

* broke up long test for Hessian into parts

* incremented prerelease for history match merge

* Feature/mucmtoolkit (#54)

* added toolkit with converted pages and images

* incremented version number

* Feature/mucmtoolkit (#55)

* fixed bug in documentation to display methods

* version number change for corrected PR

* merge input derivative bugfix into devel (#61)

* Fix/cachefactmat (#62)

* corrected GP class to cache factorized matrix rather than inverse plus cleaned up a few unneeded internal variables

* incremented prerelease version number

* missed a line that should have been deleted

* added test to confirm that variance predictions are stable

* fixed solve routines to use cho_solve in scipy

* Fix/toolkitcorr (#63)

* toolkit proofreading and corrections

* continuing updates of toolkit pages

* edits to toolkit pages

* finished corrections up through meta section

* updated toolkit threads section

* updates to proc section of toolkit

* incremented prerelease version number

* modified version for release v0.2.0

* Adjust the paper references in DimensionReduction.py

* Update paper reference in documentation

* V0.3.0rc (#125)

* Add dimension reduction functionality (python impl. of gKDR)

* Tweaks to dimension reduction test

* Add documentation for DimensionReduction

* Add/fix some tests for DimensionReduction

* Fix test (DimensionReduction)

* Docstring -> raw string to fix invalid escape sequence warning

* Add sanity checks for parameters passed to DimensionReduction

* Fix assertion in DimensionReduction constructor

* Fix assertion in DimensionReduction constructor

* Test: optimize structural dimension

* First attempt at tuning the structural dimension (kdr)

* Make GaussianProcess objects callable (for prediction)

* Add 'train_model' interface to GaussianProcess

* DimensionReduction tweak to example

* Introduce X_scale/Y_scale parameters in gKDR kernel (DimensionReduction)

* Fix whitespace

* DimensionReduction: use specialized Hermitian eigensolver

* Tune parameters (structural dimension and kernel lengthscales) within gKDR

- rename tune_structural_dimension -> tune_parameters
- documentation
- improved optimization routine

* Improved tests for parameter tuning (gKDR)

* Tweak to test (DimensionReduction)

* Whitespace cleanup

* Correct naming of variable (DimensionReduction)

* Factor out internal loss function from gKDR.tune_parameters

* Use a smaller test example to reduce test runtime

* MCMC (#33)

* added separate functions to calculated squared exponential kernel

* added matern 5/2 covariance function

* put kernel computations into a separate function and removed conjugate gradient based unit test that always gave problems

* moved kernel functions and tests to separate files

* added function to compute gradient of the squared exponential kernel

* changed GP class to use derivative function

* added derivatives for matern 5/2 kernel

* quick and dirty modification to GP in order to use kernel functions

* cleaned up distance calculation to use standardized euclidean distance

* modified fast GP in MICE code to use kernel interface

* made correction to meaning of nugget parameter for MICE candidate GP to be relative to current variance

* fixed minor issues in MICE design to allow for zero samples and ensuring that parameter values are correctly set

* updated MICE benchmark details

* cosmetic tweaks to MICE benchmark

* full hessian implementation in kernel functions

* refactored kernel functions into objects

* implemented Hessian computation into GP class

* Documented base kernel class

* Documented derived kernel classes

* added documentation pages for kernels

* corrected documentation to include newly implemented classes and fixed some old bugs

* renamed run_init_design to be consistent with other methods that use *_initial_design

* made minor change in MICEFastGP documentation

* broke up prediction methods into single and multiple parameter sets, plus some other changes needed to accomodate them

* added routine to compute local covariance matrix from hessian

* implemented approximate normal hyperparameter sampling

* added utility functions for MCMC sampling

* fully implemented basic MCMC sampler

* working MCMC implementation with full set of tests

* fixed a few bugs in GP and MCMC implmentation

* fixed bug in variance prediction where roundoff error can cause negative variance

* added docstrings for MCMC routines

* added documentation for MCMC-related methods and code additions

* created benchmark for MCMC sampling and added documentation pages for it

* added information on MCMC benchmark to readme

* added additional pages to documentation for MCMC sampling

* removed renamed mcmc benchmark file

* fixed MCMC docstring in GP class

* Fix whitespace in Makefile

* Forward kwargs (gKDR._compute_loss); correct number of cross-validation folds

* Add benchmark for gKDR

* Wrap long lines in docstrings

* Versioning (#38)

* added code needed for versioning to devel branch

* forgot to modify setup.py file

* corrected line accidentally deleted from __init__.py

* added prerelease number to devel branch to track commits on devel

* corrected comments in conf.py to reflect full release numbering

* added simple demos for GP and MICE (#46)

* added simple demos for GP and MICE

* incremented prerelease number for merge

* History Matching (#39)

* initial commit of history matching class and benchmark with minor tweaks

* broke benchmark and sanity checks into two files for history matching

* reindented code to use 4 spaces

* added unit tests and some bug fixes for HistoryMatching

* added tests for implausability plus some other checks and bug fixes in HistoryMatching

* fixed misspelling of implausibility

* changed file name for benchmark in makefile

* fixed documentation in HistoryMatching class to be consistent with others

* improved documentation, cleaned up code, added a few unit tests for HistoryMatching

* fixed some docstring formatting and base rst file for HistoryMatching

* full implementation of history matching with unit tests and documentation

* simplified model discrepancy based on discussion with Danny

* fixes to history matching file and tests

* fixed some comparisons with None in SequentialDesign

* broke up long test for Hessian into parts

* incremented prerelease for history match merge

* Feature/mucmtoolkit (#54)

* added toolkit with converted pages and images

* incremented version number

* Feature/mucmtoolkit (#55)

* fixed bug in documentation to display methods

* version number change for corrected PR

* merge input derivative bugfix into devel (#61)

* Fix/cachefactmat (#62)

* corrected GP class to cache factorized matrix rather than inverse plus cleaned up a few unneeded internal variables

* incremented prerelease version number

* missed a line that should have been deleted

* added test to confirm that variance predictions are stable

* fixed solve routines to use cho_solve in scipy

* Fix/toolkitcorr (#63)

* toolkit proofreading and corrections

* continuing updates of toolkit pages

* edits to toolkit pages

* finished corrections up through meta section

* updated toolkit threads section

* updates to proc section of toolkit

* incremented prerelease version number

* reset version to 0.3.0dev0 be consistent with master update (#70)

* Feature/meanfunc (#74)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* updated pre-release version for merge to devel

* Feature/formula (#77)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* basic working formula parser on linear terms

* wrote tokenizer function

* modified tokenizer to correct exponentiation and wrote expression parser

* removed unneeded function

* appear to have working formula parser

* fixed issue with square bracket parsing

* added class method and moved some things around

* added some unit tests for formula parsing

* implemented tests for tokenizing, parsing, and evaluating functions

* full set of unit tests for formulas and additional method in mean function to create from a formula

* changed base name and created functional interface for formula plus string methods

* added docstrings and renamed some functions

* added documentation for formulas and modified the mean function page a bit

* added patsy to install for testing and updated python version to 3.7

* updated version number for merge into devel

* Feature/GPrefactor (#81)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* basic working formula parser on linear terms

* wrote tokenizer function

* modified tokenizer to correct exponentiation and wrote expression parser

* removed unneeded function

* appear to have working formula parser

* fixed issue with square bracket parsing

* added class method and moved some things around

* added some unit tests for formula parsing

* implemented tests for tokenizing, parsing, and evaluating functions

* full set of unit tests for formulas and additional method in mean function to create from a formula

* changed base name and created functional interface for formula plus string methods

* added docstrings and renamed some functions

* added documentation for formulas and modified the mean function page a bit

* added patsy to install for testing and updated python version to 3.7

* replaced GP class with new version and unit tests

* refactored some GP methods to use property decorator

* initial implementation of MLE fitting function

* fixed dimension reduction tests to use new GP interface

* fixed history matching to work with new GP interface

* fixed mice code to handle new GP interface

* remove multi output GP as planned part of refactor

* wrote unit test for MLE fitting function

* added code to GP class to allow for priors

* put bare bones MOGP class back into repository

* changed code to use log posterior and wrote fitting routine in parallel for MOGP

* initial implementation of normal and inverse gamma priors

* added gamma distribution to priors and put in second derivatives

* fixed scale parameter in gamma distribution to be consistent with scipy definition

* fixed other tests and classes to use new MAP function and added unit test for single GP MAP routine

* correctly passed uncertainty/derivative flags to multiouput predict method

* added some bare bones tests for MultiOutputGP

* added tests for prior classes

* added unit tests and put in extra checks on nugget prior

* put more tests on priors into GP class

* fixed mean function in MOGP to accept strings

* added test for multiplt output fitting

* made some functions in formula module private

* added brief docstrings for Priors and added priors to documentation

* cleaned up some GP documentation

* improved docstring and made nugget parameter more configurable for MOGP

* improvde fitting documentation

* put better math in prior docstrings

* fixed bug in prior inputs to MOGP

* fixed docstring issue needing raw string

* wrote R example using GP fitting and prediction

* updated prerelease version number for merge

* Fix/powermeanderiv (#83)

* fixed bugs in computation of PowerMean derivatives plus unit tests to verify

* incremented version number for merge into devel

* added code of conduct to project documentation (#86)

* added code of conduct to project documentation

* updated prerelease number for merge into devel

* Feature/requirements (#92)

* added additional requirements files for optional packages, testing packages, and documentation

* incremented version number

* Fix/absoluteimports (#98)

* fconverted to absolute imports for clarity and to fix issue with docs building

* added missing init file in linalg package

* corrected travis file to use requirements files

* incremented version number for merge

* Fix/pdfdocs (#99)

* fixed latex typos in threads section of toolkit

* corrected tex rendering in proc section of toolkit

* fixed tex formatting in examples section of toolkit

* fixed latex formatting in disc section of toolkit

* modified docs pages to fix latex build in alt section of toolkit

* incremented version number for merge into devel

* forcing pytest version in travis file to fix conflicting dependency

* moved pytest requirement to requirements file

* Feature/refactor readme (#106)

* added contributing guidelines and fixed typo in code of conduct

* refactored index page on docs, moved implementation docs to separate directory to avoid clutter

* added demo pages to documentation

* moved benchmarks to a separate benchmark directory from the unit tests

* added symlinks from benchmarks to test directory in case those are used somewhere

* added some additional link targets to facilitate links between pages

* fixed some doc errors in benchmarks

* refactored readme and intro doc pages

* removed lfs storage file .gitattributes

* fixed link issue in README

* reworked intro sections and added workflow figure

* added blurb on pip installation to installation docs page

* incremented version number for merge

* Fix/windows mogp (#107)

* default to single process when running on windows

* made multi output tests only use a single processor for consistency

* incremented version number

* Feature/tutorial (#116)

* added tutorial code and projectile simulator code to demos

* finished implementing tutorial code

* wrote tutorial up through validation section

* slight edits to docs organization and index page

* finished writing tutorial and added image showing output

* fixed a few typos and made a few corrections to tutorial

* increment version number for merge

* clarified requirement for scipy version 1.4 in tutorial

* Fix/gp interface (#117)

* fixed issue with empty list in GP init function and added support for string version of kernels

* updated docstrings in GP class to match new options

* incremented versin number for merge

* updated GP docstrings to fix some issues

* fixed prior and kernel initiation in MOGP class

* fixed up docstring with Oliver's suggestion

* Fix/predictnugget (#120)

* included predictions in nugget with a corresponding unit test

* incremented version number for merge

* modified MOGP class to include nugget flag

* MultiOutputGP Optimization start points (#121)

* modified fitting routine to accept different start points for each emulator

* increment version number

* minor tweak to fitting function wrapper

* trying to fix occasional runtime errors in mogp fitting tests

* Fix/demo updates (#124)

* rewrote GP demo to use new interface and use priors to improve emulator

* moved convenience function for printing into projectile

* modified tutorial to use printing function

* modified MICE demo to match new interface

* modified benchmarks to use new interface

* tidied a few things in MICE demo

* removed link to nonexistent file

* updated setup.py for merge

* updated version number for update to master

* fix/test fitting (#127)

* fixed minor issue in mogp fitting tests where tests did not fail correctly

* updated version number for merge to devel

* Fix markdown link to Contributor Covenant

* Fix gpu and fpga label links

Co-authored-by: Oliver Strickson <ostrickson@turing.ac.uk>
Co-authored-by: Oliver Strickson <ots22@users.noreply.github.com>

* Fix/kerneldist (#130)

* bugfix to catch situation where kernel distance returns NaN

* following confirmed bug fix, incremented version number for master update

* V0.4.0 (#148)

* Add dimension reduction functionality (python impl. of gKDR)

* Tweaks to dimension reduction test

* Add documentation for DimensionReduction

* Add/fix some tests for DimensionReduction

* Fix test (DimensionReduction)

* Docstring -> raw string to fix invalid escape sequence warning

* Add sanity checks for parameters passed to DimensionReduction

* Fix assertion in DimensionReduction constructor

* Fix assertion in DimensionReduction constructor

* Test: optimize structural dimension

* First attempt at tuning the structural dimension (kdr)

* Make GaussianProcess objects callable (for prediction)

* Add 'train_model' interface to GaussianProcess

* DimensionReduction tweak to example

* Introduce X_scale/Y_scale parameters in gKDR kernel (DimensionReduction)

* Fix whitespace

* DimensionReduction: use specialized Hermitian eigensolver

* Tune parameters (structural dimension and kernel lengthscales) within gKDR

- rename tune_structural_dimension -> tune_parameters
- documentation
- improved optimization routine

* Improved tests for parameter tuning (gKDR)

* Tweak to test (DimensionReduction)

* Whitespace cleanup

* Correct naming of variable (DimensionReduction)

* Factor out internal loss function from gKDR.tune_parameters

* Use a smaller test example to reduce test runtime

* MCMC (#33)

* added separate functions to calculated squared exponential kernel

* added matern 5/2 covariance function

* put kernel computations into a separate function and removed conjugate gradient based unit test that always gave problems

* moved kernel functions and tests to separate files

* added function to compute gradient of the squared exponential kernel

* changed GP class to use derivative function

* added derivatives for matern 5/2 kernel

* quick and dirty modification to GP in order to use kernel functions

* cleaned up distance calculation to use standardized euclidean distance

* modified fast GP in MICE code to use kernel interface

* made correction to meaning of nugget parameter for MICE candidate GP to be relative to current variance

* fixed minor issues in MICE design to allow for zero samples and ensuring that parameter values are correctly set

* updated MICE benchmark details

* cosmetic tweaks to MICE benchmark

* full hessian implementation in kernel functions

* refactored kernel functions into objects

* implemented Hessian computation into GP class

* Documented base kernel class

* Documented derived kernel classes

* added documentation pages for kernels

* corrected documentation to include newly implemented classes and fixed some old bugs

* renamed run_init_design to be consistent with other methods that use *_initial_design

* made minor change in MICEFastGP documentation

* broke up prediction methods into single and multiple parameter sets, plus some other changes needed to accomodate them

* added routine to compute local covariance matrix from hessian

* implemented approximate normal hyperparameter sampling

* added utility functions for MCMC sampling

* fully implemented basic MCMC sampler

* working MCMC implementation with full set of tests

* fixed a few bugs in GP and MCMC implmentation

* fixed bug in variance prediction where roundoff error can cause negative variance

* added docstrings for MCMC routines

* added documentation for MCMC-related methods and code additions

* created benchmark for MCMC sampling and added documentation pages for it

* added information on MCMC benchmark to readme

* added additional pages to documentation for MCMC sampling

* removed renamed mcmc benchmark file

* fixed MCMC docstring in GP class

* Fix whitespace in Makefile

* Forward kwargs (gKDR._compute_loss); correct number of cross-validation folds

* Add benchmark for gKDR

* Wrap long lines in docstrings

* Versioning (#38)

* added code needed for versioning to devel branch

* forgot to modify setup.py file

* corrected line accidentally deleted from __init__.py

* added prerelease number to devel branch to track commits on devel

* corrected comments in conf.py to reflect full release numbering

* added simple demos for GP and MICE (#46)

* added simple demos for GP and MICE

* incremented prerelease number for merge

* History Matching (#39)

* initial commit of history matching class and benchmark with minor tweaks

* broke benchmark and sanity checks into two files for history matching

* reindented code to use 4 spaces

* added unit tests and some bug fixes for HistoryMatching

* added tests for implausability plus some other checks and bug fixes in HistoryMatching

* fixed misspelling of implausibility

* changed file name for benchmark in makefile

* fixed documentation in HistoryMatching class to be consistent with others

* improved documentation, cleaned up code, added a few unit tests for HistoryMatching

* fixed some docstring formatting and base rst file for HistoryMatching

* full implementation of history matching with unit tests and documentation

* simplified model discrepancy based on discussion with Danny

* fixes to history matching file and tests

* fixed some comparisons with None in SequentialDesign

* broke up long test for Hessian into parts

* incremented prerelease for history match merge

* Feature/mucmtoolkit (#54)

* added toolkit with converted pages and images

* incremented version number

* Feature/mucmtoolkit (#55)

* fixed bug in documentation to display methods

* version number change for corrected PR

* merge input derivative bugfix into devel (#61)

* Fix/cachefactmat (#62)

* corrected GP class to cache factorized matrix rather than inverse plus cleaned up a few unneeded internal variables

* incremented prerelease version number

* missed a line that should have been deleted

* added test to confirm that variance predictions are stable

* fixed solve routines to use cho_solve in scipy

* Fix/toolkitcorr (#63)

* toolkit proofreading and corrections

* continuing updates of toolkit pages

* edits to toolkit pages

* finished corrections up through meta section

* updated toolkit threads section

* updates to proc section of toolkit

* incremented prerelease version number

* reset version to 0.3.0dev0 be consistent with master update (#70)

* Feature/meanfunc (#74)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* updated pre-release version for merge to devel

* Feature/formula (#77)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* basic working formula parser on linear terms

* wrote tokenizer function

* modified tokenizer to correct exponentiation and wrote expression parser

* removed unneeded function

* appear to have working formula parser

* fixed issue with square bracket parsing

* added class method and moved some things around

* added some unit tests for formula parsing

* implemented tests for tokenizing, parsing, and evaluating functions

* full set of unit tests for formulas and additional method in mean function to create from a formula

* changed base name and created functional interface for formula plus string methods

* added docstrings and renamed some functions

* added documentation for formulas and modified the mean function page a bit

* added patsy to install for testing and updated python version to 3.7

* updated version number for merge into devel

* Feature/GPrefactor (#81)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* basic working formula parser on linear terms

* wrote tokenizer function

* modified tokenizer to correct exponentiation and wrote expression parser

* removed unneeded function

* appear to have working formula parser

* fixed issue with square bracket parsing

* added class method and moved some things around

* added some unit tests for formula parsing

* implemented tests for tokenizing, parsing, and evaluating functions

* full set of unit tests for formulas and additional method in mean function to create from a formula

* changed base name and created functional interface for formula plus string methods

* added docstrings and renamed some functions

* added documentation for formulas and modified the mean function page a bit

* added patsy to install for testing and updated python version to 3.7

* replaced GP class with new version and unit tests

* refactored some GP methods to use property decorator

* initial implementation of MLE fitting function

* fixed dimension reduction tests to use new GP interface

* fixed history matching to work with new GP interface

* fixed mice code to handle new GP interface

* remove multi output GP as planned part of refactor

* wrote unit test for MLE fitting function

* added code to GP class to allow for priors

* put bare bones MOGP class back into repository

* changed code to use log posterior and wrote fitting routine in parallel for MOGP

* initial implementation of normal and inverse gamma priors

* added gamma distribution to priors and put in second derivatives

* fixed scale parameter in gamma distribution to be consistent with scipy definition

* fixed other tests and classes to use new MAP function and added unit test for single GP MAP routine

* correctly passed uncertainty/derivative flags to multiouput predict method

* added some bare bones tests for MultiOutputGP

* added tests for prior classes

* added unit tests and put in extra checks on nugget prior

* put more tests on priors into GP class

* fixed mean function in MOGP to accept strings

* added test for multiplt output fitting

* made some functions in formula module private

* added brief docstrings for Priors and added priors to documentation

* cleaned up some GP documentation

* improved docstring and made nugget parameter more configurable for MOGP

* improvde fitting documentation

* put better math in prior docstrings

* fixed bug in prior inputs to MOGP

* fixed docstring issue needing raw string

* wrote R example using GP fitting and prediction

* updated prerelease version number for merge

* Fix/powermeanderiv (#83)

* fixed bugs in computation of PowerMean derivatives plus unit tests to verify

* incremented version number for merge into devel

* added code of conduct to project documentation (#86)

* added code of conduct to project documentation

* updated prerelease number for merge into devel

* Feature/requirements (#92)

* added additional requirements files for optional packages, testing packages, and documentation

* incremented version number

* Fix/absoluteimports (#98)

* fconverted to absolute imports for clarity and to fix issue with docs building

* added missing init file in linalg package

* corrected travis file to use requirements files

* incremented version number for merge

* Fix/pdfdocs (#99)

* fixed latex typos in threads section of toolkit

* corrected tex rendering in proc section of toolkit

* fixed tex formatting in examples section of toolkit

* fixed latex formatting in disc section of toolkit

* modified docs pages to fix latex build in alt section of toolkit

* incremented version number for merge into devel

* forcing pytest version in travis file to fix conflicting dependency

* moved pytest requirement to requirements file

* Feature/refactor readme (#106)

* added contributing guidelines and fixed typo in code of conduct

* refactored index page on docs, moved implementation docs to separate directory to avoid clutter

* added demo pages to documentation

* moved benchmarks to a separate benchmark directory from the unit tests

* added symlinks from benchmarks to test directory in case those are used somewhere

* added some additional link targets to facilitate links between pages

* fixed some doc errors in benchmarks

* refactored readme and intro doc pages

* removed lfs storage file .gitattributes

* fixed link issue in README

* reworked intro sections and added workflow figure

* added blurb on pip installation to installation docs page

* incremented version number for merge

* Fix/windows mogp (#107)

* default to single process when running on windows

* made multi output tests only use a single processor for consistency

* incremented version number

* Feature/tutorial (#116)

* added tutorial code and projectile simulator code to demos

* finished implementing tutorial code

* wrote tutorial up through validation section

* slight edits to docs organization and index page

* finished writing tutorial and added image showing output

* fixed a few typos and made a few corrections to tutorial

* increment version number for merge

* clarified requirement for scipy version 1.4 in tutorial

* Fix/gp interface (#117)

* fixed issue with empty list in GP init function and added support for string version of kernels

* updated docstrings in GP class to match new options

* incremented versin number for merge

* updated GP docstrings to fix some issues

* fixed prior and kernel initiation in MOGP class

* fixed up docstring with Oliver's suggestion

* Fix/predictnugget (#120)

* included predictions in nugget with a corresponding unit test

* incremented version number for merge

* modified MOGP class to include nugget flag

* MultiOutputGP Optimization start points (#121)

* modified fitting routine to accept different start points for each emulator

* increment version number

* minor tweak to fitting function wrapper

* trying to fix occasional runtime errors in mogp fitting tests

* Fix/demo updates (#124)

* rewrote GP demo to use new interface and use priors to improve emulator

* moved convenience function for printing into projectile

* modified tutorial to use printing function

* modified MICE demo to match new interface

* modified benchmarks to use new interface

* tidied a few things in MICE demo

* removed link to nonexistent file

* updated setup.py for merge

* fix/test fitting (#127)

* fixed minor issue in mogp fitting tests where tests did not fail correctly

* updated version number for merge to devel

* reset version number to start work on next release (#129)

* Fix/kerneldist (#131)

* Merge updated devel branch into master (#12)

* Fixed tsunami benchmarks to use numpy for loading data and added more detailed readme file

* added files for sphinx documentation and made some docstring corrections for autodoc compatability

* fixed minor formatting issues in readme headings

* added files needed for Travis CI

* fixed tests to be slightly more tolerant with numerical comparisons

* removed python 3.7 from Travis and decreased tolerance on minimization algorithms in GP unit tests

* additional increase in tolerance for GP unit tests for minimization

* added version number in setup.py file that is automatically found in package and docs

* need to install package in travis to get version number to load

* implemented fix to correctly compute kernel derivatives with respect to inputs

* added unit tests for input derivatives of kernel

* added docstrings for new kernel functions

* incremented version number for bug fix

* reformatted kernel tests to shorten lines and a few other things

* V0.2.0rc (#64)

* Add dimension reduction functionality (python impl. of gKDR)

* Tweaks to dimension reduction test

* Add documentation for DimensionReduction

* Add/fix some tests for DimensionReduction

* Fix test (DimensionReduction)

* Docstring -> raw string to fix invalid escape sequence warning

* Add sanity checks for parameters passed to DimensionReduction

* Fix assertion in DimensionReduction constructor

* Fix assertion in DimensionReduction constructor

* Test: optimize structural dimension

* First attempt at tuning the structural dimension (kdr)

* Make GaussianProcess objects callable (for prediction)

* Add 'train_model' interface to GaussianProcess

* DimensionReduction tweak to example

* Introduce X_scale/Y_scale parameters in gKDR kernel (DimensionReduction)

* Fix whitespace

* DimensionReduction: use specialized Hermitian eigensolver

* Tune parameters (structural dimension and kernel lengthscales) within gKDR

- rename tune_structural_dimension -> tune_parameters
- documentation
- improved optimization routine

* Improved tests for parameter tuning (gKDR)

* Tweak to test (DimensionReduction)

* Whitespace cleanup

* Correct naming of variable (DimensionReduction)

* Factor out internal loss function from gKDR.tune_parameters

* Use a smaller test example to reduce test runtime

* MCMC (#33)

* added separate functions to calculated squared exponential kernel

* added matern 5/2 covariance function

* put kernel computations into a separate function and removed conjugate gradient based unit test that always gave problems

* moved kernel functions and tests to separate files

* added function to compute gradient of the squared exponential kernel

* changed GP class to use derivative function

* added derivatives for matern 5/2 kernel

* quick and dirty modification to GP in order to use kernel functions

* cleaned up distance calculation to use standardized euclidean distance

* modified fast GP in MICE code to use kernel interface

* made correction to meaning of nugget parameter for MICE candidate GP to be relative to current variance

* fixed minor issues in MICE design to allow for zero samples and ensuring that parameter values are correctly set

* updated MICE benchmark details

* cosmetic tweaks to MICE benchmark

* full hessian implementation in kernel functions

* refactored kernel functions into objects

* implemented Hessian computation into GP class

* Documented base kernel class

* Documented derived kernel classes

* added documentation pages for kernels

* corrected documentation to include newly implemented classes and fixed some old bugs

* renamed run_init_design to be consistent with other methods that use *_initial_design

* made minor change in MICEFastGP documentation

* broke up prediction methods into single and multiple parameter sets, plus some other changes needed to accomodate them

* added routine to compute local covariance matrix from hessian

* implemented approximate normal hyperparameter sampling

* added utility functions for MCMC sampling

* fully implemented basic MCMC sampler

* working MCMC implementation with full set of tests

* fixed a few bugs in GP and MCMC implmentation

* fixed bug in variance prediction where roundoff error can cause negative variance

* added docstrings for MCMC routines

* added documentation for MCMC-related methods and code additions

* created benchmark for MCMC sampling and added documentation pages for it

* added information on MCMC benchmark to readme

* added additional pages to documentation for MCMC sampling

* removed renamed mcmc benchmark file

* fixed MCMC docstring in GP class

* Fix whitespace in Makefile

* Forward kwargs (gKDR._compute_loss); correct number of cross-validation folds

* Add benchmark for gKDR

* Wrap long lines in docstrings

* Versioning (#38)

* added code needed for versioning to devel branch

* forgot to modify setup.py file

* corrected line accidentally deleted from __init__.py

* added prerelease number to devel branch to track commits on devel

* corrected comments in conf.py to reflect full release numbering

* added simple demos for GP and MICE (#46)

* added simple demos for GP and MICE

* incremented prerelease number for merge

* History Matching (#39)

* initial commit of history matching class and benchmark with minor tweaks

* broke benchmark and sanity checks into two files for history matching

* reindented code to use 4 spaces

* added unit tests and some bug fixes for HistoryMatching

* added tests for implausability plus some other checks and bug fixes in HistoryMatching

* fixed misspelling of implausibility

* changed file name for benchmark in makefile

* fixed documentation in HistoryMatching class to be consistent with others

* improved documentation, cleaned up code, added a few unit tests for HistoryMatching

* fixed some docstring formatting and base rst file for HistoryMatching

* full implementation of history matching with unit tests and documentation

* simplified model discrepancy based on discussion with Danny

* fixes to history matching file and tests

* fixed some comparisons with None in SequentialDesign

* broke up long test for Hessian into parts

* incremented prerelease for history match merge

* Feature/mucmtoolkit (#54)

* added toolkit with converted pages and images

* incremented version number

* Feature/mucmtoolkit (#55)

* fixed bug in documentation to display methods

* version number change for corrected PR

* merge input derivative bugfix into devel (#61)

* Fix/cachefactmat (#62)

* corrected GP class to cache factorized matrix rather than inverse plus cleaned up a few unneeded internal variables

* incremented prerelease version number

* missed a line that should have been deleted

* added test to confirm that variance predictions are stable

* fixed solve routines to use cho_solve in scipy

* Fix/toolkitcorr (#63)

* toolkit proofreading and corrections

* continuing updates of toolkit pages

* edits to toolkit pages

* finished corrections up through meta section

* updated toolkit threads section

* updates to proc section of toolkit

* incremented prerelease version number

* modified version for release v0.2.0

* Adjust the paper references in DimensionReduction.py

* Update paper reference in documentation

* V0.3.0rc (#125)

* Add dimension reduction functionality (python impl. of gKDR)

* Tweaks to dimension reduction test

* Add documentation for DimensionReduction

* Add/fix some tests for DimensionReduction

* Fix test (DimensionReduction)

* Docstring -> raw string to fix invalid escape sequence warning

* Add sanity checks for parameters passed to DimensionReduction

* Fix assertion in DimensionReduction constructor

* Fix assertion in DimensionReduction constructor

* Test: optimize structural dimension

* First attempt at tuning the structural dimension (kdr)

* Make GaussianProcess objects callable (for prediction)

* Add 'train_model' interface to GaussianProcess

* DimensionReduction tweak to example

* Introduce X_scale/Y_scale parameters in gKDR kernel (DimensionReduction)

* Fix whitespace

* DimensionReduction: use specialized Hermitian eigensolver

* Tune parameters (structural dimension and kernel lengthscales) within gKDR

- rename tune_structural_dimension -> tune_parameters
- documentation
- improved optimization routine

* Improved tests for parameter tuning (gKDR)

* Tweak to test (DimensionReduction)

* Whitespace cleanup

* Correct naming of variable (DimensionReduction)

* Factor out internal loss function from gKDR.tune_parameters

* Use a smaller test example to reduce test runtime

* MCMC (#33)

* added separate functions to calculated squared exponential kernel

* added matern 5/2 covariance function

* put kernel computations into a separate function and removed conjugate gradient based unit test that always gave problems

* moved kernel functions and tests to separate files

* added function to compute gradient of the squared exponential kernel

* changed GP class to use derivative function

* added derivatives for matern 5/2 kernel

* quick and dirty modification to GP in order to use kernel functions

* cleaned up distance calculation to use standardized euclidean distance

* modified fast GP in MICE code to use kernel interface

* made correction to meaning of nugget parameter for MICE candidate GP to be relative to current variance

* fixed minor issues in MICE design to allow for zero samples and ensuring that parameter values are correctly set

* updated MICE benchmark details

* cosmetic tweaks to MICE benchmark

* full hessian implementation in kernel functions

* refactored kernel functions into objects

* implemented Hessian computation into GP class

* Documented base kernel class

* Documented derived kernel classes

* added documentation pages for kernels

* corrected documentation to include newly implemented classes and fixed some old bugs

* renamed run_init_design to be consistent with other methods that use *_initial_design

* made minor change in MICEFastGP documentation

* broke up prediction methods into single and multiple parameter sets, plus some other changes needed to accomodate them

* added routine to compute local covariance matrix from hessian

* implemented approximate normal hyperparameter sampling

* added utility functions for MCMC sampling

* fully implemented basic MCMC sampler

* working MCMC implementation with full set of tests

* fixed a few bugs in GP and MCMC implmentation

* fixed bug in variance prediction where roundoff error can cause negative variance

* added docstrings for MCMC routines

* added documentation for MCMC-related methods and code additions

* created benchmark for MCMC sampling and added documentation pages for it

* added information on MCMC benchmark to readme

* added additional pages to documentation for MCMC sampling

* removed renamed mcmc benchmark file

* fixed MCMC docstring in GP class

* Fix whitespace in Makefile

* Forward kwargs (gKDR._compute_loss); correct number of cross-validation folds

* Add benchmark for gKDR

* Wrap long lines in docstrings

* Versioning (#38)

* added code needed for versioning to devel branch

* forgot to modify setup.py file

* corrected line accidentally deleted from __init__.py

* added prerelease number to devel branch to track commits on devel

* corrected comments in conf.py to reflect full release numbering

* added simple demos for GP and MICE (#46)

* added simple demos for GP and MICE

* incremented prerelease number for merge

* History Matching (#39)

* initial commit of history matching class and benchmark with minor tweaks

* broke benchmark and sanity checks into two files for history matching

* reindented code to use 4 spaces

* added unit tests and some bug fixes for HistoryMatching

* added tests for implausability plus some other checks and bug fixes in HistoryMatching

* fixed misspelling of implausibility

* changed file name for benchmark in makefile

* fixed documentation in HistoryMatching class to be consistent with others

* improved documentation, cleaned up code, added a few unit tests for HistoryMatching

* fixed some docstring formatting and base rst file for HistoryMatching

* full implementation of history matching with unit tests and documentation

* simplified model discrepancy based on discussion with Danny

* fixes to history matching file and tests

* fixed some comparisons with None in SequentialDesign

* broke up long test for Hessian into parts

* incremented prerelease for history match merge

* Feature/mucmtoolkit (#54)

* added toolkit with converted pages and images

* incremented version number

* Feature/mucmtoolkit (#55)

* fixed bug in documentation to display methods

* version number change for corrected PR

* merge input derivative bugfix into devel (#61)

* Fix/cachefactmat (#62)

* corrected GP class to cache factorized matrix rather than inverse plus cleaned up a few unneeded internal variables

* incremented prerelease version number

* missed a line that should have been deleted

* added test to confirm that variance predictions are stable

* fixed solve routines to use cho_solve in scipy

* Fix/toolkitcorr (#63)

* toolkit proofreading and corrections

* continuing updates of toolkit pages

* edits to toolkit pages

* finished corrections up through meta section

* updated toolkit threads section

* updates to proc section of toolkit

* incremented prerelease version number

* reset version to 0.3.0dev0 be consistent with master update (#70)

* Feature/meanfunc (#74)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* updated pre-release version for merge to devel

* Feature/formula (#77)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* basic working formula parser on linear terms

* wrote tokenizer function

* modified tokenizer to correct exponentiation and wrote expression parser

* removed unneeded function

* appear to have working formula parser

* fixed issue with square bracket parsing

* added class method and moved some things around

* added some unit tests for formula parsing

* implemented tests for tokenizing, parsing, and evaluating functions

* full set of unit tests for formulas and additional method in mean function to create from a formula

* changed base name and created functional interface for formula plus string methods

* added docstrings and renamed some functions

* added documentation for formulas and modified the mean function page a bit

* added patsy to install for testing and updated python version to 3.7

* updated version number for merge into devel

* Feature/GPrefactor (#81)

* initial working implementation of mean function with tests

* implemented polynomial mean function

* added finite difference tests to mean function unit tests

* made finite difference spacing a fixture

* changed fixed mean to use a function rather than lambda for derivative

* implemented mean function (note only unit tests assume zero mean, will write new ones during refactor of interface)

* fixed bugs in mean function implementation

* implemented additional mean function capabilities and wrote tests

* added docstrings to base mean function class

* documented mean sum class

* documented mean product class

* documented mean composite class

* documented fixed mean class

* added documentation and a few other checks to the fixed mean function implementations

* added documentation for coefficient class

* added documentation for polynomial mean class

* added module docstring and test for indexing error in composite mean

* added documentation page for mean function

* implemented power mean function

* fixed bugs in mean power and wrote unit tests

* basic working formula parser on linear terms

* wrote tokenizer function

* modified tokenizer to correct exponentiation and wrote expression parser

* removed unneeded function

* appear to have working formula parser

* fixed issue with square bracket parsing

* added class method and moved some things around

* added some unit tests for formula parsing

* implemented tests for tokenizing, parsing, and evaluating functions

* full set of unit tests for formulas and additional method in mean function to create from a formula

* changed base name and created functional interface for formula plus string methods

* added docstrings and renamed some functions

* added documentation for formulas and modified the mean function page a bit

* added patsy to install for testing and updated python version to 3.7

* replaced GP class with new version and unit tests

* refactored some GP methods to use property decorator

* initial implementation of MLE fitting function

* fixed dimension reduction tests to use new GP interface

* fixed history matching to work with new GP interface

* fixed mice code to handle new GP interface

* remove multi output GP as planned part of refactor

* wrote unit test for MLE fitting function

* added code to GP class to allow for priors

* put bare bones MOGP class back into repository

* changed code to use log posterior and wrote fitting routine in parallel for MOGP

* initial implementation of normal and inverse gamma priors

* added gamma distribution to priors and put in second derivatives

* fixed scale parameter in gamma distribution to be consistent with scipy definition

* fixed other tests and classes to use new MAP function and added unit test for single GP MAP routine

* correctly passed uncertainty/derivative flags to multiouput predict method

* added some bare bones tests for MultiOutputGP

* added tests for prior classes

* added unit tests and put in extra checks on nugget prior

* put more tests on priors into GP class

* fixed mean function in MOGP to accept strings

* added test for multiplt output fitting

* made some functions in formula module private

* added brief docstrings for Priors and added priors to documentation

* cleaned up some GP documentation

* improved docstring and made nugget parameter more configurable for MOGP

* improvde fitting documentation

* put better math in prior docstrings

* fixed bug in prior inputs to MOGP

* fixed docstring issue needing raw string

* wrote R example using GP fitting and prediction

* updated prerelease version number for merge

* Fix/powermeanderiv (#83)

* fixed bugs in computation of PowerMean derivatives plus unit tests to verify

* incremented version number for merge into devel

* added code of conduct to project documentation (#86)

* added code of conduct to project documentation

* updated prerelease number for merge into devel

* Feature/requirements (#92)

* added additional requirements files for optional packages, testing packages, and documentation

* incremented version number

* Fix/absoluteimports (#98)

* fconverted to absolute imports for clarity and to fix issue with docs building

* added missing init file in linalg package

* corrected travis file to use requirements files

* incremented version number for merge

* Fix/pdfdocs (#99)

* fixed latex typos in threads section of toolkit

* corrected tex rendering in proc section of toolkit

* fixed tex formatting in examples section of toolkit

* fixed latex formatting in disc …
  • Loading branch information
5 people authored Aug 16, 2021
1 parent f17d316 commit cea2bf1
Show file tree
Hide file tree
Showing 11 changed files with 1,306 additions and 1,315 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
docs/_build/*
mogp_gpu/obj
mogp_gpu/bin
docs/_build/*
mogp_emulator/benchmarks/*.png
mogp_emulator/benchmarks/*.pdf
mogp_emulator/benchmarks/*.npy
Expand Down
3 changes: 1 addition & 2 deletions mogp_emulator/GaussianProcess.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class GaussianProcess(GaussianProcessBase):
number of training examples ``n``, the number of input parameters
``D``, and the number of hyperparameters ``n_params``. These
parameters can be obtained externally by accessing these
attributes
attributes.
Example: ::
Expand Down Expand Up @@ -476,7 +476,6 @@ def priors(self):
hyperparameter is not fit, the prior for the nugget will
automatically be set to ``None`` even if a distribution is
provided.
"""
return self._priors

Expand Down
1,293 changes: 646 additions & 647 deletions mogp_emulator/HistoryMatching.py

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion mogp_emulator/MultiOutputGP.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
from mogp_emulator.Priors import Prior



class MultiOutputGP(object):
"""Implementation of a multiple-output Gaussian Process Emulator.
Expand Down
1 change: 0 additions & 1 deletion mogp_emulator/benchmarks/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,3 @@ benchmark_kdr_GP_loss.pdf benchmark_kdr_GP_loss.npy: benchmark_kdr_GP.py

pivot_error.png pivot_unc.png: benchmark_pivot.py
python3 benchmark_pivot.py

3 changes: 0 additions & 3 deletions mogp_emulator/fitting.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@ def fit_GP_MAP(*args, n_tries=15, theta0=None, method="L-BFGS-B",
gp = _fit_MOGP_MAP(gp, n_tries, theta0, method, refit, **kwargs)
elif isinstance(gp, GaussianProcessBase):
gp = _fit_single_GP_MAP(gp, n_tries, theta0, method, **kwargs)

else:
raise TypeError("single arg to fit_GP_MAP must be a GaussianProcess or MultiOutputGP instance")
elif len(args) < 2:
Expand Down Expand Up @@ -191,7 +190,6 @@ def _fit_single_GP_MAP(gp, n_tries=15, theta0=None, method='L-BFGS-B', **kwargs)
"""

assert isinstance(gp, GaussianProcessBase)

n_tries = int(n_tries)
assert n_tries > 0, "number of attempts must be positive"

Expand Down Expand Up @@ -284,7 +282,6 @@ def _fit_MOGP_MAP(gp, n_tries=15, theta0=None, method='L-BFGS-B',

n_tries = int(n_tries)


if refit:
emulators_to_fit = gp.emulators
indices_to_fit = list(range(len(gp.emulators)))
Expand Down
12 changes: 6 additions & 6 deletions mogp_emulator/linalg/cholesky.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,26 +104,26 @@ def pivot_cholesky(A):
integers indicating the pivoting order needed to produce the
factorization.
:rtype: tuple containing an ndarray of shape `(n,n)` of floats and a
ndarray of shape `(n,)` of integers.
ndarray of shape `(n,)` of integers.
"""

A = _check_cholesky_inputs(A)

A = np.ascontiguousarray(A)
L, P, rank, info = lapack.dpstrf(A, lower = 1)
L = np.tril(L)

if info < 0:
raise linalg.LinAlgError("Illegal value in covariance matrix")

n = A.shape[0]

idx = np.arange(rank, n)
divs = np.cumprod(np.arange(rank+1, n+1, dtype=np.float64))
L[idx, idx] = L[rank-1, rank-1]/divs

return L, P-1

def _pivot_transpose(P):
"""
Invert a pivot matrix by taking its transpose
Expand Down Expand Up @@ -181,7 +181,7 @@ def pivot_cho_solve(L, P, b):
"""

assert len(P) == L.shape[0], "Length of pivot matrix must match linear system"

try:
return cho_solve((L, True), b[P])[_pivot_transpose(P)]
except (IndexError, ValueError):
Expand Down
1 change: 0 additions & 1 deletion mogp_emulator/tests/test_GaussianProcess.py
Original file line number Diff line number Diff line change
Expand Up @@ -897,7 +897,6 @@ def test_GaussianProcessGPU_predict_failures(x, y):
with pytest.raises(AssertionError):
gp.predict(np.array([[2., 4.]]))


def test_GaussianProcess_str(x, y):
"Test function for string method"

Expand Down
Loading

0 comments on commit cea2bf1

Please sign in to comment.