Replace NonlinearSolve with Roots and fix the ReverseDiff adjoint of find_alpha
#202
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR replaces NonlinearSolve with Roots for solving the root finding problem in the inverse of the planar layer.
I fixed some type inference problems in Roots some weeks ago (JuliaMath/Roots.jl#245) and some time ago also the convergence and AD issues of this algorithm were fixed by #126 by using an improved initial bracket and custom adjoints (BTW the ReverseDiff adjoint was never used and broken, it's fixed in this PR as well); so the motivation and reasons for #155 (move from Roots to NonlinearSolve) are gone.
The main motivation for this PR is (apart from the ReverseDiff bugfix) that it reduces the dependencies of Bijectors quite dramatically and hence makes the package more lightweight (#199). With the master branch, removing NonlinearSolve and adding Roots removes and adds the following indirect dependencies (note that all indirect dependencies added by Roots are already present due to NonlinearSolve):