google-deepmind / google-deepmind/optax

Add missing projections from jaxopt

Open
#1,280 14 comments 2 reactions 0 assignees View on GitHub
type:feature
Dominant language
Python
Stars
2.3k
Forks
369
Avg merge
10h 15m
Merged PRs (30d)
7

Description

Related: https://github.com/google-deepmind/optax/issues/977

The following projections are [present in jaxopt](https://jaxopt.github.io/stable/constrained.html#projections) but missing in optax:

- [ ] [sparse_simplex](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_sparse_simplex.html#jaxopt.projection.projection_sparse_simplex)
- [x] [hyperplane](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_hyperplane.html#jaxopt.projection.projection_hyperplane) (now available [here](https://optax.readthedocs.io/en/latest/api/projections.html#optax.projections.projection_hyperplane))
- [x] [halfspace](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_halfspace.html#jaxopt.projection.projection_halfspace) (now available [here](https://optax.readthedocs.io/en/latest/api/projections.html#optax.projections.projection_halfspace))
- [ ] [affine_set](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_affine_set.html#jaxopt.projection.projection_affine_set)
- [ ] [polyhedron](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_polyhedron.html#jaxopt.projection.projection_polyhedron)
- [ ] [box_section](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_box_section.html#jaxopt.projection.projection_box_section)
- [ ] [transport](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_transport.html#jaxopt.projection.projection_transport)
- [ ] [birkhoff](https://jaxopt.github.io/stable/_autosummary/jaxopt.projection.projection_birkhoff.html#jaxopt.projection.projection_birkhoff)

I can work on some of these.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.