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