inner function of the sigmoid term of the psychometric function More...
#include <core.h>
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 PsiCore * | clone (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 |
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.
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
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
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
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
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
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
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
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.