Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prior Hessian methods use second partial derivative functions #14

Merged
merged 6 commits into from
Jun 15, 2021

Conversation

robbietuk
Copy link
Owner

No description provided.

@robbietuk robbietuk merged commit b6e6b54 into RDP/HessianVectorProduct Jun 15, 2021
robbietuk pushed a commit that referenced this pull request Jun 22, 2021
* RDP/accumulate_Hessian_times_input

* RDP accumulate_Hessian_times_input

* Added RDP Hessian documentation

* Add div by 0 safety

* Add epsilon to Hessian function

* Fix issue with logic

* Make prior test method `test_gradient`

* Adds test_Hessian method

* Test an array of different cases for the Hessian condition

* improve Hessian documentation and info

* Improve dot product

* Adds _is_convex variable to priors. default is false

* Reimplementation add_multiplication_with_approximate_Hessian

* Correct math in QP accumulate_Hessian_times_input

* Improve QP comments

* [ci skip] Add two methods to RDP class :(off_)diagonal_second_derivative

Updates the math for the RDP

* Prior Hessian methods use second partial derivative functions (#14)

* RDP Documententation

* QP use (off_)diagonal_second_derivative methods and documentation

* Restructure RDP and QP Hessian logic

* Improve RDP and QP documentation

* Implement log cosh accumulate_Hessian_times_input in terms of derivatives

* Documentation

* compute_Hessian method to all priors and test improvements in general

* Add method get_is_convex(), which accesses prior is_convex parameter and only test convexity of priors if convex function

* compute_Hessian method added to generalised prior and errors by default but with different messages depending on is_convex 

* Test rename and create test_Hessian_convexity and test_Hessian_methods

* Add test for compute_Hessian

* RelativeDifferencePrior initialisation call set_defaults

* Modernise `compute_Hessian` for QP and LogCosh. Add `compute_Hessian` for RDP

* Correct RDP second derivative functions

* Major changes to test_Hessian_against_numerical, which loops over each voxel for perturbation response

* Add verbosity suppression to suppress gradient info calls

* [ci skip] Add documentation to `test_gradient`
robbietuk pushed a commit that referenced this pull request Jun 27, 2022
* RDP Documententation

* QP use (off_)diagonal_second_derivative methods and documentation

* Restructure RDP and QP Hessian logic

* Improve RDP and QP documentation

* Implement log cosh accumulate_Hessian_times_input in terms of derivatives

* Documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant