Skip to content

Values returned by prox! function #160

Description

@BenjaminPINEAU

For a given function $h$, prox! functions from ShiftedProximalOperators return the value of the proximal operator while prox! function from ProximalOperator return the value of $h$ evaluate in $\mathrm{prox}_h$.

To be consistent, I think that prox! function from ShiftedProximalOperators should also return the (shifted) value of $h$.
For exemple, the Moreau envelope in ProximalOperator uses the value of $h$ as the return value of the prox function:

function (f::MoreauEnvelope)(x)
    R = eltype(x)
    buf = similar(x)
    g_prox = prox!(buf, f.g, x, f.lambda)
    return g_prox + R(1) / (2 * f.lambda) * norm(buf .- x)^2
end

The return value will be incorrect if the function is derived from ShiftedProximalOperators.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions