Revision 1209 trunk/src/linad99/posfunv.cpp

posfunv.cpp (revision 1209)
12 12
#include <fvar.hpp>
13 13

  
14 14
/**Retuns a positive function of the argument \f$x\f$ and sets a penalty for
15
  \f$x<0\f$. The penalty should be added to the objective function.
15
  \f$x<0\f$. This function will add the penalty (when applicable) onto the existing value of pen. 
16
 Somewhere in the code after using posfun, the penalty should be added to the objective function.
16 17
  This function is intended to keep model state variables in the positive
17
  domain to avoid mathematical errors. See Section 2.3 of the ADMB Manual.
18
  domain to avoid mathematical errors. See Section 2.3 of the ADMB Manual. (Note, the returned value is less than \f$\epsilon\f$.)
18 19
  \param x Argument, \f$x\f$.
19 20
  \param eps Threshold, \f$\epsilon\f$, 
20
   a double constant containing the minimum allowed value of \f$x\f$.
21
   a double constant.
21 22
   The choice of a value  for \f$\epsilon\f$ is model dependent,
22
   but \f$10^{-3}\f$ is sufficient for some applications. 
23
   but \f$10^{-3}\f$ is sufficient for some applications.
23 24
  \param  _pen The penalty value \b incremented by \f$ 0.01(x-\epsilon)^2 \f$ 
24 25
   if \f$x<\epsilon\f$. 
25 26
  \return \f$\left\{\begin{array} {r@{\quad:\quad}l}

Also available in: Unified diff