pub mod curve_fit;
pub mod error;
pub mod integrate;
pub mod interpolate;
pub mod linprog;
pub mod minimize;
pub mod minimize_1d;
pub mod ode;
pub mod pde;
pub mod quadprog;
pub mod roots;
pub mod sparse_solve;
pub use curve_fit::{LeastSquaresResult, curve_fit, levenberg_marquardt};
pub use error::{OptimError, Result};
pub use integrate::{QuadOptions, QuadResult, quad, simpson, trapezoid};
pub use interpolate::{
BSpline, Bicubic2d, Bilinear2d, CubicSpline, Extrapolate, Interp1dMethod, Interp2dMethod,
Linear1d, SplineBoundary, interp1d, interp2d,
};
pub use linprog::{LinProgResult, linprog};
pub use minimize::{
Bounds, MinimizeOptions, MinimizeResult, bfgs, gradient_descent, lbfgsb, nelder_mead,
numerical_gradient,
};
pub use minimize_1d::{Minimize1dResult, brent_min, golden_section};
pub use ode::{OdeMethod, OdeOptions, OdeResult, bdf2, euler, rk45, solve_ivp};
pub use pde::{BoundaryCondition, PdeResult, heat_equation_1d, laplace_2d, wave_equation_1d};
pub use quadprog::{QpResult, quadprog};
pub use roots::{RootOptions, RootResult, bisection, brent_root, newton};
pub use sparse_solve::{
JacobiPreconditioner, SparseSolveResult, bicgstab, conjugate_gradient, preconditioned_cg,
};
pub mod prelude {
pub use crate::curve_fit::{LeastSquaresResult, curve_fit, levenberg_marquardt};
pub use crate::error::{OptimError, Result};
pub use crate::integrate::{QuadOptions, QuadResult, quad, simpson, trapezoid};
pub use crate::interpolate::{
BSpline, Bicubic2d, Bilinear2d, CubicSpline, Extrapolate, Interp1dMethod, Interp2dMethod,
Linear1d, SplineBoundary, interp1d, interp2d,
};
pub use crate::linprog::{LinProgResult, linprog};
pub use crate::minimize::{
Bounds, MinimizeOptions, MinimizeResult, bfgs, gradient_descent, lbfgsb, nelder_mead,
numerical_gradient,
};
pub use crate::minimize_1d::{Minimize1dResult, brent_min, golden_section};
pub use crate::ode::{OdeMethod, OdeOptions, OdeResult, bdf2, euler, rk45, solve_ivp};
pub use crate::pde::{
BoundaryCondition, PdeResult, heat_equation_1d, laplace_2d, wave_equation_1d,
};
pub use crate::quadprog::{QpResult, quadprog};
pub use crate::roots::{RootOptions, RootResult, bisection, brent_root, newton};
pub use crate::sparse_solve::{
JacobiPreconditioner, SparseSolveResult, bicgstab, conjugate_gradient, preconditioned_cg,
};
}