- Implementation of the simulation of the block decomposed model using sparse matrix using MATLAB code:
New option in model : sparse
Example:
Model(SPARSE);
….
End;
- Implementation of the simulation of the block decomposed model using sparse matrix for static model.
- Krylov methods are implemented to solve the linear model J.y=b, with J the Jacobian matrix at each step of the Newton Method. Two Krylov's solvers are considered :
+ Generalized Minimum Residual Method (GMRES)
+ BiConjugate Gradients Stabilized (BICGSTAB)
To call them the SIMULATE command has to be completed with a new option : METHOD which could have three different values :
+ LU : (default value) Sparse LU resolution
+ GMRES
+ BICGSTAB
Example:
simul(periods=100, method=lu);
or simul(method=Gmres);
- Correction of various bugs in “simulate.dll”.
- Correction of simk.m
- Correction allowing a list of VALUES or PERIODS not necessarily separated by a comma.
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1447 ac1d8469-bf42-47a9-8791-bf33cf982152
added tests/parser/t_normcdf.mod
added Trinary Operators
increased precision of constants written to *.m or *.c files
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1440 ac1d8469-bf42-47a9-8791-bf33cf982152
* in the .m file, corrected "if exist" and "mex" lines
* in the .c files, fixed problem with model local variables
* reverted Fehrat's change: power operator in C is pow(), not pow1()
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1301 ac1d8469-bf42-47a9-8791-bf33cf982152
* added pre-computing of numerical constants (i.e. 1+1 is replaced by 2)
* removed appending of ".0" for integer constants
* refactoring of NumericalConstants
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1255 ac1d8469-bf42-47a9-8791-bf33cf982152
* implemented handling of mod file local variables (eModFileLocalVariable)
* renamed "local parameters" to model local variables (eModelLocalVariables)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1253 ac1d8469-bf42-47a9-8791-bf33cf982152
* removed Expression class; the "ExprNode" class is therefore now used everywhere
* removed interprete class, and replaced it by a method in ExprNode and an global evaluation context in ModFile
* fixed breakage of SparseDLL / Block decomposition code introduced in previous revision
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1204 ac1d8469-bf42-47a9-8791-bf33cf982152
* reorganised code in ModelTree so that block decomposition and SparseDLL code is clearly separated
* replaced DataTree::offset by ModelTree::mode, using an enumeration of the three modes which is more explicit
* reorganised ExprNode::writeOutput method by using a sixfold enumeration type (ExprNodeOutputType) corresponding to the 6 different contexts in which an expression can be written
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1203 ac1d8469-bf42-47a9-8791-bf33cf982152
* declared ExprNode::cost as const
* Makefile: removed DynareBison.{cc,hh} from "clean" rule. Added a "distclean" rule for that purpose
* various minor changes
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1179 ac1d8469-bf42-47a9-8791-bf33cf982152
* reshaped DataTree/ModelTree using a more object-oriented approach
* improved expression sharing algorithm (temporary terms in output files), resulting in smaller output files for big models
* optimized performance (both in computing time and memory consumption)
* bugfix: the expressions stored in local parameters of models (pound expressions) are now derived
* bugfix: cosh(0) = 1
* removed some useless parentheses in output
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1148 ac1d8469-bf42-47a9-8791-bf33cf982152