# cr.sparse.fom.scd¶

cr.sparse.fom.scd(prox_f, conj_neg_h, A, b, mu, x0, z0, options=FomOptions(nonneg=False, solver='at', max_iters=1000, tol=1e-08, L0=1.0, Lexact=inf, alpha=0.9, beta=0.5, mu=0, maximize=False, saddle=False))[source]

First order solver for smooth conic dual problems driver routine

Parameters
• prox_f (cr.sparse.opt.SmoothFunction) – A prox-capable objective function

• conj_neg_h (cr.sparse.opt.ProxCapable) – The conjugate negative $$h^{-}$$ function

• A (cr.sparse.lop.Operator) – A linear operator

• b (jax.numpy.ndarray) – The translation vector

• mu (float) – The (positive) scaling term for the quadratic term $$\frac{\mu}{2} \| x - x_0 \|_2^2$$

• x0 (jax.numpy.ndarray) – The center point for the quadratic term

• z0 (jax.numpy.ndarray) – The initial dual point

• options (FomOptions) – Options for configuring the algorithm

Returns

Solution of the optimization problem

Return type

FomState

The function uses first order conic solver algorithms to solve an optimization problem of the form:

(1)$\underset{x}{\text{minimize}} \left [ f(x) + \frac{\mu}{2} \| x - x_0 \|_2^2 + h \left (\AAA(x) + b \right) \right ]$
• Both $$f, h$$ must be convex and prox-capable, although neither needs to be smooth.

When $$h$$ is an indicator function for a convex cone $$\KKK$$, this is equivalent to:

(2)\begin{split}\begin{split}\begin{aligned} & \underset{x}{\text{minimize}} & & f(x) + \frac{\mu}{2} \| x - x_0 \|_2^2\\ & \text{subject to} & & \AAA(x) + b \in \KKK \end{aligned}\end{split}\end{split}

which is the smooth conic dual (SCD) model discussed in .