- Adds new algorithms to solve Lyapunov equations: Doubling algorithm and Square root solver. Their respective names are "doubling" and "square_root_solver".
- Adds the tolerance criteria for the iterative solvers (sylvester_fixed_point_tol, lyapunov_fixed_point_tol and lyapunov_doubling_tol) - Updates the reference manualissue#70
parent
60fb8aeaae
commit
8001e19b9e
|
@ -96,7 +96,7 @@ class ParsingDriver;
|
|||
%token BVAR_PRIOR_MU BVAR_PRIOR_OMEGA BVAR_PRIOR_TAU BVAR_PRIOR_TRAIN
|
||||
%token BVAR_REPLIC BYTECODE
|
||||
%token CHANGE_TYPE CHECK CONDITIONAL_FORECAST CONDITIONAL_FORECAST_PATHS CONF_SIG CONSTANT CONTROLLED_VAREXO CORR COVAR CUTOFF
|
||||
%token DATAFILE FILE DR_ALGO DROP DSAMPLE DYNASAVE DYNATYPE CALIBRATION
|
||||
%token DATAFILE FILE DOUBLING DR_ALGO DROP DSAMPLE DYNASAVE DYNATYPE CALIBRATION
|
||||
%token END ENDVAL EQUAL ESTIMATION ESTIMATED_PARAMS ESTIMATED_PARAMS_BOUNDS ESTIMATED_PARAMS_INIT
|
||||
%token FILENAME FILTER_STEP_AHEAD FILTERED_VARS FIRST_OBS LAST_OBS SET_TIME
|
||||
%token <string_val> FLOAT_NUMBER
|
||||
|
@ -110,7 +110,7 @@ class ParsingDriver;
|
|||
%token INV_GAMMA_PDF INV_GAMMA1_PDF INV_GAMMA2_PDF IRF IRF_SHOCKS
|
||||
%token KALMAN_ALGO KALMAN_TOL SUBSAMPLES OPTIONS
|
||||
%token LABELS LAPLACE LIK_ALGO LIK_INIT LINEAR LOAD_IDENT_FILES LOAD_MH_FILE LOAD_PARAMS_AND_STEADY_STATE LOGLINEAR LYAPUNOV
|
||||
%token MARKOWITZ MARGINAL_DENSITY MAX MAXIT
|
||||
%token LYAPUNOV_FIXED_POINT_TOL LYAPUNOV_DOUBLING_TOL LYAPUNOV_SQUARE_ROOT_SOLVER_TOL MARKOWITZ MARGINAL_DENSITY MAX MAXIT
|
||||
%token MFS MH_DROP MH_INIT_SCALE MH_JSCALE MH_MODE MH_NBLOCKS MH_REPLIC MH_RECOVER MIN MINIMAL_SOLVING_PERIODS
|
||||
%token MODE_CHECK MODE_COMPUTE MODE_FILE MODEL MODEL_COMPARISON MODEL_INFO MSHOCKS ABS SIGN
|
||||
%token MODIFIEDHARMONICMEAN MOMENTS_VARENDO DIFFUSE_FILTER SUB_DRAWS
|
||||
|
@ -123,8 +123,8 @@ class ParsingDriver;
|
|||
%token <string_val> QUOTED_STRING
|
||||
%token QZ_CRITERIUM FULL DSGE_VAR DSGE_VARLAG DSGE_PRIOR_WEIGHT TRUNCATE
|
||||
%token RELATIVE_IRF REPLIC RPLOT SAVE_PARAMS_AND_STEADY_STATE PARAMETER_UNCERTAINTY
|
||||
%token SHOCKS SHOCK_DECOMPOSITION SIGMA_E SIMUL SIMUL_ALGO SIMUL_SEED SMOOTHER STACK_SOLVE_ALGO STEADY_STATE_MODEL SOLVE_ALGO
|
||||
%token STDERR STEADY STOCH_SIMUL SYLVESTER REGIMES REGIME
|
||||
%token SHOCKS SHOCK_DECOMPOSITION SIGMA_E SIMUL SIMUL_ALGO SIMUL_SEED SMOOTHER SQUARE_ROOT_SOLVER STACK_SOLVE_ALGO STEADY_STATE_MODEL SOLVE_ALGO
|
||||
%token STDERR STEADY STOCH_SIMUL SYLVESTER SYLVESTER_FIXED_POINT_TOL REGIMES REGIME
|
||||
%token TEX RAMSEY_POLICY PLANNER_DISCOUNT DISCRETIONARY_POLICY
|
||||
%token <string_val> TEX_NAME
|
||||
%token UNIFORM_PDF UNIT_ROOT_VARS USE_DLL USEAUTOCORR GSA_SAMPLE_FILE
|
||||
|
@ -930,6 +930,7 @@ stoch_simul_options : o_dr_algo
|
|||
| o_k_order_solver
|
||||
| o_pruning
|
||||
| o_sylvester
|
||||
| o_sylvester_fixed_point_tol
|
||||
;
|
||||
|
||||
symbol_list : symbol_list symbol
|
||||
|
@ -1491,7 +1492,10 @@ estimation_options : o_datafile
|
|||
| o_irf_shocks
|
||||
| o_sub_draws
|
||||
| o_sylvester
|
||||
| o_sylvester_fixed_point_tol
|
||||
| o_lyapunov
|
||||
| o_lyapunov_fixed_point_tol
|
||||
| o_lyapunov_doubling_tol
|
||||
;
|
||||
|
||||
list_optim_option : QUOTED_STRING COMMA QUOTED_STRING
|
||||
|
@ -2232,8 +2236,13 @@ o_sub_draws: SUB_DRAWS EQUAL INT_NUMBER {driver.option_num("sub_draws",$3);};
|
|||
o_planner_discount : PLANNER_DISCOUNT EQUAL expression { driver.declare_optimal_policy_discount_factor_parameter($3); };
|
||||
o_sylvester : SYLVESTER EQUAL FIXED_POINT {driver.option_num("sylvester_fp", "1"); }
|
||||
| SYLVESTER EQUAL DEFAULT {driver.option_num("sylvester_fp", "0"); };
|
||||
o_sylvester_fixed_point_tol : SYLVESTER_FIXED_POINT_TOL EQUAL non_negative_number {driver.option_num("sylvester_fixed_point_tol",$3);};
|
||||
o_lyapunov : LYAPUNOV EQUAL FIXED_POINT {driver.option_num("lyapunov_fp", "1"); }
|
||||
| LYAPUNOV EQUAL DEFAULT {driver.option_num("lyapunov_fp", "0"); };
|
||||
| LYAPUNOV EQUAL DOUBLING {driver.option_num("lyapunov_db", "1"); }
|
||||
| LYAPUNOV EQUAL SQUARE_ROOT_SOLVER {driver.option_num("lyapunov_srs", "1"); }
|
||||
| LYAPUNOV EQUAL DEFAULT {driver.option_num("lyapunov_fp", "0");driver.option_num("lyapunov_db", "0"); driver.option_num("lyapunov_srs", "0");};
|
||||
o_lyapunov_fixed_point_tol : LYAPUNOV_FIXED_POINT_TOL EQUAL non_negative_number {driver.option_num("lyapunov_fixed_point_tol",$3);};
|
||||
o_lyapunov_doubling_tol : LYAPUNOV_DOUBLING_TOL EQUAL non_negative_number {driver.option_num("lyapunov_doubling_tol",$3);};
|
||||
|
||||
o_bvar_prior_tau : BVAR_PRIOR_TAU EQUAL signed_number { driver.option_num("bvar_prior_tau", $3); };
|
||||
o_bvar_prior_decay : BVAR_PRIOR_DECAY EQUAL non_negative_number { driver.option_num("bvar_prior_decay", $3); };
|
||||
|
|
|
@ -293,6 +293,8 @@ string eofbuff;
|
|||
<DYNARE_STATEMENT>nstates {return token::NSTATES;}
|
||||
<DYNARE_STATEMENT>indxscalesstates {return token::INDXSCALESSTATES;}
|
||||
<DYNARE_STATEMENT>fixed_point {return token::FIXED_POINT;}
|
||||
<DYNARE_STATEMENT>doubling {return token::DOUBLING;}
|
||||
<DYNARE_STATEMENT>square_root_solver {return token::SQUARE_ROOT_SOLVER;}
|
||||
<DYNARE_STATEMENT>default {return token::DEFAULT;}
|
||||
<DYNARE_STATEMENT>alpha {
|
||||
yylval->string_val = new string(yytext);
|
||||
|
@ -491,6 +493,9 @@ string eofbuff;
|
|||
<DYNARE_STATEMENT>order {return token::ORDER;}
|
||||
<DYNARE_STATEMENT>sylvester {return token::SYLVESTER;}
|
||||
<DYNARE_STATEMENT>lyapunov {return token::LYAPUNOV;}
|
||||
<DYNARE_STATEMENT>sylvester_fixed_point_tol {return token::SYLVESTER_FIXED_POINT_TOL;}
|
||||
<DYNARE_STATEMENT>lyapunov_fixed_point_tol {return token::LYAPUNOV_FIXED_POINT_TOL;}
|
||||
<DYNARE_STATEMENT>lyapunov_doubling_tol {return token::LYAPUNOV_DOUBLING_TOL;}
|
||||
<DYNARE_STATEMENT>replic {return token::REPLIC;}
|
||||
<DYNARE_STATEMENT>ar {return token::AR;}
|
||||
<DYNARE_STATEMENT>nofunctions {return token::NOFUNCTIONS;}
|
||||
|
|
Loading…
Reference in New Issue