WIP Newton nonlinear equation solver.
Welp, I went through all that work to implement the backtracking Newton solver, and it actually performs worse than the naive one for the tests I've written. I think I've implemented it correctly, but bugs in numerical algorithms can be stupidly hard to track down. It's probably best at this point to just go ahead with the simple solver, unless I have some problem with it. It may well be fine: it seems to do quite well on under-determined problems, which is pretty much my bread-and-butter.
Refactor of mcmc in terms of a couple of slightly lower-abstraction-level functions. This should permit a lot more flexibility in experimenting with things such as burn-in. I'm still not totally happy with public interface to the inference layer, though--it's a bit too complex and requires too much knowledge of multi-stage programming.
Fixing a memory issue.
Got rid of processTrace. It wasn't really doing anything useful for us.
Experimenting with simpler backtracking for newton solver, but it's still not working. If I need to, I may try to figure out what's going on.
Useful utilities.
Starting to make newton stuff macro-based. Committing before doing more refactoring.
newton functions now use macros, to allow for total flexibility in the F functions that can be provided.
Derp, needed this stuff for manifolds to be usable.
A bunch of miscellaneous things related to manifolds.
Fixing bug where some parts of the code used the word "relaxManifold" while others used "relaxManifolds"
Refactoring; moving newton and linsolve into terra-utils.
Small refactor of momentum sampling before implementing CHMC.
WIP on CHMC (validity checking, constrained momentum sampling)
WIP on CHMC; adding a bunch of code to deal with constraint jacobians.
Refactoring the code to handle momenta correctly (the previous code was not general enough for all the options i've ended up using with HMC).
HMC with relaxManifolds no longer requires that the trace passed to it be prepped; it does this preparation itself.
Ok, I *think* this is the finished RATTLE implementation, but I still need to (thoroughly) test it.
CHMC runs without crashing, but it's behavior is…a bit odd.