Commit Graph

73 Commits (c079ace8c3185fded3fa260e464f15912be1dbd2)

Author SHA1 Message Date
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