pystop.solver.SLPG

X, output_dict = SLPG(obj_fun, manifold, Xinit = None, maxit= 100, prox = lambda X, eta: X, gtol = 1e-5, post_process = True, verbosity = 2, **kwargs)

Minimize fun over the Stiefel manifold by starting from Xinit and applying penalty-free infeasible first-order method. Here the fun can be expressed as f(X)+r(X), where f is smooth and r(X) is a convex, possibly nonsmooth proximal-friendly regularization term, i.e. the proximal mapping of r(X)

proxη,r(X):=argminDRn×p 12ηDXF2+r(X),

is easy to compute. The word ''penalty-free'' means SLPG does not need the penalty parameter β. For more details, we suggest the interested reader refer to a related paper.

 

Input arguments

 

Output results

 

Example

In these examples, we solve the following 1-norm regularized PCA problem

minXSn,p 12tr(XAX)+γi,j|Xij|.

The following example introduces how to apply SLPG to solve this problem.