Cxroots

Latest version: v2.1.0

Safety actively analyzes 621363 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

2.1.0

- Improved reliability by subdividing contours that produce invalid approximations for multiplicites, rather than ignoring the individual invalid approximations.

2.0.1

- Record in setup.py that only numpy < 1.25 will work with cxroots currently (https://github.com/rparini/cxroots/issues/285)
- Fix type annotation for `util.integrate_quad_complex` function
- Add more debug logging for root counting
- Adjust root counting error advice to include chaning integration method
- Fix type issue in contour.__call__ by hard coding array dtype

2.0.0

Breaking changes

- 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](https://github.com/Textualize/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](https://docs.python.org/3/library/logging.html). See the [documentation](https://rparini.github.io/cxroots/logging.html) for examples.
- Add `cxroots[plot]` install option that will install dependencies for plotting contours and roots
- Added type annotations for all public interfaces

Minor changes and fixes

- Use [Black](https://github.com/psf/black) formatting and added pre-commit hook
- Contour arrows to are now scale-independent ([153](https://github.com/rparini/cxroots/issues/153), thanks [llohse](https://github.com/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.

1.1.11

- Fixed error when using `romb` integration method when supplied with a derivative function that returns a constant value

1.1.10

- Replaced docrep with numpydoc

1.1.9

- Fix depreciation warning from scipy

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.