Public Member Functions | Static Public Member Functions

PsiCore Class Reference

inner function of the sigmoid term of the psychometric function More...

#include <core.h>

Inheritance diagram for PsiCore:
abCore linearCore logCore mwCore NakaRushton polyCore weibullCore

List of all members.

Public Member Functions

virtual double g (double x, const std::vector< double > &prm) const
 evaluate the core of the sigmoid
virtual double dg (double x, const std::vector< double > &prm, int i) const
 evaluate the first derivative of the core with respect to parameter i
virtual double dgx (double x, const std::vector< double > &prm) const
 evaluate the first derivative of the core with respect to stimulus intensity
virtual double ddg (double x, const std::vector< double > &prm, int i, int j) const
 evaluate the second derivative of the core with respect to parameter i and j
virtual double inv (double y, const std::vector< double > &prm) const
 invert the core
virtual double dinv (double p, const std::vector< double > &prm, int i) const
 derivative of the inverse core with respect to parameters
virtual std::vector< double > transform (int nprm, double a, double b) const
 transform parameters from logistic regression to those used for this core
virtual PsiCoreclone (void) const
 clone object by value

Static Public Member Functions

static std::string getDescriptor (void)
 get a short string that identifies the type of core

Detailed Description

inner function of the sigmoid term of the psychometric function

The psychometric function is parameterized by two classes. The outer (PsiSigmoid) takes care of the saturating nonlinearity. The PsiCore class performs some (potentially parameter dependent) internal transformations of this nonlinearity.

The PsiCore class itself is completely virtual: It is meant to be the base class off all other core objects.


Member Function Documentation

virtual double PsiCore::ddg ( double  x,
const std::vector< double > &  prm,
int  i,
int  j 
) const [inline, virtual]

evaluate the second derivative of the core with respect to parameter i and j

Parameters:
x stimulus intensity
prm parameter vector
i index of the first parameter to which the derivative should be evaluated
j index of the second parameter to which the derivative should be evaluated

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.

virtual double PsiCore::dg ( double  x,
const std::vector< double > &  prm,
int  i 
) const [inline, virtual]

evaluate the first derivative of the core with respect to parameter i

Parameters:
x stimulus intensity
prm parameter vector
i index of the parameter to which the derivative should be evaluated

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.

virtual double PsiCore::dgx ( double  x,
const std::vector< double > &  prm 
) const [inline, virtual]

evaluate the first derivative of the core with respect to stimulus intensity

Parameters:
x stimulus intensity
prm parameter vector

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.

virtual double PsiCore::dinv ( double  p,
const std::vector< double > &  prm,
int  i 
) const [inline, virtual]

derivative of the inverse core with respect to parameters

Parameters:
p transformed inensity at which to evaluate the derivative
prm parameter vector
i evaluate the derivative with respect to parameter i

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.

virtual double PsiCore::g ( double  x,
const std::vector< double > &  prm 
) const [inline, virtual]

evaluate the core of the sigmoid

Parameters:
x stimulus intensity
prm parameter vector

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.

virtual double PsiCore::inv ( double  y,
const std::vector< double > &  prm 
) const [inline, virtual]

invert the core

Parameters:
y transformed intensity
prm parameter vector

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.

virtual std::vector<double> PsiCore::transform ( int  nprm,
double  a,
double  b 
) const [inline, virtual]

transform parameters from logistic regression to those used for this core

Parameters:
nprm number of parameters in the final parameter vector
a intercept of the logistic regression model
b slope of the logistic regression model

Reimplemented in abCore, mwCore, linearCore, logCore, weibullCore, polyCore, and NakaRushton.


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