ADMB Documentation  11.5.3197
 All Classes Files Functions Variables Typedefs Friends Defines
generalized_Ricker2.cpp
Go to the documentation of this file.
00001 #include <admodel.h>
00002 #include <df1b2fun.h>
00003 #include <adrndeff.h> 
00004 
00005 /*---------------------------------------------------------3rd variable is a scalar*/
00006 /*---------------------------------------------2nd variable is a scalar*/
00015 dvariable generalized_Ricker2(const double& x,  const prevariable& r,  const prevariable& a,  const prevariable& alpha)
00016 {
00017     RETURN_ARRAYS_INCREMENT();  
00018   dvariable y;
00019   y=x*exp(r*(1.0-pow(a/x, alpha)));
00020 
00021   RETURN_ARRAYS_DECREMENT();
00022   return (y);
00023 }
00032 dvar_vector generalized_Ricker2(const dvector& x,  const prevariable& r,  const prevariable& a,  const prevariable& alpha)
00033 {
00034     RETURN_ARRAYS_INCREMENT();  
00035   dvar_vector y;
00036   y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00037 
00038   RETURN_ARRAYS_DECREMENT();  
00039     return (y);
00040 }
00049 dvar_vector generalized_Ricker2(const dvector& x,  const dvar_vector& r,  const prevariable& a,  const prevariable& alpha)
00050 {
00051     RETURN_ARRAYS_INCREMENT();  
00052   dvar_vector y;
00053   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00054 
00055   RETURN_ARRAYS_DECREMENT();  
00056     return (y);
00057 }
00058 /*---------------------------------------------2nd variable is a vector*/
00067 dvar_vector generalized_Ricker2(const dvector& x,  const prevariable& r,  const dvar_vector& a,  const prevariable& alpha)
00068 {
00069     RETURN_ARRAYS_INCREMENT();  
00070   dvar_vector y;
00071   y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00072 
00073   RETURN_ARRAYS_DECREMENT();  
00074     return (y);
00075 }
00084 dvar_vector generalized_Ricker2(const dvector& x,  const dvar_vector& r,  const dvar_vector& a,  const prevariable& alpha)
00085 {
00086     RETURN_ARRAYS_INCREMENT();  
00087   dvar_vector y;
00088   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00089 
00090   RETURN_ARRAYS_DECREMENT();  
00091     return (y);
00092 }
00093 /*---------------------------------------------------------3rd variable is a vector*/
00094 /*---------------------------------------------2nd variable is a scalar*/
00103 dvar_vector generalized_Ricker2(const dvector& x,  const prevariable& r,  const prevariable& a,  const dvar_vector& alpha)
00104 {
00105     RETURN_ARRAYS_INCREMENT();  
00106   dvar_vector y;
00107   y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00108 
00109   RETURN_ARRAYS_DECREMENT();  
00110     return (y);
00111 }
00120 dvar_vector generalized_Ricker2(const dvector& x,  const dvar_vector& r,  const prevariable& a,  const dvar_vector& alpha)
00121 {
00122     RETURN_ARRAYS_INCREMENT();  
00123   dvar_vector y;
00124   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00125 
00126   RETURN_ARRAYS_DECREMENT();  
00127     return (y);
00128 }
00129 /*---------------------------------------------2nd variable is a vector*/
00138 dvar_vector generalized_Ricker2(const dvector& x,  const prevariable& r,  const dvar_vector& a,  const dvar_vector& alpha)
00139 {
00140     RETURN_ARRAYS_INCREMENT();  
00141   dvar_vector y;
00142   y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00143 
00144   RETURN_ARRAYS_DECREMENT();  
00145     return (y);
00146 }
00155 dvar_vector generalized_Ricker2(const dvector& x,  const dvar_vector& r,  const dvar_vector& a,  const dvar_vector& alpha)
00156 {
00157     RETURN_ARRAYS_INCREMENT();  
00158   dvar_vector y;
00159   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00160 
00161   RETURN_ARRAYS_DECREMENT();  
00162     return (y);
00163 }
00164 /*---------------------------------------------------------3rd variable is a scalar in a random effects model*/
00165 /*---------------------------------------------2nd variable is a scalar in a random effects model*/
00166 /*----------------------1st varible contains random effects*/
00175 df1b2variable generalized_Ricker2(const double& x,  const df1b2variable& r,  const df1b2variable& a,  const df1b2variable& alpha)
00176 {
00177   df1b2variable y;
00178   y=x*exp(r*(1.0-pow(a/x, alpha)));
00179 
00180     return (y);
00181 }
00190 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2variable& r,  const df1b2variable& a,  const df1b2variable& alpha)
00191 {
00192   df1b2vector y;
00193   y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00194 
00195     return(y);
00196 }
00205 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2vector& r,  const df1b2variable& a,  const df1b2variable& alpha)
00206 {
00207   df1b2vector y;
00208   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00209 
00210     return(y);
00211 }
00212 
00213 /*---------------------------------------------2nd variable is a vector in a random effects model*/
00214 /*----------------------1st varible contains random effects*/
00223 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2variable& r,  const df1b2vector& a,  const df1b2variable& alpha)
00224 {
00225   df1b2vector y;
00226   y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00227 
00228     return(y);
00229 }
00238 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2vector& r,  const df1b2vector& a,  const df1b2variable& alpha)
00239 {
00240   df1b2vector y;
00241   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00242 
00243     return(y);
00244 }
00245 
00246 
00247 /*---------------------------------------------------------3rd variable is a vector in a random effects model*/
00248 /*---------------------------------------------2nd variable is a scalar in a random effects model*/
00249 /*----------------------1st varible contains random effects*/
00258 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2variable& r,  const df1b2variable& a,  const df1b2vector& alpha)
00259 {
00260   df1b2vector y;
00261   y=elem_prod(x, exp(r*(1.0-pow(a*pow(x, -1.0), alpha))));
00262 
00263     return(y);
00264 }
00273 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2vector& r,  const df1b2variable& a,  const df1b2vector& alpha)
00274 {
00275   df1b2vector y;
00276   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(a*pow(x, -1.0), alpha)))));
00277 
00278     return(y);
00279 }
00280 
00281 /*---------------------------------------------2nd variable is a vector in a random effects model*/
00282 /*----------------------1st varible contains random effects*/
00291 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2variable& r,  const df1b2vector& a,  const df1b2vector& alpha)
00292 {
00293   df1b2vector y;
00294   y=elem_prod(x, exp(r*(1.0-pow(elem_div(a, x), alpha))));
00295 
00296     return(y);
00297 }
00306 df1b2vector generalized_Ricker2(const dvector& x,  const df1b2vector& r,  const df1b2vector& a,  const df1b2vector& alpha)
00307 {
00308   df1b2vector y;
00309   y=elem_prod(x, exp(elem_prod(r, (1.0-pow(elem_div(a, x), alpha)))));
00310 
00311     return(y);
00312 }