Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 section of toolkit * modified …
- Loading branch information