Release `0.8.0` brings auto-recomputing functionality and CUDA GPU compatibility for the kick-based IBS.
Package Changes
**New Functionality**
- The kick classes' internals was rewritten in order to use the `particles`'s context for computations. This brings compatibility for the `xobjects.ContextCupy` context.
- Implemented an auto-recompute of the growth rates functionality for analytical classes.
- Implemented an auto-recompute of the kick coefficients functionality for kick classes.
**Changes:**
- Analytical classes do not raise and error if no growth rates have been computed when calling `.emittance_evolution`. Instead, they will log and compute them first.
- Kick classes do not raise and error if no kick coefficients have been computed when calling `.apply_ibs_kick`. Instead, they will log and compute them first.
**Maintenance**
- Added tests for all new functionality.
Documentation Changes
- Added example galleries for the auto-recomputing features.
- Added an FAQ section about the auto-recomputing features.
- Performed significant cleanup of the example gallery scripts to be more consistent between one another, and use the (private) convenience functions that work on device.
Other Changes
- Removed buggy badge from README.
- Renamed and cleanup up all benchmark scripts to be clearer about their purpose.
- Added private helpers in formulary to perform on-device (GPU compatible) computations for bunch length etc.
A big thanks to ewaagaard for testing this branch on CUDA devices.
See the [documentation](https://fsoubelet.github.io/xibs/) for details on all new functionality.
**Full Changelog**: https://github.com/fsoubelet/xibs/compare/0.7.1...0.8.0