cgv
cgv::math::mfunc< X, T > Class Template Referenceabstract

#include <mfunc.h>

Inheritance diagram for cgv::math::mfunc< X, T >:
cgv::math::v2_func< X, T > cgv::math::v3_func< X, T >

Public Types

typedef cgv::math::vec< X > pnt_type
 points must have get_nr_independent_variables() components
 
typedef cgv::math::vec< X > vec_type
 vectors must have get_nr_independent_variables() components
 

Public Member Functions

virtual ~mfunc ()
 virtual destructor
 
virtual unsigned get_nr_independent_variables () const =0
 return the number of independent variables that are mapped by the function
 
virtual T evaluate (const pnt_type &p) const =0
 interface for evaluation of the multivariate function
 
virtual vec_type evaluate_gradient (const pnt_type &p) const
 

Detailed Description

template<typename X, typename T>
class cgv::math::mfunc< X, T >

interface class for multivariate function with two template arguments:

  • X defines the type of the independent variables and
    • T the type of range to which the function maps For example a function that maps from n double variables to an int would be declared as mfunc<double,int>

Member Function Documentation

◆ evaluate_gradient()

template<typename X , typename T >
virtual vec_type cgv::math::mfunc< X, T >::evaluate_gradient ( const pnt_type p) const
inlinevirtual

interface for evaluation of the gradient of the multivariate function. default implementation uses central differences to approximate the gradient, with an epsilon of 1e-5.


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