Skip to content

Commit

Permalink
update readme and docs
Browse files Browse the repository at this point in the history
  • Loading branch information
lostella committed Jan 21, 2024
1 parent 2d8d611 commit fd98409
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 24 deletions.
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
29 changes: 13 additions & 16 deletions docs/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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.
Expand All @@ -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.

0 comments on commit fd98409

Please sign in to comment.