Rust numeric library with R, MATLAB & Python syntax
APACHE-2.0 License
Bot releases are hidden (Show)
Full Changelog: https://github.com/Axect/Peroxide/compare/v0.37.3...v0.37.4
Published by Axect 6 months ago
gauss_kronrod_quadrature
(early exit) (#59) (Thanks to @GComitini)UnitCubicBasis
CubicBSplineBases
Full Changelog: https://github.com/Axect/Peroxide/compare/v0.37.2...v0.37.3
Published by Axect 6 months ago
rtol
field to BroydenMethod
bisection!(f, (a,b), max_iter, tol)
newton!(f, x0, max_iter, tol)
(require #[ad_function]
attribute)secant!(f, (a,b), max_iter, tol)
false_position!(f, (a,b), max_iter, tol)
Full Changelog: https://github.com/Axect/Peroxide/compare/v0.37.1...v0.37.2
Published by Axect 6 months ago
BrodenMethod
: Broyden's method (I>=1, O>=1, T=([f64; I], [f64; I])
)Full Changelog: https://github.com/Axect/Peroxide/compare/v0.37.0...v0.37.1
Published by Axect 6 months ago
RootFinding
is composed of traits
RootFindingProblem<const I: usize, const O: usize, T>
: Trait for defining and root finding problem
I
: Input dimensionO
: Output dimensionT
: Type of stateRootFinder
: Trait for finding root
BisectionMethod
: Bisection Method (I=1, O=1, T=(f64, f64)
)FalsePositionMethod
: False Position Method (I=1, O=1, T=(f64, f64)
)NewtonMethod
: Newton Method (I=1, O=1, T=f64
)SecantMethod
: Secant Method (I=1, O=1, T=(f64, f64)
)thiserror
dependencyanyhow
for error handlingODE
, Spline
, WeightedUniform
Full Changelog: https://github.com/Axect/Peroxide/compare/v0.36.4...v0.37.0
Published by Axect 6 months ago
ButcherTableau
for non-embedded methods tooRALS3, RALS4, RK5, BS23
Full Changelog: https://github.com/Axect/Peroxide/compare/v0.36.2...v0.36.4
Published by Axect 6 months ago
ODEError::ConstraintViolation
-> ODEError::ConstraintViolation(f64, Vec<f64>, Vec<f64>)
ODEError
Full Changelog: https://github.com/Axect/Peroxide/compare/v0.36.1...v0.36.2
Published by Axect 6 months ago
Fix all warnings in peroxide
Change redundant method
Vec<f64>::resize
-> Vec<f64>::reshape
Error handling for concatenation
cbind
& rbind
now returns Result<Matrix, ConcatenateError>
New non-macro utils
column_stack(&[Vec<f64>]) -> Result<Matrix, ConcatenateError>
row_stack(&[Vec<f64>]) -> Result<Matrix, ConcatenateError>
rand_with_rng(usize, usize, &mut Rng) -> Matrix
Generic Butcher tableau trait (now for embedded Runge-Kutta methods)
pub trait ButcherTableau {
const C: &'static [f64];
const A: &'static [&'static [f64]];
const BH: &'static [f64];
const BL: &'static [f64];
fn tol(&self) -> f64;
fn safety_factor(&self) -> f64;
fn max_step_size(&self) -> f64;
fn min_step_size(&self) -> f64;
fn max_step_iter(&self) -> usize;
}
Implement ODEIntegrator
for ButcherTableau
ButcherTableau
then step
is freeThree available embedded Runge-Kutta methods
RKF45
: Runge-Kutta-Fehlberg 4/5th orderDP45
: Dormand-Prince 4/5th orderTSIT45
: Tsitouras 4/5th orderFull Changelog: https://github.com/Axect/Peroxide/compare/v0.36.0...v0.36.1
Published by Axect 6 months ago
thiserror
for error handlingsample_with_rng
method.SeedableRng
smallrng_from_seed
: Performant but not securestdrng_from_seed
: Performant enough and secure enoughODE
is composed of traits.
ODEProblem
: Trait for defining and ODE problem.ODEIntegrator
: Trait for integrating ODE.
RK4
: Runge-Kutta 4th orderRKF45
: Runge-Kutta-Fehlberg 4/5th orderGL4
: Gauss-Legendre 4th orderODESolver
: Trait for solving ODE.
BasicODESolver
: Basic ODE solver - define range of t, initial step size and integrate it.Full Changelog: https://github.com/Axect/Peroxide/compare/v0.35.1...v0.36.0
Published by Axect 7 months ago
Published by Axect 7 months ago
plot
featureset_line_style
. Here are available line styles.
LineStyle::Solid
LineStyle::Dashed
LineStyle::Dotted
LineStyle::DashDot
set_color
set_alpha
ExplicitODE
and ImplicitODE
for various fields.Full Changelog: https://github.com/Axect/Peroxide/compare/v0.34.6...v0.34.7