So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
|
Evaluation of prox_{1/c} J with J(x) = 1/2 xM'x + f'x. More...
#include <ADMM.hpp>
Public Types | |
typedef BlockMatrixTraits < ObjectType > | BlockTraits |
typedef BlockTraits::Scalar | Scalar |
typedef ProblemTraits< Scalar > | GlobalProblemTraits |
typedef BlockObjectBase < ObjectType > | LinearOp |
typedef GlobalProblemTraits::DynVector | AffineVec |
Public Member Functions | |
QuadraticProxOp (const LinearOp &linearExpr, const Scalar lambda, const AffineVec &affinePart) | |
Construct the proximal evaluator of a quadratic function. More... | |
template<typename RhsT , typename ResT > | |
void | eval (RhsT &rhs, ResT &res) const |
Evaluates prox_{1/coeff} J ( rhs/coeff ) More... | |
Scalar | coefficient () const |
Evaluation of prox_{1/c} J with J(x) = 1/2 xM'x + f'x.
Requires a way to solve linear systems with LHS ( M + c I)
ObjectType | the type of the expression representing the inverse of (M + c I) |
bogus::QuadraticProxOp< ObjectType >::QuadraticProxOp | ( | const LinearOp & | linearExpr, |
const Scalar | lambda, | ||
const AffineVec & | affinePart | ||
) |
Construct the proximal evaluator of a quadratic function.
lambda | the inverse of the proximal function coefficient |
linearExpr | Mutliplying by linearExpr should be equivalent to solving a linear system with LHS ( M + lambda * I ) |
affinePart | The term f in the quadratic function J |
Scalar bogus::QuadraticProxOp< ObjectType >::coefficient | ( | ) | const |
void bogus::QuadraticProxOp< ObjectType >::eval | ( | RhsT & | rhs, |
ResT & | res | ||
) | const |
Evaluates prox_{1/coeff} J ( rhs/coeff )