Revision 29266fbb59c33c72e1fb2a0616fe98aae19b5d8f authored by Marios Papachristou on 20 July 2020, 06:44:53 UTC, committed by GitHub on 20 July 2020, 06:44:53 UTC
* Initialize report

* Add solvers file

* WIP: Add Euler ODE Solver

* WIP: Add Euler Method

* Add boundary reflections to Euler

* Fix boundary reflections

* Add test for ODE dx/dt = -x for Euler Method

* Add test for dx/dt = x in [0, 1]

* Add is_in for multiple reflections

* Add normalize flag to get_direction

* Minor modifications

* WIP: Add HMC for log-concave densities

* Add tests for HMC

* Add details to README

* Add tests for leapfrog method

* Add leapfrog method

* Add HMC and HMC tests

* Separate Euler and Leapfrog

* Remove ode_solvers.h

* Refactor solver implementations

1. Move solvers to separate file
2. Fix includes. The ode_solvers.h base file
includes the rest of the solvers and is respon-
sible for doing the correct includes.

* Add RK methods header file

* WIP: Add generic RK methods

* Implement RK methods with testing

* Add collocation method header files

* Fix bug in RK methods

* WIP: Collocation method constructors

* WIP: Implement collocation method

* Add root_finders header file

* Add CHECK() statements and fix minor bugs

* Bug fix for boundary oracle

* Add CHEK() for constrained leapfrog

* Add Newton-Raphson method for root finding

* Add return statement

* Add notice

* Add regularization (smoothing) and max_iters

* Add const where needed

* Add BS method

* Add Bulirsch-Stoer implementation

* Add Bulirsch-Stoer implementation

* Add constrained BS method

* WIP: Debug collocation method

* WIP: Debug collocation method

* Add rational fcn and grad of rational fcn functors

* WIP: Add testcase for collocation methods

* Fix BS method

* Minor changes

* Add resources to ODE solvers

* Initialize curve_intersect for Hpoly

* WIP: Boundary oracles

* WIP: Boundary oracles

* WIP: Boundary oracles

* WIP: Boundary oracles

* WIP: Boundary oracles

* WIP: Add isinf for well-posedness of denominator in NR

* Move func template one level above (for ULD to work later)

* Initialize boundary oracles test

* Add boundary oracle test CMake targets

* Initialize boundary oracles tests

* Working boundary oracle for H-polytope

1. Uses Newton-Raphson for solving transcendental equations
2. Can find multiple/one root
3. Tests are implemented for the curves (t, t) and (t, 2t^2)

* Initialize NLP oracles (general curve w/ polytope)

* Finish boundary oracle tests for H-polytope

* Add ifopt and ipopt to CMakeLists.txt

* Add wrapper function for nlp oracles

* Working nlp H-polyoracle

* Rename nlp polyoracles to avoid confusion with lp oracles

* Remove old polyoracles file

* Document NLP hpolyoracles

* Minor refactoring

* Add wrapper function

* WIP: Initialize NLP oracle for V-polytope

* Update readme with GSoC information

* Add benchmarks with random polynomials

* Modify membership condition

* Restrain test to t only

* Bug fixes

* Code cleanup

* Move to old commit (before merge)

* Merge ode solvers

* Rename testcases

* Merge root finders test

* Move hmc to sampling/ directory

* Partial fix for V polyoracles with ipopt

* Fix linear collocation method

* Fix collocation with approximate computation

* Improve README file

* Add precomputation flag

* Improve NR solver

* Add central method for curve_intersect

* Change return type of nlp vpolyoracle to return dummy facet

* WIP: Integrate boundary oracles to collocation

* Fix collocation method boundary oracles (w/ tests)

* Bug fixes

* Add mpsolve and gmp to CMakeLists.txt

* Implement mpsolve wrapper

* WIP: Integrate mpsolve

* Fix preprocessor directives

* Add boundary oracle with mpsolve

* Fix minor issues

* Fix existing working tests

* Add min_pos optimization problem

* WIP: Minor changes in way of reflection

* Remove hmc sampler temporarily (move it to temp branch)

* Fix reflections

* Add dependencies(mpsolve, ipopt/ifopt) to CircleCI

* Fix config

* Fix config

* Fix config

* Add dependency at circleci config

* Add dependency at circleci config

* Add dependency at circleci config

* Add dependency at circleci config

* Add dependency at circleci config

* Add root finders test

* Minor fixes in boundary oracles

* Fix bounded collocation

* Typo fix

* Add missing test to cmakelists

* Add #undef where it is needed

* Remove extraneous dynamic linking

* Fix erroneous flag

* Remove hmc tests (moved to other branch)

* Update clang and g++ workflows

* Fix failing R tests

* Fix failing R tests

* Split checking for ubuntu/macOS

* Remove misplaced if statement

* Add CMAKE_CXX_COMPILER flag to ifopt

* Correct test name

* Remove sudo in front of brew cmd

* Add automake dependency

* Change error_on from "warning" to "error"

* Add preprocessor directive to disable NLP oracles

* Add flag for disabling oracles

* Add macro definitions for disabling oracles

* Add windows workflow

* Modify windows workflow

* Change Makevars.win

* Change Makevars.win

* Change Makevars.win

* Disable NLP oracles to all tests

* Modify circleci build

* Modify circleci build

* Add preprocessor directive

* Remove report

* Remove GSoC details

* Move macro

* Remove unused typedefs

* Modify copyright notices

* Fix typo

* Rename rk.h to runge_kutta.hpp

* Minor correction

* Rename .h to .hpp in ODE solvers

* Rename nlp oracles from .h to .hpp

* Rename root finders

* Remove duplicate include

* Reorder #include directives

* Refactoring

* Rename file

* Add velocity reflections

* Remove extraneous constructors

* Add general docs for solvers

* Temp refactoring

* Fix minor bugs

* Remove flag from richardson implementation

* Add facet ignore

* Finish oracles refactoring

* Consistent copyright notices

* Add accidentally removed templates

* Consistent copyright notices

* Add nlp_oracles.hpp main header file

* Minor modifications

* Change variable name from oracle to intersection_oracle

* Remove unused file

* Add higher-order reflections

* Add missing ignore_facet

* Wrap long lines

* Remove print statement

* Impose sticky boundary conditions for collocation

* Impose sticky boundary conditions for collocation

* WIP: Add integral collocation method class prototype

* Delete integral_collocation.hpp

* Modifications to collocation method

* Iteratively solve non-linear equations

* Fix bugs

* Minor modifications to test routines

* Optimize function oracles

* Comment for future work

* Minor changes

* Remove comments from yaml

* Restore README

* Restore README

* Remove unecessary comments

* Remove comments

* Add 3 badges
1 parent b2470c5
History

README.md

back to top