ADMB Documentation  11.1.2528
 All Classes Files Functions Variables Typedefs Friends Defines
generalized_Ricker1.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_Ricker1(const double& x,  const prevariable& x0,  const prevariable& A,  const prevariable& alpha)
00016 {
00017     RETURN_ARRAYS_INCREMENT();  
00018   dvariable y;
00019   y=A*pow((x/x0*exp(1.0-x/x0)), alpha);
00020 
00021   RETURN_ARRAYS_DECREMENT();
00022   return (y);
00023 }
00032 dvar_vector generalized_Ricker1(const dvector& x,  const prevariable& x0,  const prevariable& A,  const prevariable& alpha)
00033 {
00034     RETURN_ARRAYS_INCREMENT();  
00035   dvar_vector y;
00036   y=A*pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha);
00037 
00038   RETURN_ARRAYS_DECREMENT();  
00039     return (y);
00040 }
00049 dvar_vector generalized_Ricker1(const dvector& x,  const dvar_vector& x0,  const prevariable& A,  const prevariable& alpha)
00050 {
00051     RETURN_ARRAYS_INCREMENT();  
00052   dvar_vector y;
00053   y=A*pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), alpha);
00054 
00055   RETURN_ARRAYS_DECREMENT();  
00056     return (y);
00057 }
00058 /*---------------------------------------------2nd variable is a vector*/
00067 dvar_vector generalized_Ricker1(const dvector& x,  const prevariable& x0,  const dvar_vector& A,  const prevariable& alpha)
00068 {
00069     RETURN_ARRAYS_INCREMENT();  
00070   dvar_vector y;
00071   y=elem_prod(A, pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha));
00072 
00073   RETURN_ARRAYS_DECREMENT();  
00074     return (y);
00075 }
00084 dvar_vector generalized_Ricker1(const dvector& x,  const dvar_vector& x0,  const dvar_vector& A,  const prevariable& alpha)
00085 {
00086     RETURN_ARRAYS_INCREMENT();  
00087   dvar_vector y;
00088   y=elem_prod(A, pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), 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_Ricker1(const dvector& x,  const prevariable& x0,  const prevariable& A,  const dvar_vector& alpha)
00104 {
00105     RETURN_ARRAYS_INCREMENT();  
00106   dvar_vector y;
00107   y=A*pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha);
00108 
00109   RETURN_ARRAYS_DECREMENT();  
00110     return (y);
00111 }
00120 dvar_vector generalized_Ricker1(const dvector& x,  const dvar_vector& x0,  const prevariable& A,  const dvar_vector& alpha)
00121 {
00122     RETURN_ARRAYS_INCREMENT();  
00123   dvar_vector y;
00124   y=A*pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), alpha);
00125 
00126   RETURN_ARRAYS_DECREMENT();  
00127     return (y);
00128 }
00129 /*---------------------------------------------2nd variable is a vector*/
00138 dvar_vector generalized_Ricker1(const dvector& x,  const prevariable& x0,  const dvar_vector& A,  const dvar_vector& alpha)
00139 {
00140     RETURN_ARRAYS_INCREMENT();  
00141   dvar_vector y;
00142   y=elem_prod(A, pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha));
00143 
00144   RETURN_ARRAYS_DECREMENT();  
00145     return (y);
00146 }
00155 dvar_vector generalized_Ricker1(const dvector& x,  const dvar_vector& x0,  const dvar_vector& A,  const dvar_vector& alpha)
00156 {
00157     RETURN_ARRAYS_INCREMENT();  
00158   dvar_vector y;
00159   y=elem_prod(A, pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), 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_Ricker1(const double& x,  const df1b2variable& x0,  const df1b2variable& A,  const df1b2variable& alpha)
00176 {
00177   df1b2variable y;
00178   y=A*pow((x/x0*exp(1.0-x/x0)), alpha);
00179 
00180     return (y);
00181 }
00190 df1b2vector generalized_Ricker1(const dvector& x,  const df1b2variable& x0,  const df1b2variable& A,  const df1b2variable& alpha)
00191 {
00192   df1b2vector y;
00193   y=A*pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha);
00194 
00195     return(y);
00196 }
00205 df1b2vector generalized_Ricker1(const dvector& x,  const df1b2vector& x0,  const df1b2variable& A,  const df1b2variable& alpha)
00206 {
00207   df1b2vector y;
00208   y=A*pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), 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_Ricker1(const dvector& x,  const df1b2variable& x0,  const df1b2vector& A,  const df1b2variable& alpha)
00224 {
00225   df1b2vector y;
00226   y=elem_prod(A, pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha));
00227 
00228     return(y);
00229 }
00238 df1b2vector generalized_Ricker1(const dvector& x,  const df1b2vector& x0,  const df1b2vector& A,  const df1b2variable& alpha)
00239 {
00240   df1b2vector y;
00241   y=elem_prod(A, pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), 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_Ricker1(const dvector& x,  const df1b2variable& x0,  const df1b2variable& A,  const df1b2vector& alpha)
00259 {
00260   df1b2vector y;
00261   y=A*pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha);
00262 
00263     return(y);
00264 }
00273 df1b2vector generalized_Ricker1(const dvector& x,  const df1b2vector& x0,  const df1b2variable& A,  const df1b2vector& alpha)
00274 {
00275   df1b2vector y;
00276   y=A*pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), 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_Ricker1(const dvector& x,  const df1b2variable& x0,  const df1b2vector& A,  const df1b2vector& alpha)
00292 {
00293   df1b2vector y;
00294   y=elem_prod(A, pow(elem_prod(x/x0, exp(1.0-x/x0)), alpha));
00295 
00296     return(y);
00297 }
00306 df1b2vector generalized_Ricker1(const dvector& x,  const df1b2vector& x0,  const df1b2vector& A,  const df1b2vector& alpha)
00307 {
00308   df1b2vector y;
00309   y=elem_prod(A, pow(elem_prod(elem_div(x, x0), exp(1.0-elem_div(x, x0))), alpha));
00310 
00311     return(y);
00312 }