[ADMB Users] Adjusted pow function for ADMB-RE
Steve Martell
SteveM at iphc.int
Mon Nov 24 08:13:16 PST 2014
Make sure the arguments of the function are also df1b2variable
Sent from my iPad
On Nov 24, 2014, at 2:51 AM, Stirrup, Oliver <oliver.stirrup.13 at ucl.ac.uk<mailto:oliver.stirrup.13 at ucl.ac.uk>> wrote:
Hello all
I have found that use of the ‘pow’ function causes executables created by ADMB to crash when the first argument is zero, i.e. when a calculation of 0^x is attempted.
In my template files, data relating to a time variable are read into a dvar_vector and (within a loop) each element of this vector is then raised to the power of a model parameter. The time variable is positive in most cases, but occasionally takes the value of zero, leading to the problem described.
Using the standard mode for ADMB, I have overcome this problem by defining the following function to replace ‘pow’:
<<< >>>
GLOBALS_SECTION
#include <admodel.h>
dvariable pow2(const dvariable & time, const dvariable & T)
{
if(time==0)
return 0;
else return pow(time,T);
}
<<< >>>
I would now like to implement a similar solution for the random effects mode of ADMB, but have so far been unsuccessful in my attempts, with a large number of error messages on compilation. I think that my problem lies in the fact that I do not really understand how to define and manipulate df1b2variable objects.
If anyone can offer a solution or any advice regarding this problem, I would be very grateful.
Best wishes
Oliver
Oliver Stirrup
PhD Student
MRC Clinical Trials Unit at UCL
Institute of Clinical Trials & Methodology
London UK
e-mail: oliver.stirrup.13 at ucl.ac.uk
_______________________________________________
Users mailing list
Users at admb-project.org<mailto:Users at admb-project.org>
http://lists.admb-project.org/mailman/listinfo/users
________________________________
This internet e-mail message, and any files transmitted with it, contains confidential, privileged information that is intended only for the addressee. If you have received this e-mail message in error, please call us at (206) 634-1838 collect if necessary) and ask to speak to the message sender. Nothing in this e-mail or the act of transmitting it, is to be construed as a waiver of any rights or privileges enjoyed by the sender or the International Pacific Halibut Commission pursuant to the International Organizations Immunities Act, 22 U.S.C. Sec. 288 et seq.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.admb-project.org/pipermail/users/attachments/20141124/64439ca6/attachment.html>
More information about the Users
mailing list