optax.projections.projection_halfspace

optax.projections.projection_halfspace#

optax.projections.projection_halfspace(x: Any, a: Any, b: jax.typing.ArrayLike) Any[source]#

Projection onto a halfspace.

Projects a tree x onto the halfspace defined by a tree a and scalar b.

\[\operatorname{argmin}_y \|x - y\|_2^2 \quad \text{subject to} \quad \langle a, y \rangle \leq b\]
Parameters:
  • x โ€“ tree to project.

  • a โ€“ tree defining halfspace onto which to project. Must have the same structure as x.

  • b โ€“ scalar defining halfspace onto which to project.

Returns:

tree with the same structure as x.