[ADMB Users] mfexp looks wrong
dave fournier
davef at otter-rsch.com
Wed Feb 27 09:29:41 PST 2013
It certainly looks like the function mfexp
is not differentiable at b.
dvariable mfexp(const prevariable& x, double b)
{
if (x<=b && x>=-b)
{
return exp(x);
}
else if (x>b)
{
return exp(b)*(1.+2.*(x-b))/(1.+x-b);
}
// etc
}
Also for df1b2 caclculations it should be three times differentiable.
something like
double mfexp2(double x,double b)
{
if (x<=b && x>=-b)
{
return exp(x);
}
else if (x>b)
{
double y=x-b;
double y2=square(y);
return exp(b)*(1.+y/(1.+y) +1.5*y2/(1.+y2));
}
//etc
}
appears to be twice differentiable at b.
More information about the Users
mailing list