Multi-Dimensional Bisection Method
MDBM.jl is a package is an efficient and robust root-finding algorithm, which can be used to determine whole high-dimensional submanifolds (points, curves, surfaces…) of the roots of implicit non-linear equation systems, especially of the cases, where the number of unknowns surpasses the number of equations.
It uses far less function evaluation than the brute-force approach, making it much faster and more memory efficient, especially for complex tasks.
MDBM algorithm can handle:
- multiple solutions
- arbitrary number of variable (typically: 3-6)
- arbitrary number of implicit equations
- multiple constraints in the parameter space
- degenerated functions
while providing the gradients of the equations for the roots by means of first order interpolation (and convergence rate).
This method can be used to create contour plots or isosurfaces in higher dimension, furthermore, it has as the advantage of being able to handle multiple functions at once.
It is a Julia implementation of a Matlab package.
Please have a look at MDBM.jl and at the examples. Feel free to suggest improvements, design choices and submit PR.
I hope you will find the algorithms useful in your own work.
Best wishes,
Daniel Bachrathy