Releases: Axect/Peroxide
Releases · Axect/Peroxide
v0.40.0
Release 0.40.0 (2025-07-24)
Move from arrow2 to arrow & parquet
- Remove
arrow2dependency - Add
arrowandparquetdependencies - Update
WithParquetimplementation - On user side, there are almost no changes in
DataFrameAPI, but there is one change forfugauser:CompressionOptions->UNCOMPRESSED,SNAPPY,GZIP(level),LZ4,ZSTD(level),BROTLI(level),LZO,LZ4_RAW- For
prelude user, there are completely no changes. Default compression isSNAPPY.
Release 0.39.11 (2025-07-22)
- Implement
derivativeandintegralof B-Spline
Full Changelog: v0.39.11...v0.40.0
v0.39.10
Release 0.39.10 (2025-07-11)
- Fixed a bug in the adaptive step size control for all embedded Runge-Kutta methods.
- Corrected the
BUcoefficient vector for the 7th order solution in theRKF78implementation.
Release 0.39.9 (2025-07-10)
- Change implementation of Gauss-Legendre 4th order method
Full Changelog: v0.39.8...v0.39.10
v0.39.8
Release 0.39.8 (2025-06-23)
- Implement
LogNormaldistributionLogNormal(mu: f64, sigma: f64)
- Fix sampling method for
Gamma
Full Changelog: v0.39.7...v0.39.8
v0.39.7
Release 0.39.7 (2025-05-27)
- Add some methods for
DataFramefilter_by<F: Fn(Scalar) -> bool>(&self, column: &str, f: F) -> anyhow::Result<DataFrame>
: Filter rows by a condition on a specific columnmask(&self, mask: &Series) -> anyhow::Result<DataFrame>
: Filter rows by a boolean maskselect_rows(&self, indices: &[usize]) -> DataFrame
: Select specific rows by indices
Release 0.39.6 (2025-05-16)
- New ODESolver:
RKF78- Implement
RKF78method forODESolver
- Implement
Full Changelog: v0.39.5...v0.39.7
v0.39.5
Release 0.39.5 (2025-04-21)
- New feature
rkyv- Implement
rkyv::{Archive, Serialize, Deserialize}forMatrix,Polynomial,Spline,ODE
- Implement
Full Changelog: v0.39.4...v0.39.5
v0.39.4
Release 0.39.4 (2025-04-11)
Optimize integrate
- Replace the output signature of
gauss_legendre_tableandkronrod_tableto&'static [f64]to avoid unnecessary allocations. - Hard code symmetry of weights and nodes into source code to avoid unnecessary allocations.
- New helper function -
compute_gauss_kronrod_sum_stored- Reduce the number of function calls (G+K -> K)
- Change update method of subinterval tolerance (divide by 2 -> divide by sqrt(2))
- These changes improve the performance of
integrateby 1.2x - 50x (to integrate highly oscillatory functions)
Update dependencies
- Update
randto0.9 - Update
rand_distrto0.5
Full Changelog: v0.39.3...v0.39.4
v0.39.3
v0.39.2
v0.39.1
Release 0.39.1 (2025-02-06)
-
Add
lambert_wdoc for crate docs #82 (Thanks to @JSorngard) -
Add default signature for
linspace!#85 (Thanks to @tarolling) -
Fix a bug in
ButcherTableau::step -
Add another example for ODE (
examples/ode_test_orbit.rs)
What's Changed
- Add Lambert W function to list of special functions in crate docs by @JSorngard in #82
- ADD: add default signature for linspace macro by @tarolling in #85
New Contributors
- @tarolling made their first contribution in #85
Full Changelog: v0.39.0...v0.39.1
v0.39.0
What's Changed
- Update
lambert_wcrate to version 0.4.0 by @JSorngard in #66 - [feature] Support complex matrix by @soumyasen1809 in #71
- [feature] Support complex matrix [2] by @soumyasen1809 in #73
- IMPL: generic and complex integration by @GComitini in #70
- DOC: Document generic integration by @GComitini in #76
- Rand matrix refactor by @bertini97 in #75
- Make sure mean and variance computations are numerically stable by @Hoff97 in #77
- [Proof of Concept] Initial support for parallelization using Rayon by @soumyasen1809 in #74
- Update
puruspedependency, removelambert_wdependency by @JSorngard in #79 - Hermite and Bessel polynomials added by @jgrage in #80
New Contributors
- @soumyasen1809 made their first contribution in #71
- @bertini97 made their first contribution in #75
- @Hoff97 made their first contribution in #77
- @jgrage made their first contribution in #80
Full Changelog: v0.37.9...v0.39.0