Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork93
Numerical optimization in pure Rust
License
Apache-2.0, MIT licenses found
Licenses found
argmin-rs/argmin
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Mathematical optimization in pure Rust
Website |Book |Docs (latest release) |Docs (main branch) |Examples (latest release) |Examples (main branch)
argmin is a numerical optimization library written entirely in Rust.
argmins goal is to offer a wide range of optimization algorithms with a consistent interface.It is type-agnostic by design, meaning that any type and/or math backend, such asnalgebra
orndarray
can be used -- even your own.
Observers allow one to track the progress of iterations, either by using one of the provided ones for logging to screen or disk or by implementing your own.
An optional checkpointing mechanism helps to mitigate the negative effects of crashes in unstable computing environments.
Due to Rusts powerful generics and traits, most features can be exchanged by your own tailored implementations.
argmin is designed to simplify the implementation of optimization algorithms and as such can also be used as a toolbox for the development of new algorithms. One can focus on the algorithm itself, while the handling of termination, parameter vectors, populations, gradients, Jacobians and Hessians is taken care of by the library.
- Line searches
- Backtracking line search
- More-Thuente line search
- Hager-Zhang line search
- Trust region method
- Cauchy point method
- Dogleg method
- Steihaug method
- Steepest descent
- Conjugate gradient method
- Nonlinear conjugate gradient method
- Newton methods
- Newton’s method
- Newton-CG
- Quasi-Newton methods
- BFGS
- L-BFGS
- DFP
- SR1
- SR1-TrustRegion
- Gauss-Newton method
- Gauss-Newton method with linesearch
- Golden-section search
- Landweber iteration
- Brent’s method
- Nelder-Mead method
- Simulated Annealing
- Particle Swarm Optimization
External solvers which implement theSolver
trait are compatible with argminsExecutor
,and as such can leverage features like checkpointing and observers.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE orhttp://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT orhttp://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
About
Numerical optimization in pure Rust
Topics
Resources
License
Apache-2.0, MIT licenses found
Licenses found
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.