10template <
typename Scalar>
12 MatrixRef Jout)
const {
13 const int nr = (int)z.size();
14 assert(nr == Jout.rows());
15 ActiveType active_set(nr);
17 for (
int i = 0; i < nr; i++) {
20 Jout.row(i).setZero();
25template <
typename Scalar>
27 const ConstVectorRef &z, MatrixRef Jout)
const {
28 const int nr = (int)z.size();
29 assert(nr == Jout.rows());
30 ActiveType active_set(nr);
32 for (
int i = 0; i < nr; i++) {
35 Jout.row(i).setZero();
virtual void applyProjectionJacobian(const ConstVectorRef &z, MatrixRef Jout) const
Apply a jacobian of the projection/proximal operator to a matrix.
virtual void computeActiveSet(const ConstVectorRef &z, Eigen::Ref< ActiveType > out) const =0
virtual void applyNormalConeProjectionJacobian(const ConstVectorRef &z, MatrixRef Jout) const
Apply the jacobian of the projection on the normal cone.