So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
bogus::QuadraticProxOp< ObjectType > Struct Template Reference

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
 

Detailed Description

template<typename ObjectType>
struct bogus::QuadraticProxOp< ObjectType >

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)

Template Parameters
ObjectTypethe type of the expression representing the inverse of (M + c I)

Constructor & Destructor Documentation

template<typename ObjectType >
bogus::QuadraticProxOp< ObjectType >::QuadraticProxOp ( const LinearOp linearExpr,
const Scalar  lambda,
const AffineVec &  affinePart 
)

Construct the proximal evaluator of a quadratic function.

Parameters
lambdathe inverse of the proximal function coefficient
linearExprMutliplying by linearExpr should be equivalent to solving a linear system with LHS ( M + lambda * I )
affinePartThe term f in the quadratic function J

Member Function Documentation

template<typename ObjectType >
Scalar bogus::QuadraticProxOp< ObjectType >::coefficient ( ) const
Returns
coeff so that eval() computes prox_{1/coeff}
template<typename ObjectType >
template<typename RhsT , typename ResT >
void bogus::QuadraticProxOp< ObjectType >::eval ( RhsT &  rhs,
ResT &  res 
) const

Evaluates prox_{1/coeff} J ( rhs/coeff )

Warning
may modify rhs

The documentation for this struct was generated from the following file: