Expand description
scivex-optim — Optimization, root finding, numerical integration, and ODE solvers.
Built on top of scivex_core with zero external dependencies for the
math itself. All functions are generic over Float.
§Modules
roots— Scalar root-finding (bisection, Newton, Brent)minimize_1d— 1-D minimization (golden section, Brent)minimize— Multi-dimensional unconstrained optimization (gradient descent, BFGS)integrate— Numerical integration (trapezoid, Simpson, adaptive Gauss-Kronrod)interpolate— Interpolation (linear, cubic spline, B-spline, bilinear, bicubic)ode— ODE initial value problem solvers (Euler, RK45, BDF-2)
Re-exports§
pub use curve_fit::LeastSquaresResult;pub use curve_fit::curve_fit;pub use curve_fit::levenberg_marquardt;pub use error::OptimError;pub use error::Result;pub use integrate::QuadOptions;pub use integrate::QuadResult;pub use integrate::quad;pub use integrate::simpson;pub use integrate::trapezoid;pub use interpolate::BSpline;pub use interpolate::Bicubic2d;pub use interpolate::Bilinear2d;pub use interpolate::CubicSpline;pub use interpolate::Extrapolate;pub use interpolate::Interp1dMethod;pub use interpolate::Interp2dMethod;pub use interpolate::Linear1d;pub use interpolate::SplineBoundary;pub use interpolate::interp1d;pub use interpolate::interp2d;pub use linprog::LinProgResult;pub use linprog::linprog;pub use minimize::Bounds;pub use minimize::MinimizeOptions;pub use minimize::MinimizeResult;pub use minimize::bfgs;pub use minimize::gradient_descent;pub use minimize::lbfgsb;pub use minimize::nelder_mead;pub use minimize::numerical_gradient;pub use minimize_1d::Minimize1dResult;pub use minimize_1d::brent_min;pub use minimize_1d::golden_section;pub use ode::OdeMethod;pub use ode::OdeOptions;pub use ode::OdeResult;pub use ode::bdf2;pub use ode::euler;pub use ode::rk45;pub use ode::solve_ivp;pub use pde::BoundaryCondition;pub use pde::PdeResult;pub use pde::heat_equation_1d;pub use pde::laplace_2d;pub use pde::wave_equation_1d;pub use quadprog::QpResult;pub use quadprog::quadprog;pub use roots::RootOptions;pub use roots::RootResult;pub use roots::bisection;pub use roots::brent_root;pub use roots::newton;pub use sparse_solve::JacobiPreconditioner;pub use sparse_solve::SparseSolveResult;pub use sparse_solve::bicgstab;pub use sparse_solve::conjugate_gradient;pub use sparse_solve::preconditioned_cg;
Modules§
- curve_
fit - Curve fitting via non-linear least squares (Levenberg-Marquardt). Curve fitting via non-linear least squares.
- error
- Optimization error types.
- integrate
- Numerical integration (trapezoid, Simpson, Gauss-Kronrod). Numerical integration (quadrature) algorithms.
- interpolate
- Interpolation (linear, cubic spline, B-spline, bilinear, bicubic). Interpolation algorithms (1-D and 2-D).
- linprog
- Linear programming (revised simplex method). Linear programming via the revised simplex method.
- minimize
- Multi-dimensional optimization (gradient descent, BFGS, Nelder-Mead, L-BFGS-B). Multi-dimensional unconstrained optimization.
- minimize_
1d - 1-D minimization (golden section, Brent). One-dimensional minimization algorithms.
- ode
- ODE initial value problem solvers (Euler, RK45, BDF-2). ODE initial value problem solvers.
- pde
- Partial differential equation solvers (finite difference methods). Partial differential equation solvers using finite difference methods.
- prelude
- Items intended for glob-import:
use scivex_optim::prelude::*; - quadprog
- Quadratic programming (active set method). Quadratic programming via the active set method.
- roots
- Scalar root-finding (bisection, Newton, Brent). Root-finding algorithms for scalar functions.
- sparse_
solve - Sparse linear system solvers (CG, BiCGSTAB, preconditioned CG).
Iterative solvers for sparse linear systems
Ax = b.