mlpack  3.0.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Functions
mlpack::optimization::traits Namespace Reference

Classes

struct  CheckDecomposableEvaluate
 Check if a suitable decomposable overload of Evaluate() is available. More...
 
struct  CheckDecomposableEvaluateWithGradient
 Check if a suitable decomposable overload of EvaluateWithGradient() is available. More...
 
struct  CheckDecomposableGradient
 Check if a suitable decomposable overload of Gradient() is available. More...
 
struct  CheckEvaluate
 Check if a suitable overload of Evaluate() is available. More...
 
struct  CheckEvaluateConstraint
 Check if a suitable overload of EvaluateConstraint() is available. More...
 
struct  CheckEvaluateWithGradient
 Check if a suitable overload of EvaluateWithGradient() is available. More...
 
struct  CheckGradient
 Check if a suitable overload of Gradient() is available. More...
 
struct  CheckGradientConstraint
 Check if a suitable overload of GradientConstraint() is available. More...
 
struct  CheckNumConstraints
 Check if a suitable overload of NumConstraints() is available. More...
 
struct  CheckNumFeatures
 Check if a suitable overload of NumFeatures() is available. More...
 
struct  CheckNumFunctions
 Check if a suitable overload of NumFunctions() is available. More...
 
struct  CheckPartialGradient
 Check if a suitable overload of PartialGradient() is available. More...
 
struct  CheckShuffle
 Check if a suitable overload of Shuffle() is available. More...
 
struct  CheckSparseGradient
 Check if a suitable overload of Gradient() that supports sparse gradients is available. More...
 
struct  HasConstSignatures
 Utility struct: sometimes we want to know if we have two functions available, and that at least one of them is const and both of them are not non-const and non-static. More...
 
struct  HasNonConstSignatures
 Utility struct: sometimes we want to know if we have two functions available, and that at least one of them is non-const and non-static. More...
 
struct  UnconstructableType
 This is a utility type used to provide unusable overloads from each of the mixin classes. More...
 

Typedefs

template<typename FunctionType >
using DecomposableEvaluateConstForm = double(FunctionType::*)(const arma::mat &, const size_t, const size_t) const
 This is the form of a decomposable const Evaluate() method. More...
 
template<typename FunctionType >
using DecomposableEvaluateForm = double(FunctionType::*)(const arma::mat &, const size_t, const size_t)
 This is the form of a decomposable Evaluate() method. More...
 
template<typename FunctionType >
using DecomposableEvaluateStaticForm = double(*)(const arma::mat &, const size_t, const size_t)
 This is the form of a decomposable static Evaluate() method. More...
 
template<typename FunctionType >
using DecomposableEvaluateWithGradientConstForm = double(FunctionType::*)(const arma::mat &, const size_t, arma::mat &, const size_t) const
 This is the form of a decomposable const EvaluateWithGradient() method. More...
 
template<typename FunctionType >
using DecomposableEvaluateWithGradientForm = double(FunctionType::*)(const arma::mat &, const size_t, arma::mat &, const size_t)
 This is the form of a decomposable non-const EvaluateWithGradient() method. More...
 
template<typename FunctionType >
using DecomposableEvaluateWithGradientStaticForm = double(*)(const arma::mat &, const size_t, arma::mat &, const size_t)
 This is the form of a decomposable static EvaluateWithGradient() method. More...
 
template<typename FunctionType >
using DecomposableGradientConstForm = void(FunctionType::*)(const arma::mat &, const size_t, arma::mat &, const size_t) const
 This the form of a decomposable const Gradient() method. More...
 
template<typename FunctionType >
using DecomposableGradientForm = void(FunctionType::*)(const arma::mat &, const size_t, arma::mat &, const size_t)
 This is the form of a decomposable non-const Gradient() method. More...
 
template<typename FunctionType >
using DecomposableGradientStaticForm = void(*)(const arma::mat &, const size_t, arma::mat &, const size_t)
 This is the form of a decomposable static Gradient() method. More...
 
template<typename FunctionType >
using EvaluateConstForm = double(FunctionType::*)(const arma::mat &) const
 This is the form of a const Evaluate() method. More...
 
template<typename FunctionType >
using EvaluateConstraintConstForm = double(FunctionType::*)(const size_t, const arma::mat &) const
 This is the form of a const EvaluateConstraint() method. More...
 
template<typename FunctionType >
using EvaluateConstraintForm = double(FunctionType::*)(const size_t, const arma::mat &)
 This is the form of a non-const EvaluateConstraint() method. More...
 
template<typename FunctionType >
using EvaluateConstraintStaticForm = double(*)(const size_t, const arma::mat &)
 This is the form of a static EvaluateConstraint() method. More...
 
template<typename FunctionType >
using EvaluateForm = double(FunctionType::*)(const arma::mat &)
 This is the form of a non-const Evaluate() method. More...
 
template<typename FunctionType >
using EvaluateStaticForm = double(*)(const arma::mat &)
 This is the form of a static Evaluate() method. More...
 
template<typename FunctionType >
using EvaluateWithGradientConstForm = double(FunctionType::*)(const arma::mat &, arma::mat &) const
 This is the form of a const EvaluateWithGradient() method. More...
 
template<typename FunctionType >
using EvaluateWithGradientForm = double(FunctionType::*)(const arma::mat &, arma::mat &)
 This is the form of a non-const EvaluateWithGradient() method. More...
 
template<typename FunctionType >
using EvaluateWithGradientStaticForm = double(*)(const arma::mat &, arma::mat &)
 This is the form of a static EvaluateWithGradient() method. More...
 
template<typename FunctionType >
using GradientConstForm = void(FunctionType::*)(const arma::mat &, arma::mat &) const
 This is the form of a const Gradient() method. More...
 
template<typename FunctionType >
using GradientConstraintConstForm = void(FunctionType::*)(const size_t, const arma::mat &, arma::mat &) const
 This is the form of a const GradientConstraint() method. More...
 
template<typename FunctionType >
using GradientConstraintForm = void(FunctionType::*)(const size_t, const arma::mat &, arma::mat &)
 This is the form of a non-const GradientConstraint() method. More...
 
template<typename Class , typename... Ts>
using GradientConstraintStaticForm = void(*)(const size_t, const arma::mat &, arma::mat &)
 This is the form of a static GradientConstraint() method. More...
 
template<typename FunctionType >
using GradientForm = void(FunctionType::*)(const arma::mat &, arma::mat &)
 This is the form of a non-const Gradient() method. More...
 
template<typename FunctionType >
using GradientStaticForm = void(*)(const arma::mat &, arma::mat &)
 This is the form of a static Gradient() method. More...
 
template<typename FunctionType >
using NumConstraintsConstForm = size_t(FunctionType::*)() const
 This is the form of a const NumConstraints() method. More...
 
template<typename FunctionType >
using NumConstraintsForm ) = size_t(FunctionType::*)(
 This is the form of a non-const NumConstraints() method. More...
 
template<typename FunctionType >
using NumConstraintsStaticForm ) = size_t(*)(
 This is the form of a static NumConstraints() method. More...
 
template<typename FunctionType >
using NumFeaturesConstForm = size_t(FunctionType::*)() const
 This is the form of a const NumFeatures() method. More...
 
template<typename FunctionType >
using NumFeaturesForm ) = size_t(FunctionType::*)(
 This is the form of a non-const NumFeatures() method. More...
 
template<typename FunctionType >
using NumFeaturesStaticForm ) = size_t(*)(
 This is the form of a static NumFeatures() method. More...
 
template<typename FunctionType >
using NumFunctionsConstForm = size_t(FunctionType::*)() const
 This is the form of a const NumFunctions() method. More...
 
template<typename FunctionType >
using NumFunctionsForm ) = size_t(FunctionType::*)(
 This is the form of a non-const NumFunctions() method. More...
 
template<typename FunctionType >
using NumFunctionsStaticForm ) = size_t(*)(
 This is the form of a static NumFunctions() method. More...
 
template<typename FunctionType , typename... Ts>
using OtherConstForm = double(FunctionType::*)(Ts...) const
 This is a utility struct that will match any const form. More...
 
template<typename FunctionType , typename... Ts>
using OtherForm = double(FunctionType::*)(Ts...)
 This is a utility struct that will match any non-const form. More...
 
template<typename FunctionType , typename... Ts>
using OtherStaticForm = double(*)(Ts...)
 This is a utility struct that will match any static form. More...
 
template<typename FunctionType >
using PartialGradientConstForm = void(FunctionType::*)(const arma::mat &, const size_t, arma::sp_mat &) const
 This is the form of a const PartialGradient() method. More...
 
template<typename FunctionType >
using PartialGradientForm = void(FunctionType::*)(const arma::mat &, const size_t, arma::sp_mat &)
 This is the form of a non-const PartialGradient() method. More...
 
template<typename FunctionType >
using PartialGradientStaticForm = void(*)(const arma::mat &, const size_t, arma::sp_mat &)
 This is the form of a static PartialGradient() method. More...
 
template<typename FunctionType >
using ShuffleConstForm = void(FunctionType::*)() const
 This is the form of a const Shuffle() method. More...
 
template<typename FunctionType >
using ShuffleForm ) = void(FunctionType::*)(
 This is the form of a non-const Shuffle() method. More...
 
template<typename FunctionType >
using ShuffleStaticForm ) = void(*)(
 This is the form of a static Shuffle() method. More...
 
template<typename FunctionType >
using SparseGradientConstForm = void(FunctionType::*)(const arma::mat &, const size_t, arma::sp_mat &, const size_t) const
 This is the form of a const sparse Gradient() method. More...
 
template<typename FunctionType >
using SparseGradientForm = void(FunctionType::*)(const arma::mat &, const size_t, arma::sp_mat &, const size_t)
 This is the form of a non-const sparse Gradient() method. More...
 
template<typename FunctionType >
using SparseGradientStaticForm = void(*)(const arma::mat &, const size_t, arma::sp_mat &, const size_t)
 This is the form of a static sparse Gradient() method. More...
 

Functions

template<typename FunctionType >
void CheckConstrainedFunctionTypeAPI ()
 Perform checks for the ConstrainedFunctionType API. More...
 
template<typename FunctionType >
void CheckDecomposableFunctionTypeAPI ()
 Perform checks for the DecomposableFunctionType API. More...
 
template<typename FunctionType >
void CheckFunctionTypeAPI ()
 Perform checks for the regular FunctionType API. More...
 
template<typename FunctionType >
void CheckNonDifferentiableDecomposableFunctionTypeAPI ()
 Perform checks for the NonDifferentiableDecomposableFunctionType API. More...
 
template<typename FunctionType >
void CheckNonDifferentiableFunctionTypeAPI ()
 Perform checks for the NonDifferentiableFunctionType API. More...
 
template<typename FunctionType >
void CheckResolvableFunctionTypeAPI ()
 Perform checks for the ResolvableFunctionType API. More...
 
template<typename FunctionType >
void CheckSparseFunctionTypeAPI ()
 Perform checks for the SparseFunctionType API. More...
 
 HAS_EXACT_METHOD_FORM (Evaluate, HasEvaluate)
 Detect an Evaluate() method. More...
 
 HAS_EXACT_METHOD_FORM (Gradient, HasGradient)
 Detect a Gradient() method. More...
 
 HAS_EXACT_METHOD_FORM (EvaluateWithGradient, HasEvaluateWithGradient)
 Detect an EvaluateWithGradient() method. More...
 
 HAS_EXACT_METHOD_FORM (NumFunctions, HasNumFunctions)
 Detect a NumFunctions() method. More...
 
 HAS_EXACT_METHOD_FORM (Shuffle, HasShuffle)
 Detect a Shuffle() method. More...
 
 HAS_EXACT_METHOD_FORM (NumConstraints, HasNumConstraints)
 Detect a NumConstraints() method. More...
 
 HAS_EXACT_METHOD_FORM (EvaluateConstraint, HasEvaluateConstraint)
 Detect an EvaluateConstraint() method. More...
 
 HAS_EXACT_METHOD_FORM (GradientConstraint, HasGradientConstraint)
 Detect a GradientConstraint() method. More...
 
 HAS_EXACT_METHOD_FORM (NumFeatures, HasNumFeatures)
 Detect a NumFeatures() method. More...
 
 HAS_EXACT_METHOD_FORM (PartialGradient, HasPartialGradient)
 Detect a PartialGradient() method. More...
 

Typedef Documentation

using DecomposableEvaluateConstForm = double(FunctionType::*)( const arma::mat&, const size_t, const size_t) const

This is the form of a decomposable const Evaluate() method.

Definition at line 117 of file traits.hpp.

using DecomposableEvaluateForm = double(FunctionType::*)( const arma::mat&, const size_t, const size_t)

This is the form of a decomposable Evaluate() method.

Definition at line 112 of file traits.hpp.

using DecomposableEvaluateStaticForm = double(*)( const arma::mat&, const size_t, const size_t)

This is the form of a decomposable static Evaluate() method.

Definition at line 122 of file traits.hpp.

using DecomposableEvaluateWithGradientConstForm = double(FunctionType::*)( const arma::mat&, const size_t, arma::mat&, const size_t) const

This is the form of a decomposable const EvaluateWithGradient() method.

Definition at line 147 of file traits.hpp.

using DecomposableEvaluateWithGradientForm = double(FunctionType::*)( const arma::mat&, const size_t, arma::mat&, const size_t)

This is the form of a decomposable non-const EvaluateWithGradient() method.

Definition at line 142 of file traits.hpp.

using DecomposableEvaluateWithGradientStaticForm = double(*)( const arma::mat&, const size_t, arma::mat&, const size_t)

This is the form of a decomposable static EvaluateWithGradient() method.

Definition at line 152 of file traits.hpp.

using DecomposableGradientConstForm = void(FunctionType::*)( const arma::mat&, const size_t, arma::mat&, const size_t) const

This the form of a decomposable const Gradient() method.

Definition at line 132 of file traits.hpp.

using DecomposableGradientForm = void(FunctionType::*)( const arma::mat&, const size_t, arma::mat&, const size_t)

This is the form of a decomposable non-const Gradient() method.

Definition at line 127 of file traits.hpp.

using DecomposableGradientStaticForm = void(*)( const arma::mat&, const size_t, arma::mat&, const size_t)

This is the form of a decomposable static Gradient() method.

Definition at line 137 of file traits.hpp.

using EvaluateConstForm = double(FunctionType::*)(const arma::mat&) const

This is the form of a const Evaluate() method.

Definition at line 51 of file traits.hpp.

using EvaluateConstraintConstForm = double(FunctionType::*)( const size_t, const arma::mat&) const

This is the form of a const EvaluateConstraint() method.

Definition at line 174 of file traits.hpp.

using EvaluateConstraintForm = double(FunctionType::*)( const size_t, const arma::mat&)

This is the form of a non-const EvaluateConstraint() method.

Definition at line 169 of file traits.hpp.

using EvaluateConstraintStaticForm = double(*)(const size_t, const arma::mat&)

This is the form of a static EvaluateConstraint() method.

Definition at line 178 of file traits.hpp.

using EvaluateForm = double(FunctionType::*)(const arma::mat&)

This is the form of a non-const Evaluate() method.

Definition at line 46 of file traits.hpp.

using EvaluateStaticForm = double(*)(const arma::mat&)

This is the form of a static Evaluate() method.

Definition at line 55 of file traits.hpp.

using EvaluateWithGradientConstForm = double(FunctionType::*)(const arma::mat&, arma::mat&) const

This is the form of a const EvaluateWithGradient() method.

Definition at line 78 of file traits.hpp.

using EvaluateWithGradientForm = double(FunctionType::*)(const arma::mat&, arma::mat&)

This is the form of a non-const EvaluateWithGradient() method.

Definition at line 73 of file traits.hpp.

using EvaluateWithGradientStaticForm = double(*)(const arma::mat&, arma::mat&)

This is the form of a static EvaluateWithGradient() method.

Definition at line 83 of file traits.hpp.

using GradientConstForm = void(FunctionType::*)(const arma::mat&, arma::mat&) const

This is the form of a const Gradient() method.

Definition at line 64 of file traits.hpp.

using GradientConstraintConstForm = void(FunctionType::*)( const size_t, const arma::mat&, arma::mat&) const

This is the form of a const GradientConstraint() method.

Definition at line 188 of file traits.hpp.

using GradientConstraintForm = void(FunctionType::*)( const size_t, const arma::mat&, arma::mat&)

This is the form of a non-const GradientConstraint() method.

Definition at line 183 of file traits.hpp.

using GradientConstraintStaticForm = void(*)( const size_t, const arma::mat&, arma::mat&)

This is the form of a static GradientConstraint() method.

Definition at line 193 of file traits.hpp.

using GradientForm = void(FunctionType::*)(const arma::mat&, arma::mat&)

This is the form of a non-const Gradient() method.

Definition at line 59 of file traits.hpp.

using GradientStaticForm = void(*)(const arma::mat&, arma::mat&)

This is the form of a static Gradient() method.

Definition at line 68 of file traits.hpp.

using NumConstraintsConstForm = size_t(FunctionType::*)() const

This is the form of a const NumConstraints() method.

Definition at line 160 of file traits.hpp.

using NumConstraintsForm = size_t(FunctionType::*)(

This is the form of a non-const NumConstraints() method.

Definition at line 156 of file traits.hpp.

using NumConstraintsStaticForm = size_t(*)(

This is the form of a static NumConstraints() method.

Definition at line 164 of file traits.hpp.

using NumFeaturesConstForm = size_t(FunctionType::*)() const

This is the form of a const NumFeatures() method.

Definition at line 216 of file traits.hpp.

using NumFeaturesForm = size_t(FunctionType::*)(

This is the form of a non-const NumFeatures() method.

Definition at line 212 of file traits.hpp.

using NumFeaturesStaticForm = size_t(*)(

This is the form of a static NumFeatures() method.

Definition at line 220 of file traits.hpp.

using NumFunctionsConstForm = size_t(FunctionType::*)() const

This is the form of a const NumFunctions() method.

Definition at line 91 of file traits.hpp.

using NumFunctionsForm = size_t(FunctionType::*)(

This is the form of a non-const NumFunctions() method.

Definition at line 87 of file traits.hpp.

using NumFunctionsStaticForm = size_t(*)(

This is the form of a static NumFunctions() method.

Definition at line 95 of file traits.hpp.

using OtherConstForm = double(FunctionType::*)(Ts...) const

This is a utility struct that will match any const form.

Definition at line 243 of file traits.hpp.

using OtherForm = double(FunctionType::*)(Ts...)

This is a utility struct that will match any non-const form.

Definition at line 239 of file traits.hpp.

using OtherStaticForm = double(*)(Ts...)

This is a utility struct that will match any static form.

Definition at line 247 of file traits.hpp.

using PartialGradientConstForm = void(FunctionType::*)( const arma::mat&, const size_t, arma::sp_mat&) const

This is the form of a const PartialGradient() method.

Definition at line 230 of file traits.hpp.

using PartialGradientForm = void(FunctionType::*)( const arma::mat&, const size_t, arma::sp_mat&)

This is the form of a non-const PartialGradient() method.

Definition at line 225 of file traits.hpp.

using PartialGradientStaticForm = void(*)( const arma::mat&, const size_t, arma::sp_mat&)

This is the form of a static PartialGradient() method.

Definition at line 235 of file traits.hpp.

using ShuffleConstForm = void(FunctionType::*)() const

This is the form of a const Shuffle() method.

Definition at line 103 of file traits.hpp.

using ShuffleForm = void(FunctionType::*)(

This is the form of a non-const Shuffle() method.

Definition at line 99 of file traits.hpp.

using ShuffleStaticForm = void(*)(

This is the form of a static Shuffle() method.

Definition at line 107 of file traits.hpp.

using SparseGradientConstForm = void(FunctionType::*)( const arma::mat&, const size_t, arma::sp_mat&, const size_t) const

This is the form of a const sparse Gradient() method.

Definition at line 203 of file traits.hpp.

using SparseGradientForm = void(FunctionType::*)( const arma::mat&, const size_t, arma::sp_mat&, const size_t)

This is the form of a non-const sparse Gradient() method.

Definition at line 198 of file traits.hpp.

using SparseGradientStaticForm = void(*)( const arma::mat&, const size_t, arma::sp_mat&, const size_t)

This is the form of a static sparse Gradient() method.

Definition at line 208 of file traits.hpp.

Function Documentation

void mlpack::optimization::traits::CheckConstrainedFunctionTypeAPI ( )
inline

Perform checks for the ConstrainedFunctionType API.

Definition at line 355 of file static_checks.hpp.

void mlpack::optimization::traits::CheckDecomposableFunctionTypeAPI ( )
inline

Perform checks for the DecomposableFunctionType API.

Definition at line 255 of file static_checks.hpp.

void mlpack::optimization::traits::CheckFunctionTypeAPI ( )
inline

Perform checks for the regular FunctionType API.

Definition at line 232 of file static_checks.hpp.

void mlpack::optimization::traits::CheckNonDifferentiableDecomposableFunctionTypeAPI ( )
inline

Perform checks for the NonDifferentiableDecomposableFunctionType API.

(I know, it is a long name...)

Definition at line 393 of file static_checks.hpp.

void mlpack::optimization::traits::CheckNonDifferentiableFunctionTypeAPI ( )
inline

Perform checks for the NonDifferentiableFunctionType API.

Definition at line 317 of file static_checks.hpp.

void mlpack::optimization::traits::CheckResolvableFunctionTypeAPI ( )
inline

Perform checks for the ResolvableFunctionType API.

Definition at line 330 of file static_checks.hpp.

void mlpack::optimization::traits::CheckSparseFunctionTypeAPI ( )
inline

Perform checks for the SparseFunctionType API.

Definition at line 292 of file static_checks.hpp.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( Evaluate  ,
HasEvaluate   
)

Detect an Evaluate() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( Gradient  ,
HasGradient   
)

Detect a Gradient() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( EvaluateWithGradient  ,
HasEvaluateWithGradient   
)

Detect an EvaluateWithGradient() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( NumFunctions  ,
HasNumFunctions   
)

Detect a NumFunctions() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( Shuffle  ,
HasShuffle   
)

Detect a Shuffle() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( NumConstraints  ,
HasNumConstraints   
)

Detect a NumConstraints() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( EvaluateConstraint  ,
HasEvaluateConstraint   
)

Detect an EvaluateConstraint() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( GradientConstraint  ,
HasGradientConstraint   
)

Detect a GradientConstraint() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( NumFeatures  ,
HasNumFeatures   
)

Detect a NumFeatures() method.

mlpack::optimization::traits::HAS_EXACT_METHOD_FORM ( PartialGradient  ,
HasPartialGradient   
)

Detect a PartialGradient() method.