Skip to main content

Crate scivex_optim

Crate scivex_optim 

Source
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.