You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Drop support for Python 2. Cxroots now requires python 3.8 or later
The verbose argument has been removed from some functions. It still exists for the Contour.roots method and find_roots function but it will now create a progress bar, using rich, rather than printing debugging information to the console.
Remove unused Contour.randomPoint method
All camelCase functions and arguments changed to be snake_case
m argument renamed to df_approx_order
Renames attempt_best argument to refine_roots_beyond_tol
Removed return_animation argument from demo_find_roots function and Contour.demo_roots method. Instead, the demo_roots_animation function or Contour.demo_roots_animation method can be used to get a animation.FuncAnimation object that would animate the rootfinding process without displaying it.
Renames RootResult.original_contour attribute to RootResult.contour
The Contour._size_plot method was renamed to Contour.size_plot and given a docstring
Removed Contour.approximate_roots method as it is intended for users to call Contour.roots instead
The count_roots, find_roots and demo_find_roots are no longer exposed directly by importing cxroots. Instead, it is intended that the contour method is used instead. For example, use Circle(0,3).find_roots(f) instead of find_roots(Circle(0,3),f)
New features
cxroots now logs rootfinding progress which can be accessed using the standard library's logging module. See the documentation for examples.
Add cxroots[plot] install option that will install dependencies for plotting contours and roots
Contour arrows to are now scale-independent (#153, thanks @llohse)
Renamed internal files to camel_case.py
Warnings from scipy.integrate.quad are no longer suppressed by cxroots while calculating the bilinear product
Changed default absolute and relative integration tolernaces to 1.49e-08 to match scipy's defaults for scipy.integrate.quad and scipy.integrate.romberg
Fixed issue with newton iteration method when refine_roots_beyond_tol was True and the routine would not exit if the error of the previous and current iterations were only equal
The callback for the muller iteration method will now correctly be passed the value of the evaluated function for the iteration, rather than the error.
Fixed description of root_tol and refine_roots_beyond_tol in iterate_to_root docstring
Changes default root_tol to 0 for secant, newton and muller functions
Changes starting points for muller's method used when root refining to be complex, to guard against the iterations keeping to the real line.