ferhat
ac2e5cfd52
- In extended path
...
- fix an error with results print out
- fix an error withe exogenous initialization
2015-11-19 17:03:05 +01:00
ferhat
77f5d572de
Fix the output arguments in case of bytecode failure
2015-11-06 15:06:17 +01:00
Stéphane Adjemian (Charybdis)
2ec1579cd0
Fixed warnings in bytecode compilation.
...
Removed unused variables.
2015-10-19 18:01:38 +02:00
ferhat
7c5272d852
Allows to compute the extended path and the conditional forecasts with bytecode
2015-09-22 15:39:49 +02:00
Houtan Bastani
1b869b26a7
fix dates for changes in 86c3c0fb1b
and a40323d2fb
2015-01-08 18:39:04 +01:00
ferhat
86c3c0fb1b
Checks that fields endo_names, exo_names and param_names exist
2015-01-06 10:30:52 +01:00
ferhat
24b2993f50
Solves issues in deterministic simulation:
...
- replaces maximum_endo_(lead|lag) by maximum_(lead|lag) to determine the maximum number of lead and lag in deterministic simulation
- allows to use bytecode in solve_perfect_foresight_model.m
- Adds model information in bytecode
2014-12-17 09:37:43 +01:00
Sébastien Villemot
66d48f5917
Compatibility fixes for Octave 3.8.
...
- no longer use OCTAVE_QUIT in MEX files; this seems now only possible in
oct-files. (Ref #304 )
- do not build linsolve.oct on Octave >= 3.8, it is available natively.
- do not add strjoin.m to the patch on Octave >= 3.8, it is available natively.
- default_save_options has been renamed save_default_options.
2014-01-03 11:05:39 +01:00
Houtan Bastani
3c75923e2d
revert £ change as 156 is an extended ascii code
2013-11-05 19:06:20 +01:00
Houtan Bastani
0e4bb3f8e9
fix typo
2013-11-05 18:06:24 +01:00
Houtan Bastani
5352fb4d16
preprocessor and matlab mex fixes for clang compilation
2013-11-05 18:04:57 +01:00
ferhat
f4cee9d5e5
Corrects a bug in the way to test for the presence of the global variables
2013-10-28 14:26:42 +01:00
Stéphane Adjemian (Charybdis)
399b6d2615
Specialized maxit in bytecode mex (dynamic simulation vs steady state).
2013-10-09 16:55:46 +02:00
Stéphane Adjemian (Charybdis)
d8052342f3
Fixed bug introduced in cc0d9b42f0
(bytecode.cc).
...
Problem when reading nested structures.
2013-10-09 16:26:29 +02:00
Stéphane Adjemian (Charybdis)
cc0d9b42f0
Changed name of options_.maxit as options_.simul.maxit.
2013-10-09 13:06:06 +02:00
Stéphane Adjemian (Charybdis)
5a4399e9b3
Removed openmp pragmas in bytecode.
...
This commit fixes #420 , so that bytecode doesn't crash when Dynare is compiled with --enable-openmp flag.
2013-07-11 15:12:41 +02:00
Sébastien Villemot
61485ab809
Fix copyright notices
2013-06-12 17:04:46 +02:00
Sébastien Villemot
f1c8ec60c7
Remove various compilation warnings
2013-06-12 16:05:35 +02:00
Ferhat Mihoubi
b1da2f2b7d
"slowc" option is now available to solve a simple equation in bytecode
2013-06-10 16:46:54 +02:00
Ferhat Mihoubi
bdee6d14ec
Fix the problems related to the initialization of ilu preconditioner using BiCGStab and also a bug in the BiCGStab in case of block (without bytecode) model options.
2013-06-08 17:16:20 +02:00
ferhat
4e7050baf9
Use ilu with type=ilutp instead of nofill
...
Contrary to luinc command ilu with nofill option doesn't not allow for partial
pivoting
2013-05-23 11:44:29 +02:00
Stéphane Adjemian (Charybdis)
8eed899f92
Fixed bug. Compilation of bytecode was crashing with USE_OMP.
2013-04-18 11:20:35 +02:00
Sébastien Villemot
3025a14ed9
Adapt for removal of luinc in MATLAB R2013a
2013-03-25 12:05:56 +01:00
Sébastien Villemot
1db892efc4
Fix compilation problems of bytecode with UMFPACK and MATLAB's libut
2013-03-23 13:02:07 +01:00
Ferhat Mihoubi
43a50dd395
- adds the kernel CUDA file for SparseMatrix
2013-03-22 16:36:30 +01:00
Ferhat Mihoubi
dfa744fcb3
- adds new files: Evaluate.cc and Evaluate.hh to bytecode
2013-03-22 16:34:50 +01:00
Ferhat Mihoubi
03e487a092
Major update of bytecode:
...
- Iterative linear solvers using CUDA
- interpreter.cc decomposed
2013-03-22 15:44:34 +01:00
Sébastien Villemot
31a13db66a
Remove duplicate information in M_.blocksMFS
2012-11-16 17:39:03 +01:00
Sébastien Villemot
bc1872625b
Fix typo in previous commit
2012-11-06 14:44:29 +01:00
Ferhat
50fd1a4c0d
In the two boundaries solver, gives up the symbolic solver if a stable computation solution could not be found on the first third of the simulation period
2012-11-06 14:38:51 +01:00
Sébastien Villemot
c079ace8c3
Remove various compiler warnings
2012-06-08 19:06:03 +02:00
Sébastien Villemot
1f9cea669a
Update copyright notices
2012-06-08 18:22:34 +02:00
Ferhat Mihoubi
6cb7a5f1e5
Corrects a bug in the arguments returned by bytecode
2012-06-06 16:32:01 +02:00
Ferhat Mihoubi
7dbd826d7e
Code cleaning
2012-06-06 16:30:28 +02:00
Sébastien Villemot
f36f76760a
Fix bug where the nth derivative of 0^n evaluated to 0 instead of n!
...
(complement to commit cd0bc28e
)
2012-05-21 18:34:10 +02:00
Michel Juillard
e63c41184c
bytecode: removing debuging message
2012-05-20 14:37:30 +02:00
Ferhat Mihoubi
3730957e9f
Considers both 'inf' and 'nan' results in functions return and improves an error message
2012-03-06 11:09:46 +01:00
Ferhat Mihoubi
3072c6e611
Displays more details in case of singular system
2012-03-06 11:03:13 +01:00
Ferhat
eb567f5202
Cleaning the code: getting rid of unused variables
2012-02-17 10:59:39 +01:00
Stéphane Adjemian (Charybdis)
3e84e333b4
Changed verbosity options (fast deterministic simulations). Default is options_.verbosity==1.
2011-12-26 17:46:48 +01:00
Stéphane Adjemian (Charybdis)
3ba5a645be
Make verbosity flag effective: do not print informations about perfect foresight solvers if options_.ep.verbosity=0.
2011-12-12 14:20:14 +01:00
Stéphane Adjemian (Charybdis)
a36cf30118
Make options_.dynatol specific to x/f by adding dynatol.x and dynatol.f. By default dynatol.x=dynatol.f= old default value of dynatol.
2011-12-12 14:20:14 +01:00
Ferhat Mihoubi
567ef44f6d
- Corrects the simulation period for a forward looking system
2011-08-11 14:15:49 +02:00
Ferhat Mihoubi
fe1b241186
Add an option in bytecode to prevent the display of error messages .
2011-06-18 17:15:47 +02:00
Ferhat Mihoubi
31b6c08347
Correct a bug when the model contains deterministic exogenous variables and bytecode option is used.
...
Note that stochastic simulations do not work for the moment with block option.
2011-03-18 01:09:20 +01:00
Ferhat Mihoubi
f48aa28e39
Corrections for steady_state operator bug with bytecode. bytecode is now fixed.
2011-03-14 17:46:00 +01:00
Sébastien Villemot
02652f6eb8
Updated copyright notices
2011-02-04 17:27:33 +01:00
Sébastien Villemot
cc2a9d90ac
Global reindentation of MEX source files
2011-02-04 16:53:12 +01:00
Ferhat Mihoubi
6f184371ef
- Correction of temporary terms when bytecode is used and solve_algo <= 4
2011-02-02 00:31:37 +01:00
Ferhat Mihoubi
66a7884a15
- Corrects the "if (~eval)" displayed with print option in bytecode
2011-01-31 17:44:22 +01:00
Ferhat Mihoubi
3393eebf71
When a model is evaluated with bytecode the residual has to be returned in the equations order (not in the variables order)
2011-01-31 12:30:16 +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
206fff0e71
- Corrects the following problem:
...
Octave BiCGStab algorithm involves a 0 division in case of a preconditioner equal to the LU decomposition of the A matrix (in a linear system of the form A.x = b).
- The solution:
Checks if the linear system is solved simply using: x_new = x_old + U \ (L \ x_old)
Ticket #11
2011-01-14 10:39:33 +01:00
Ferhat Mihoubi
20f414e0d2
- Extends the error messages in bytecode
...
- Implements the print option in bytecode
- Minor modifications to manage the global temporary terms
2010-12-31 16:41:50 +01:00
Ferhat Mihoubi
313f64e153
- Adds option 'print' to bytecode
...
- Manages global temporary terms when the model is evaluated block by block
- Stores the result of a first order derivative only in case of numerical approximation. Do nothing if an external function is called to compute the first order derivatives (it has already been done during the function call)
- Cleans the code
2010-12-31 16:37:34 +01:00
Ferhat Mihoubi
816dbefa28
- Corrections in the debugging conditional preprocessor expressions
2010-12-31 16:29:39 +01:00
Ferhat Mihoubi
7a58637932
- Displays an error message and interrupts the execution of bytecode in case of unknown function
2010-12-17 18:54:03 +01:00
Ferhat Mihoubi
129d404eb8
- The binary operator oDerivPower is implemented in bytecode
2010-12-17 18:54:03 +01:00
Ferhat Mihoubi
97664607b2
- external functions are compatible with block decomposition and/or bytecode
2010-12-10 12:06:50 +01:00
Ferhat Mihoubi
bdfa881a96
Reorganization of error handling in bytecode
2010-11-25 16:11:05 +01:00
Ferhat Mihoubi
1aceb504fd
Check command is now compatible with block and bytecode options
2010-10-27 15:34:48 +02:00
Ferhat Mihoubi
36941dd704
- During an evaluation of the model with bytecode stores all Jacobian matrix (w.r. to endogenous of the current block, exogenous and endogenous from previous blocks) in M_block_structure.block(j)
2010-10-27 15:30:01 +02:00
Ferhat Mihoubi
7ea9d28afd
- updates the third output argument when it is M_.block_structure.block
2010-10-27 15:30:01 +02:00
Ferhat Mihoubi
39718c8645
- extends steady algorithms to solve_algo=5, 6, 7 and 8 for a block decomposed model without bytcode
...
- solve_algo is reordered =
* 0: fsolve
* 1: solve1
* 2, 4: solve1 + block decomposition
* 3: csolve
* 5: bytecode own solver (use Gaussian elimination + sparse matrix)
* 6: LU decomposition with UMFPack (method handling sparse matrix in Matlab)
* 7: GMRES
* 8: BiCGStab
2010-10-22 16:49:47 +02:00
Ferhat Mihoubi
1a09426706
- Correction of several bugs with Octave
...
- Add wrapper needed to compute the steady-state using bytecode and solve_algo = 0, ..., 4
2010-10-22 10:09:07 +02:00
Ferhat Mihoubi
8f36437662
- Extends the algorithms compatible with bytecode to compute the steady-state (ticket #11 ). The new values for solve_algo are:
...
* 0: fsolve
* 1: solve1
* 2, 4: solve1 + block decomposition
* 3: csolve
* 5: LU decomposition with UMFPack (method handling sparse matrix in Matlab)
* 6: GMRES
* 7: BiCGStab
* 8: bytecode own solver (use Gaussian elimination + sparse matrix)
- Bytecode can now evaluate a specific block instead of the overall blocks (new bytecode's option 'Block = block_number')
2010-10-11 19:21:32 +02:00
Ferhat Mihoubi
4b824ad8ed
- extends the error messages in mex_interface (necessary to emulate the mex functions in a standalone mode for debugging purposes)
2010-10-11 18:09:31 +02:00
Ferhat Mihoubi
f6835d1d61
- adds bytecode_debug.m m-file to save the global variables. Necessary to run bytecode in a standalone mode for debugging purposes.
2010-10-11 18:01:44 +02:00
Ferhat Mihoubi
9a0201b26a
Minor corrections on ErrorHandling
2010-10-11 17:56:23 +02:00
Ferhat Mihoubi
df1b1e4ed0
- In bytecode, the MATLAB function "mexErrMsgTxt" has been replaced by an exception handling see ticket #137
2010-09-24 12:52:58 +02:00
Houtan Bastani
b512a43848
fix file mode
2010-09-23 10:44:10 +02:00
Sébastien Villemot
a3640239ab
Removed all MSVC workarounds, since we can now definitely drop this compiler on
...
Windows/64-bit platform
2010-09-21 15:06:14 +02:00
Sébastien Villemot
6c66e3d2af
Bytecode DLL: include dynmex.h instead of mex.h (for compatibility with older
...
MATLAB)
2010-09-20 10:23:05 +02:00
Ferhat Mihoubi
0ecfc5eed9
- Incorrect type for variable map_idx_res (the variable with highest error)
2010-09-17 12:26:54 +02:00
Ferhat Mihoubi
45137f1367
- bug correction in error printout (elimination of an unused variable : nb_endo in SparseMatrix)
2010-09-17 12:26:44 +02:00
Ferhat Mihoubi
c7eff4ba60
- Adding the relaxation method for block and/or bytecode options
...
- Changing the the stack_solve_algo option :
Previous version New version
1 : Sparse LU 0 : Sparse LU
2 : GMRES 1 : Relaxation
3 : BiCGStab 2 : GMRES
4 : Sparse LU & Optimal Path 3 : BiCGStab
5 : bytecode own solver 4 : Sparse LU & Optimal Path
5 : bytecode own solver
2010-09-17 12:18:25 +02:00
Ferhat Mihoubi
77b6096962
- extends the mex_interface: bytecode's debuging purpose
...
- correction of memory leaks in bytecode
2010-09-17 12:17:14 +02:00
Ferhat Mihoubi
0a3c8a4b0c
- compute the jacobian matrix for exogenous, det_exogenous and previous blocks endogenous
...
- preprocessor provides informations about the dynamic structure of each block
- extends the algorithms available with bytecode: stack_solve_algo = 1, 2, 3 and 4 is compatible the bytecode. Speed and memory requirement are improved with stack_solve_algo = 1 or 4 for large scale models.
- bytecode can be used to evaluate a model
2010-09-17 12:16:47 +02:00
Sébastien Villemot
81f0cf1bc3
Bytecode DLL: provisions for Microsoft Visual C++
2010-06-09 18:35:35 +02:00
Sébastien Villemot
045e2e21ef
Bytecode DLL: bugfix for erf()
2010-06-09 18:31:39 +02:00
Ferhat Mihoubi
f849b11563
The functions erf, normpdf and normcdf work fine with bytecode option
2010-04-16 17:00:05 +02:00
Sébastien Villemot
3475341ac9
Bytecode DLL: fixed compilation with MSVC
2010-02-23 16:04:32 +01:00
Ferhat Mihoubi
faa5da07dc
Bug correction in error messages and reduction of memory requirement during simulation
2010-02-19 11:03:53 +01:00
Ferhat MIHOUBI
6d958b6e8d
Improvement of the floating point error messages (the equation and the location of the error are displayed)
2010-02-06 15:07:56 +01:00
Ferhat MIHOUBI
cea26af06e
Uses the initial method to manage the floating exceptions
2010-02-05 18:50:57 +01:00
Ferhat MIHOUBI
f7ac31b58a
Improves the global convergence of Newton method for static model
2010-02-05 18:33:34 +01:00
Ferhat MIHOUBI
4a33777ef7
Adds exceptions management on floating point operations using cfenv.h from gcc
2010-02-05 12:07:46 +01:00
Ferhat MIHOUBI
cb1cc4049b
convergence error message changed in bytecode
2010-01-29 17:51:39 +01:00
ferhat
b5727e0658
Adds location indications in error message of "bytecode" + minor correction (string passed as &string).
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3374 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 16:42:08 +00:00
ferhat
0efd5b1621
"bytecode" option can be used without "block" option
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3373 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 10:03:29 +00:00
sebastien
f3549b4c64
Beautified MEX source code
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3251 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:18:38 +00:00
sebastien
aa23ed73e9
preprocessor + bytecode DLL: various enhancements to block and bytecode options (changes by Ferhat)
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3244 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 13:21:31 +00:00
sebastien
31ed196c44
Various minor changes for compatibility with MS Visual C++ and GCC 4.4
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3105 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-30 16:29:16 +00:00
ferhat
079b5a7abb
- Correction in the memory allocation (new - delete used with object)
...
- bytecode test upgraded
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3075 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-23 11:23:47 +00:00
ferhat
e1f17fa9e5
- adds a new option in simul command when block and bytecode options are used : minimal_solving_periods. With bytecode option, the linear solver is applied only on the first periods. As soon as the set of operations remains the same from one period to another, they are repeated for the remaining periods. In some cases the linear solver could encounter exact or near singularities. To avoid these effects, this new option allows the user to extend the minimal number of periods where the model has to be solved.
...
- corrects some mod files.
- In steady command, get check argument from bytecode dll
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3051 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-18 15:18:16 +00:00
ferhat
3c2d944cfc
- use of classes to describe the bytecode tags
...
- use static option for bytecode instead of steady_state option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3048 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-16 16:34:27 +00:00
ferhat
f7d69ff58c
avoid useless iteration in simulation of simple equations
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3025 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 09:31:58 +00:00
ferhat
ece194b602
The local variables are implemented with byte code
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3015 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 16:47:43 +00:00
ferhat
4dff75d79c
- the "steady_state" function is implemented with the "bytecode" option
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2952 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-18 16:34:11 +00:00
sebastien
2ac1194d39
Build system: change the flag used for OpenMP compilation
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2950 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-18 10:34:04 +00:00
ferhat
153c7b2542
New option: "evaluate' to evaluate the static or the dynamic model
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2919 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-11 17:06:54 +00:00
ferhat
e627f62441
- bug fix in Simulate_NG
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2918 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-11 10:19:39 +00:00
ferhat
9f45200924
simulate.dll has been replaced by bytecode.dll
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2881 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 14:40:54 +00:00