TVM  0.9.4
tvm::requirements::AnisotropicWeightBase< Lightweight > Class Template Reference

#include <tvm/requirements/AnisotropicWeight.h>

Inheritance diagram for tvm::requirements::AnisotropicWeightBase< Lightweight >:
Collaboration diagram for tvm::requirements::AnisotropicWeightBase< Lightweight >:

Public Member Functions

 AnisotropicWeightBase ()
 
 AnisotropicWeightBase (const Eigen::VectorXd &w)
 
- Public Member Functions inherited from tvm::requirements::abstract::SingleSolvingRequirement< Eigen::VectorXd, true >
const Eigen::VectorXd & value () const
 
void value (const Eigen::VectorXd &val)
 
bool isDefault () const
 

Additional Inherited Members

- Protected Member Functions inherited from tvm::requirements::abstract::SingleSolvingRequirement< Eigen::VectorXd, true >
 SingleSolvingRequirement (const Eigen::VectorXd &val, bool isDefault)
 
 SingleSolvingRequirement (const SingleSolvingRequirement< Eigen::VectorXd, !Lightweight > &other)
 
SingleSolvingRequirementoperator= (const SingleSolvingRequirement< Eigen::VectorXd, !Lightweight > &other)
 
SingleSolvingRequirementoperator= (const Eigen::VectorXd &val)
 
- Protected Attributes inherited from tvm::requirements::abstract::SingleSolvingRequirement< Eigen::VectorXd, true >
bool default_
 
Eigen::VectorXd value_
 

Detailed Description

template<bool Lightweight = true>
class tvm::requirements::AnisotropicWeightBase< Lightweight >

This class represents an anisotropic weight to give more or less importance to the different rows of a constraint. It is given as a vector w. It results in the violation v(x) of the constraint being multiplied by diag(w'), where w' depends on the constraint violation evaluation chosen. w' is such that if w was a uniform vector with all components equal to alpha, the result would be coherent with using a Weight with value alpha.

This class can be redundant with Weight, as having a Weight alpha and an AnisotropicWeight w is the same as having a just an AnisotropicWeight w. As a guideline, it should be used only to discriminate between the rows of a constraint, while Weight would be used to discriminate between different constraints. As such the "mean" value of w should be 1.

This class replaces the notion of dimWeight in Tasks.

The default value for this class is weights of 1 on every row.

Constructor & Destructor Documentation

◆ AnisotropicWeightBase() [1/2]

template<bool Lightweight = true>
tvm::requirements::AnisotropicWeightBase< Lightweight >::AnisotropicWeightBase ( )
inline

Default constructor: all elements of w are 1

◆ AnisotropicWeightBase() [2/2]

template<bool Lightweight = true>
tvm::requirements::AnisotropicWeightBase< Lightweight >::AnisotropicWeightBase ( const Eigen::VectorXd &  w)
inline

Constructor for a given vector of weights w


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