File crhmc_input.h

Functions

template<typename Input, typename Polytope, typename Func, typename Grad, typename Hess, typename std::enable_if<std::is_same<Polytope, HPolytope<typename Input::point>>::value>::type* = nullptr>
inline Input convert2crhmc_input(Polytope &P, Func &f, Grad &g, Hess &h)
template<typename Point>
struct ZeroFunctor

Public Types

using Type = typename Point::FT

Public Functions

inline Point operator()(Point const &x) const

Public Members

struct parameters params
struct parameters

Public Members

Type L = 1
Type eta = 1
template<typename Point>
struct ZeroScalarFunctor

Public Types

using Type = typename Point::FT

Public Functions

inline Type operator()(Point const &x) const
template<typename MatrixType, typename Point, typename func = ZeroScalarFunctor<Point>, typename grad = ZeroFunctor<Point>, typename hess = ZeroFunctor<Point>>
class crhmc_input
#include <crhmc_input.h>

Input structure: With this the user can define the input for a crhmc polytope sampling problem.

Public Types

using MT = MatrixType
using Func = func
using Grad = grad
using Hess = hess
using point = Point

Public Functions

inline crhmc_input(int dim, func &function, grad &g, hess &h)
inline crhmc_input(int dim, func &function)
inline crhmc_input(int dim, func &function, grad &g)
inline crhmc_input(int dim)
inline void init(int dimension)

Public Members

MatrixType Aineq
VT bineq
MatrixType Aeq
VT beq
opts<Type> options
VT lb
VT ub
func &f
grad &df
hess &ddf
bool fZero
bool fHandle
bool dfHandle
bool ddfHandle
unsigned int dimension
const Type inf = options.max_coord + 1

Private Types

using Type = typename Point::FT
using VT = Eigen::Matrix<Type, Eigen::Dynamic, 1>

Private Members

ZeroFunctor<Point> zerof
ZeroScalarFunctor<Point> zerosf