diff --git a/README.md b/README.md index 15129be..bfff729 100644 --- a/README.md +++ b/README.md @@ -11,14 +11,19 @@ A Julia package for non-smooth optimization algorithms. This package provides algorithms for the minimization of objective functions that include non-smooth terms, such as constraints or non-differentiable penalties. Implemented algorithms include: -* (Fast) Proximal gradient methods -* Douglas-Rachford splitting -* Three-term splitting -* Primal-dual splitting algorithms -* Newton-type methods - -This package works well in combination with [ProximalOperators](https://github.com/JuliaFirstOrder/ProximalOperators.jl) (>= 0.15), -which contains a wide range of functions that can be used to express cost terms. +- (Fast) Proximal gradient methods +- Douglas-Rachford splitting +- Three-term splitting +- Primal-dual splitting algorithms +- Newton-type methods + +Algorithms rely on: +- [AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl) for automatic differentiation +(but you can easily bring your own gradients) +- the [ProximalCore API](https://github.com/JuliaFirstOrder/ProximalCore.jl) for proximal mappings, projections, etc, +to handle non-differentiable terms +(see for example [ProximalOperators](https://github.com/JuliaFirstOrder/ProximalOperators.jl) +for an extensive collection of functions). ## Documentation diff --git a/docs/src/index.md b/docs/src/index.md index 87b95ef..b1a119f 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -5,16 +5,21 @@ A Julia package for non-smooth optimization algorithms. [Link to GitHub reposito This package provides algorithms for the minimization of objective functions that include non-smooth terms, such as constraints or non-differentiable penalties. Implemented algorithms include: -* (Fast) Proximal gradient methods -* Douglas-Rachford splitting -* Three-term splitting -* Primal-dual splitting algorithms -* Newton-type methods +- (Fast) Proximal gradient methods +- Douglas-Rachford splitting +- Three-term splitting +- Primal-dual splitting algorithms +- Newton-type methods Check out [this section](@ref problems_algorithms) for an overview of the available algorithms. -This package works well in combination with [ProximalOperators](https://github.com/JuliaFirstOrder/ProximalOperators.jl) (>= 0.15), -which contains a wide range of functions that can be used to express cost terms. +Algorithms rely on: +- [AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl) for automatic differentiation +(but you can easily bring your own gradients) +- the [ProximalCore API](https://github.com/JuliaFirstOrder/ProximalCore.jl) for proximal mappings, projections, etc, +to handle non-differentiable terms +(see for example [ProximalOperators](https://github.com/JuliaFirstOrder/ProximalOperators.jl) +for an extensive collection of functions). !!! note @@ -23,20 +28,11 @@ which contains a wide range of functions that can be used to express cost terms. ## Installation -Install the latest stable release with - ```julia julia> ] pkg> add ProximalAlgorithms ``` -To install the development version instead (`master` branch), do - -```julia -julia> ] -pkg> add ProximalAlgorithms#master -``` - ## Citing If you use any of the algorithms from ProximalAlgorithms in your research, you are kindly asked to cite the relevant bibliography. @@ -45,3 +41,4 @@ Please check [this section of the manual](@ref problems_algorithms) for algorith ## Contributing Contributions are welcome in the form of [issue notifications](https://github.com/JuliaFirstOrder/ProximalAlgorithms.jl/issues) or [pull requests](https://github.com/JuliaFirstOrder/ProximalAlgorithms.jl/pulls). When contributing new algorithms, we highly recommend looking at already implemented ones to get inspiration on how to structure the code. +