Commit Graph

146 Commits (6adf1c26392d737dc31844aa3add0441e040f4a8)

Author SHA1 Message Date
Johannes Pfeifer d9d4fef251 Move check of Jacobian matrices for NaN and Inf to dedicated function for reuse in model_diagnostics.m 2014-03-28 14:52:06 +01:00
Sébastien Villemot a5be9dd845 Add trust-region nonlinear solver.
Closes #260
2014-02-04 17:56:27 +01:00
Sébastien Villemot 3fe5a728c6 Remove bad_cond_flag argument from solve1.
This flag was not grounded on any solid theoretical foundation.

This commit actually makes solve_algo=2 to be exactly the same than solve_algo=4.
2014-02-04 17:56:27 +01:00
Stéphane Adjemian (Charybdis) ddd95361ba Cosmetic changes. Added isoctave function to replace exist('OCTAVE_VERSION'). 2013-11-04 10:54:45 +01:00
Stéphane Adjemian (Charybdis) 969fe3c209 Renamed options_.solve_maxit as options_.steady.maxit. 2013-10-09 15:38:07 +02:00
Johannes Pfeifer aa59a4e173 Cosmetic fix to displaying steady state error
Gets rid of white space
2013-07-18 15:00:41 +02:00
Johannes Pfeifer ab1cb25ed3 Filter out cases where invalid starting value leads to NaN or Inf in Jacobian.
Replaces cryptic message "Some element of Newton direction isn't finite. Jacobian maybe singular or there is a problem with initial values" with more expressive message.
2013-06-21 10:37:16 +02:00
Michel Juillard 2e59409df4 corrected bug introduced in recent commit 48e00c5789 2012-11-01 09:26:05 +01:00
Michel Juillard 48e00c5789 corrected and clarified error messages when steady state computation fails 2012-10-31 11:09:25 +01:00
Michel Juillard 70e162c736 removed globals from solve1.m 2012-08-06 23:32:40 +02:00
Sébastien Villemot edbf3bd175 Remove useless calls to set_default_option 2012-04-20 17:08:11 +02:00
Stéphane Adjemian (Charybdis) 323e6fdf4f Added a second gstep option used as a parameter for the routine computing the hessian matrix.
In some cases, for instance for the non linear filters, it helps to reduce this new gstep parameter
to get a positive definite hessian matrix. options_.gstep is now a 2*1 vector. The first element is
the old gstep parameter, the second element is the new gstep parameter. The step defined for the
computation of the hessian matrix is now:

h1=max(abs(x),sqrt(gstep(1))*ones(n,1))*eps^(1/6)*gstep(2);
2012-03-09 16:36:26 +01:00
Houtan Bastani dcaed91f66 fix to license call (checkout only works for Matlab version >= 2011a) 2012-01-09 11:57:47 +01:00
Houtan Bastani 9be84bdf65 make check: fix bug in check for license 2011-12-23 18:22:41 +01:00
Marco Ratto dde9d2bfee license('test',' ... ') gives 1 even if the license exists but it is not active, implying a crash of the dynare matlab session. 2011-10-26 16:27:09 +02:00
Sébastien Villemot 0155b6832e Remove extra argument (in solve_algo=0 under Octave) 2011-09-19 16:41:53 +02:00
Sébastien Villemot c07a915d6e Improve the way we test for existence of toolboxes (more reliable in the case where the toolbox is installed but not activated) 2011-09-19 16:41:53 +02:00
Michel Juillard 6662aa9e26 expanded error message when initial values are incompatible with steady state equations 2011-07-14 12:20:36 +02:00
Sébastien Villemot 02652f6eb8 Updated copyright notices 2011-02-04 17:27:33 +01:00
Sébastien Villemot 757a9067c0 Global reindentation of MATLAB files 2011-02-04 17:17:48 +01:00
Ferhat Mihoubi ce07223628 - The Temporary terms management with bytecode when the model is block decomposed and solve_algo<5 is now compatible with octave
- Gets rid of warning message during the compilation of bytecode
2011-01-14 19:24:18 +01:00
Ferhat Mihoubi 708a062338 The Octave version of fsolve do not converge when it starts from the solution. Check if the initial guess is equal to the solution. 2011-01-14 19:24:17 +01:00
Sébastien Villemot 23ba760c3b Implement solve_algo=0 for Octave (closes #144) 2010-10-28 12:07:50 +02:00
sebastien 502e3e1df8 Beautified MATLAB code (Unix newline convention + Emacs indentation), except: AIM, swz, particle
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3250 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:17:34 +00:00
sebastien fec9486fb9 Change to option solve_algo=4 of steady:
Even when the Jacobian is very badly conditioned, continue to use a Newton step


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2862 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-21 12:05:34 +00:00
sebastien 6dc870727d trunk preprocessor:
* created a distinct expression tree for the static model (thus giving better sharing of sub-expressions and better computation of temporary terms for the static model)
* for that purpose, created StaticModel and DynamicModel classes (ModelTree still persists, but only contains code shared between StaticModel and DynamicModel)
* removed sparse static file (to be later replaced by new algorithm for steady state computation on large models)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2592 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-14 14:39:53 +00:00
ferhat ca974cdf48 The sparse option in model is now compatible with homotopy => matlab commit
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2589 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-10 16:57:37 +00:00
sebastien d4e2d6c27f trunk dynare_solve.m:
* fail if solve_algo=0 and we don't have the optimization toolbox (or under Octave); the previous behavior was to fallback on solve_algo=1
* fail if solve_algo is not between 0 and 4


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2090 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-09-22 13:13:04 +00:00
sebastien ae68da82ff trunk: added new solve_algo=4 in dynare_solve.m; this mode is the same than solve_algo=2, except that the solver behaves differently when the Jacobian is badly scaled or nearly singular (see header of solve2.m)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2089 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-09-22 12:52:17 +00:00
sebastien e9c7351aee trunk dynare_solve.m: for solve_algo = 2:
* when solve1() fails on a block, immediately return with info=1 instead of trying to solve subsequent blocks
* added debug messages


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2078 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-09-16 17:24:11 +00:00
sebastien db50368418 v4 matlab: fixed some existing copyright headers (and some other minor header issues)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1974 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-08-01 12:40:33 +00:00
sebastien ddaaf9e1e3 v4 matlab:
* added a function matlab_ver_less_than() for testing Matlab version
* updated dynare_config.m and build_matlab.m accordingly
* removed tests to check whether we are older than Matlab 6.5 (R13), since we don't support those old versions anymore
* removed a few unnecessary uses of eval()


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1936 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-07-07 17:08:55 +00:00
assia 9bc1ac138d header updated
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1534 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-01-03 12:12:07 +00:00
michel 522e27e636 v4: csolve uses analytical Jacobian when possible
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1465 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-11-27 14:16:13 +00:00
michel 77cdcce658 v4: adding Ramsey policy to parser;
changes to Ramsey policy Matlab code

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1133 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-01-04 14:42:27 +00:00
michel 4233d25da3 v4: added Chris Sims solver solve_algo=3
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1066 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-11-12 16:02:29 +00:00
michel b5f602cc5b v4 dynare_solve.m: added debugging feature
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1010 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-11-01 12:47:24 +00:00
michel 6c98c92782 v4: made options for solve tolerance criteria
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@925 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-09-21 15:48:36 +00:00
adjemian 66722531f8 Added the steady state provided by the _steadystate file is checked in steady_
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@914 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-09-15 14:16:34 +00:00
michel e2882021d4 v4: various updates to Matlab code
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@871 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-08-24 13:07:26 +00:00
michel b6e1fef911 v4 dynare_solve.m solve1.m: bug corrections
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@812 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-07-03 12:19:54 +00:00
michel 13ab8e03c5 v4 dynare_solve.m: corrected bug in one of the calls to solve1()
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@698 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-03-29 11:33:20 +00:00
michel 6e23ddbf6d v4: global dr_ -> oo_.dr; corrected bug with dr_algo=1
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@608 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-01-18 16:50:33 +00:00
michel 4a654eddae v4: corrected str2func bug in dynare_solve.m
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@541 ac1d8469-bf42-47a9-8791-bf33cf982152
2005-12-09 15:47:22 +00:00
michel c8812b552e changed computation of steady state for linear models
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@464 ac1d8469-bf42-47a9-8791-bf33cf982152
2005-09-27 20:22:40 +00:00
michel 9a9872fd33 dynare_v4 from CVS
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@8 ac1d8469-bf42-47a9-8791-bf33cf982152
2005-02-18 19:54:39 +00:00