Class NormalConeNSL

Defined in Program listing for file kernel/src/modelingTools/NormalConeNSL.hpp

class NormalConeNSL : public NonSmoothLaw

NormalCone NonSmoothLaw.

This class formalizes a nonsmooth law in the form of a normal cone inclusion i.e.

\[y \in \mathcal{N}_{-P}(-\lambda),\]

where \(P\) is the polytopic set. This is a generalization of the RelayNSL law, where the set \(P\) is a scaled box. Note that there exists an inverse of the previous relation in the form

\[-\lambda \in \partial \sigma_{-P} (y),\]

with \(\sigma_{-P}\) the support function of \(-P\) and \(\partial \sigma_{-P}\) the subdifferential of this support function.

Public Functions

NormalConeNSL(unsigned size, SP::SimpleMatrix H, SP::SiconosVector K)

constructor with the value of the NormalConeNSL attributes

Parameters
  • size: size of the NonSmoothLaw
  • H: matrix in the (H-K)-representation of the polytope P
  • K: vector in the (H-K)-representation of the polytope P

ACCEPT_STD_VISITORS()

visitors hook

virtual void display() const

print the data to the screen

SimpleMatrix &H()

get H

Return
a reference to the H matrix

virtual bool isVerified() const

check the ns law to see if it is verified

Return
true if the NS Law is verified, false otherwise

SiconosVector &K()

get K

Return
a reference to the K vector