Computing proximal operator of a constrained convex function
May I request for the feature extension to compute the proximal operator of a constrained convex function? For example, a constrained convex function that shows up in low rank factor analysis is:

where I_P is the indicator function of the convex set:

In my Julia package NExOS.jl I have used ProximalOperators.jl heavily when the functions are easy to compute. For now, whenever I need to deal with a constrained convex function, I am constructing the function object myself and computing the proximal operator by JuMP and a solver supported by it. If there was a subroutine in ProximalOperators.jl, which would construct the constrained function object and compute the proximal operator via calling other solvers, it would be great. Of course, I completely understand if this is outside of the scope of the package.
@Shuvomoy this could actually be done by implementing prox! for the Sum type, at least for simple cases: for "smooth + easily proximable" this can be done very efficiently I believe (the example you bring fits this case).
@lostella, thanks for your comment! You are right, if both have easy-to-compute proximal operators, then we can do it using Sum.
In this post, however, I am considering the situation when projecting onto the constraint set is not obvious, e.g., for the indicator function mentioned above is of that type (it shows up in low-rank factor analysis problem). In such a case, computing proximal operators probably will be best done by a convex optimization solver.
@Shuvomoy is \Sigma symmetric positive definite?
Yes, it is! Is there a way to formulate it in ProximalOperators.jl? That would be so great!
Mateusz (See link above my post) just brought this to my attention – super interesting, that looks like a prox on a manifold. For just X on the SPDs or for both X and D on a product manifold of I think. JuMP recently got an interface to Manopt, or one could try this in Manopt directly even, if this is still something of interest.