smooth.quadratic¶
Module: smooth.quadratic¶
Inheritance diagram for regreg.smooth.quadratic:
Classes¶
cholesky¶
-
class
regreg.smooth.quadratic.cholesky(Q, cholesky=None, banded=False)¶ Bases:
objectGiven \(Q > 0\), returns a linear transform that is multiplication by \(Q^{-1}\) by first computing the Cholesky decomposition of \(Q\).
- Parameters
Q: array
positive definite matrix
-
__init__(Q, cholesky=None, banded=False)¶ Initialize self. See help(type(self)) for accurate signature.
-
adjoint_map(x)¶
-
affine_map(x)¶
-
linear_map(x)¶
quadratic_loss¶
-
class
regreg.smooth.quadratic.quadratic_loss(shape, Q=None, Qdiag=False, coef=1.0, offset=None, quadratic=None, initial=None)¶ Bases:
regreg.smooth.smooth_atomHalf of the square of the l2 norm
- Parameters
shape : tuple
Shape of argument to smooth_objective
Q: ndarray
positive definite matrix (optional), defaults to identity. If Qdiag then Q is one-dimensional.
Qdiag : bool
Is the quadratic form diagonal?
coef : float (optional)
Scalar multiple to be applied (must be nonnegative)
offset : ndarray (optional)
Vector to be subtracted before evaluating smooth_objective.
quadratic : identity_quadratic (optional)
Instance of identity_quadratic to be added to overall objective.
initial : ndarray (optional)
Initial value for coefficients.
-
__init__(shape, Q=None, Qdiag=False, coef=1.0, offset=None, quadratic=None, initial=None)¶ Initialize self. See help(type(self)) for accurate signature.
-
classmethod
affine(linear_operator, offset, coef=1, diag=False, quadratic=None, **kws)¶ Keywords given in kws are passed to cls constructor along with other arguments
-
apply_offset(x)¶ If self.offset is not None, return x-self.offset, else return x.
-
property
conjugate¶
-
static
diagonal(D, offset=None, quadratic=None, initial=None)¶
-
static
fromarray(Q, offset=None, quadratic=None, initial=None)¶
-
get_conjugate(factor=False)¶
-
get_lipschitz()¶
-
get_offset()¶
-
get_quadratic()¶ Get the quadratic part of the composite.
-
latexify(var=None, idx='')¶
-
classmethod
linear(linear_operator, coef=1, diag=False, offset=None, quadratic=None, **kws)¶ Keywords given in kws are passed to cls constructor along with other arguments
-
property
lipschitz¶
-
nonsmooth_objective(x, check_feasibility=False)¶
-
objective(x, check_feasibility=False)¶
-
objective_template= '\\frac{%(coef)s}{2} \\cdot %(var)s^T %(Q)s %(var)s'¶
-
objective_vars= {'Q': 'Q', 'coef': 'C', 'offset': '\\alpha+', 'shape': 'p', 'var': '\\beta'}¶
-
property
offset¶
-
proximal(quadratic)¶
-
proximal_optimum(quadratic)¶
-
proximal_step(quadratic, prox_control=None)¶ Compute the proximal optimization
- Parameters
prox_control: [None, dict]
If not None, then a dictionary of parameters for the prox procedure
-
property
quadratic¶ Quadratic part of the object, instance of regreg.identity_quadratic.identity_quadratic.
-
scale(obj, copy=False)¶
-
set_lipschitz(value)¶
-
set_offset(value)¶
-
set_quadratic(quadratic)¶ Set the quadratic part of the composite.
-
classmethod
shift(offset, coef=1, quadratic=None, **kws)¶ Keywords given in kws are passed to cls constructor along with other arguments
-
smooth_objective(x, mode='both', check_feasibility=False)¶ Evaluate a smooth function and/or its gradient
if mode == ‘both’, return both function value and gradient if mode == ‘grad’, return only the gradient if mode == ‘func’, return only the function value
-
smoothed(smoothing_quadratic)¶ Add quadratic smoothing term
-
solve(quadratic=None, return_optimum=False, **fit_args)¶
-
static
squared_transform(transform, offset=None, quadratic=None, initial=None)¶
Functions¶
-
regreg.smooth.quadratic.signal_approximator(signal, coef=1)¶ Least squares with design \(I\)
\[\]rac{C}{2} |eta-Y|^2_2
-
regreg.smooth.quadratic.squared_error(X, Y, coef=1)¶ Least squares with design \(X\)
\[\frac{C}{2} \|X\beta-Y\|^2_2\]- Parameters
X : affine_transform
Design matrix
Y : np.array