#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
pub mod core;
pub mod line_search;
#[cfg(feature = "problems")]
pub mod problems;
pub mod solver;
pub use crate::core::constraint::BoxConstrained;
pub use crate::core::executor::{run_loop, Executor, OptimizationResult, StepOutcome, Stepper};
pub use crate::core::inner::InnerExecutor;
pub use crate::core::math::{
AddDiagonalInPlace, AddDiagonalVectorInPlace, BoxAffineScaling, ClampInPlace,
DenseMatrixFromFn, Dot, GramMatrix, LinearSolveError, LinearSolveSpd, MatTransposeVec, MatVec,
MaxDiagonal, NegInPlace, NormInfinity, NormSquared, SampleUniformBox, ScaledAdd, VectorIndex,
};
pub use crate::core::numdiff::{
central_difference_gradient, central_difference_hessian, central_difference_jacobian,
forward_difference_gradient, forward_difference_hessian, forward_difference_jacobian,
FiniteDiff, Method,
};
pub use crate::core::problem::{CostFunction, Gradient, Hessian, Jacobian, Residual};
pub use crate::core::solver::Solver;
#[cfg(feature = "nalgebra")]
pub use crate::core::state::QuasiNewtonState;
pub use crate::core::state::{
BasicPopulationState, BasicSimplexState, BasicState, GradientState, IntoInitialSimplex,
LbfgsState, PopulationState, SimplexState, State,
};
pub use crate::core::termination::{
CostTolerance, GradientTolerance, MaxCostEvals, MaxGradientEvals, MaxIter, MaxTime,
ParamTolerance, ProjectedGradientTolerance, RelativeCostTolerance, RelativeGradientTolerance,
RelativeParamTolerance, SimplexTolerance, TerminationCriterion, TerminationReason,
};
pub use crate::line_search::{
Backtracking, Constant, LineSearch, LineSearchResult, MoreThuente, Wolfe,
};
pub use crate::solver::lbfgs::{LBFGS, LBFGSB};
#[cfg(feature = "nalgebra")]
pub use crate::solver::BFGS;
pub use crate::solver::{
BoundedCmaEs, BoundedCmaInject, Brent, ClosureInner, CmaEs, CmaInject, GaussNewton,
GradientDescent, LevenbergMarquardt, MaLsChCma, MaLsChState, MemeticInner, NelderMead,
ProjectedGradientDescent, RandomSearch, Ssga, Trf,
};