Commit Graph

11481 Commits (bf60795e8e70ee76e417cb4a8bc0ad6a50c391af)

Author SHA1 Message Date
Sébastien Villemot a612c59ff3
Dynare++: remove leftover file from the transition away from CWEB 2019-01-31 19:01:40 +01:00
Houtan Bastani a68f3fc082
remove unused output from functions 2019-01-31 16:11:35 +01:00
Sébastien Villemot c15602c658
Dynare++: convert doc of Sylvester module to LaTeX
Previously it was plain TeX.

This allows us to remove the test for pdfetex.
2019-01-31 12:14:12 +01:00
Sébastien Villemot 268d540d58
Dynare++: add tl.tex to distributed tarball
By the way, simplify Makefile rules.
2019-01-31 12:11:28 +01:00
Sébastien Villemot 4f7330cb52
Dynare++: add LaTeX overview of the Tensor Library
The material of this document comes from the introduction to the library that
had been lost in the move away from CWEB (formerly tl/cc/main.web).

This file gives a good overview of the library. It has been adapted from TeX to
LaTeX. Also I fixed a mistake in the Faà di Bruno's tensor formula.
2019-01-30 19:07:57 +01:00
Sébastien Villemot a122927872
Dynare++: another change related to default number of threads
Forgotten in commit 733308807.
2019-01-29 20:31:06 +01:00
Sébastien Villemot 733308807d
Dynare++: by default, use as many threads as there are logical CPUs
The former default was 2 threads, since Dynare++ was written at a time when
hyper-threading was being generalized (but multiple cores were not).
2019-01-29 16:34:25 +01:00
Sébastien Villemot edda6e3038
Dynare++ multithreading: simplification of mutex interface 2019-01-29 15:53:44 +01:00
Sébastien Villemot 752a02a36c
Dynare++: use C++11 threads (instead of POSIX threads API)
On Windows, this means that a POSIX threads implementation is no longer needed,
since C++11 threads are implemented using native Windows threads.

On GNU/Linux and macOS, POSIX threads are still used under the hood.

A new m4 macro (AX_CXX11_THREAD) is used to add the proper compilation
flags (instead of AX_PTHREAD).
2019-01-28 18:44:24 +01:00
Houtan Bastani 5ea315db20
preprocessor: submodule update 2019-01-28 17:53:36 +01:00
Houtan Bastani d32de4deae
preprocessor, reporting: submodule update 2019-01-28 15:47:40 +01:00
Houtan Bastani 266d470668
document rounding method in reporting 2019-01-28 15:27:27 +01:00
Sébastien Villemot cfc81bc5ff
Update preprocessor and dseries submodules 2019-01-28 15:16:37 +01:00
Houtan Bastani b758f56931
preprocessor: submodule update 2019-01-28 10:46:41 +01:00
Stéphane Adjemian d5db6ece5c Merge branch 'patch-1' into 'master'
Update dynare.texi

See merge request Dynare/dynare!1642
2019-01-28 08:22:21 +00:00
Wenddy SHu 163c904b49 Update dynare.texi 2019-01-28 01:38:10 +00:00
Sébastien Villemot a9e51ac4c0
Dynare++ sylvester equation solver: remove the SylvMemory class, not actually used 2019-01-25 18:43:21 +01:00
Sébastien Villemot 3ce051d819
Dynare++ sylvester equation solver: various simplifications and improvements
In particular, the test binary now errors out in case of test failure.
2019-01-25 18:43:21 +01:00
Houtan Bastani d15c998804
reporting: submodule update 2019-01-25 18:02:16 +01:00
Houtan Bastani dd4dd9be5b
preprocessor: submodule update 2019-01-25 15:07:31 +01:00
Sébastien Villemot 14fe72e11f
Add missing artefacts for Dynare++ 2019-01-24 19:57:21 +01:00
Sébastien Villemot 0ecc979116
Run dynare++ testsuite in Gitlab CI 2019-01-24 18:55:41 +01:00
Stéphane Adjemia (Scylla) 3de80c1b56
Fixed indentation in section 5. 2019-01-24 18:18:07 +01:00
Stéphane Adjemia (Scylla) 73a3872fa7
Fixed typo + Cosmetic change. 2019-01-24 17:52:28 +01:00
Stéphane Adjemia (Scylla) 4fe98a8215
Cosmetc change. 2019-01-24 17:40:37 +01:00
Stéphane Adjemia (Scylla) 9873353ffd
Completed indentation fixes in section 4. 2019-01-24 17:40:12 +01:00
Sébastien Villemot 1ef1dedc65
Refactor GeneralMatrix and ConstGeneralMatrix classes
- Remove the GeneralMatrix(const ConstVector &) constructor, since it is hides
  a memory allocation (copying the ConstVector into a fresh Vector). This
  helped detecting and fixing several unneeded memory allocations. Some other
  memory allocations are now more visible (with an explicit Vector{}
  constructor).

- Add checks in GeneralMatrix(Vector, …) and ConstGeneralMatrix(ConstVector, …)
  constructors for verifying that the {Const,}Vector has unit-stride (this was
  an implicit assumption so far) and is large enough for storing rows*cols
  elements.

- Add GeneralMatrix::operator=(const ConstGeneralMatrix &).

- Delete ConstGeneralMatrix::operator=().
2019-01-24 15:27:23 +01:00
Sébastien Villemot a2f2814cb2
Dynare++: ensure that all calls to BLAS/LAPACK use the correct LD values
Many BLAS/LAPACK calls were making the assumption that LD==rows when passing
matrices. In some cases this was correct (because of implementation details,
in particular because how the copy constructor of GeneralMatrix is implemented).
But in other cases it was a bug.

With this commit, the actual value for LD is systematically used (this fixes
existing bugs and prevent possible future ones if the implementation details
were changed).
2019-01-24 15:27:09 +01:00
Stéphane Adjemia (Scylla) 3690dc2e6f
Updated dseries submodule. 2019-01-23 17:26:08 +01:00
Stéphane Adjemia (Scylla) 2482eafdb7
Fixed dseries class initialization in Octave. 2019-01-23 15:49:55 +01:00
Sébastien Villemot fefccd4a1b
Reverts changes mistakenly added to commit f484942154. 2019-01-22 18:21:57 +01:00
Sébastien Villemot f484942154
Update dseries submodule 2019-01-22 18:10:16 +01:00
Sébastien Villemot c711d34d1d
Dynare++ / sylvester equation solver: refactor Vector and ConstVector classes
- these classes now encapsulate a std::shared_ptr<{const, }double>, so that
  they do not perform memory management, and several {Const,}Vector instances
  can transparently share the same underlying data

- make converting constructor from ConstVector to Vector explicit, since that
  entails memory allocation (but the reverse conversion is almost costless, so
  keep it implicit); do the same for GeneralMatrix/ConstGeneralMatrix,
  TwoDMatrix/ConstTwoDMatrix

- remove the constructors that were extracting a row/column from a matrix, and
  replace them by getRow() and getCol() methods on {Const,}GeneralMatrix

- rename and change the API of the complex version Vector::add(), so that it is
  explicit that it deals with complex numbers

- add constructors that take a MATLAB mxArray
2019-01-22 16:13:22 +01:00
Sébastien Villemot 49c06f5c7f
Dynare++ / sylvester equation solver: print solver method when debugging
By the way, simplify copy constructor/assignment.
2019-01-22 11:58:28 +01:00
Houtan Bastani 0c3f61f106
preprocessor: submodule update 2019-01-18 12:36:51 +01:00
Marco Ratto a798889fe1 fix crashes of the expand interactive mode of shock decomp plots, requiring to store and use more info on the plot itself (manual cherry-pick from 2914805e0803165eb324081483b6e85e288c3ce0) 2019-01-17 11:37:41 +01:00
Marco Ratto aeceafbec2 fixed error in formula of annualized steady state
(cherry picked from commit 696800b277dadd164244771ccfce8e39f1146472)
2019-01-17 10:57:39 +01:00
Marco Ratto 6e033a800b trap possible cases where the option is type dates (manual cherry pick from commit 392ee4ae8a200a82003acd0c9b70c47c542f6b32) 2019-01-17 10:56:12 +01:00
Marco Ratto 47900a5909 trap slice sampler when doing mh_recover
(cherry picked from commit 4ba9c9296f1939fa14b1401886d9e9b86541e5e3)
2019-01-17 09:50:07 +00:00
Marco Ratto beb165c002 bug fix with definition of steady state of plotted var when realtime is not zero
(manual cherry picked from commit 5badd34380f20e511e91b455482931c107a8f73b)
2019-01-17 10:47:39 +01:00
Marco Ratto 8713e46c4e fixed bug with non-increasing time declarations of moment restrictions. Modified example to get more sensible graph of ACF.
(cherry picked from commit b0e7c47a000a679420970f1d05e4f2ed7d60764c)
2019-01-17 09:26:37 +00:00
Sébastien Villemot f655c170b6
Dynare++ / sylvester equation solver: second batch of modernizations 2019-01-17 10:20:49 +01:00
Houtan Bastani 026c0699aa
preprocessor: submodule update 2019-01-16 15:26:49 +01:00
Sébastien Villemot 74d22931fe
Enforce C++14 mode when compiling Dynare++ 2019-01-16 15:20:12 +01:00
Sébastien Villemot b0a7826cb9
Dynare++ / sylvester equation solver: first batch of modernizations 2019-01-15 19:04:13 +01:00
Sébastien Villemot 2666a4ce45
Dynare++: "make check" now fails if a numerical integration test fails
By the way, reactivate two tests that actually pass.
2019-01-15 19:04:13 +01:00
Sébastien Villemot 325b1a3bb5
Dynare++: remove quasi-Monte Carlo Normal quadrature
This quadrature is supposed to generate quadrature points that are
quasi-normally distributed. Basically it applies the inverse normal CDF to the
Halton low-discrepancy sequence.

The problem is that it gives poor numerical accuracy, and therefore fails the
tests.

Since it is actually used nowhere in Dynare++, remove that code.
2019-01-15 19:04:10 +01:00
Sébastien Villemot 8ebcd7cae6
Dynare++: fix check for QZ eigenvalue criterium
The criterium was previously incorrectly applied to the square absolute value
of eigenvalues. Rather apply it to the absolute value itself (as now done in
Dynare).

Ref #1632
2019-01-15 19:04:04 +01:00
Sébastien Villemot 2a82177304
Dynare++: enforce C++ Emacs mode for bison/flex files 2019-01-15 19:03:58 +01:00
Sébastien Villemot b8791e9f13
Dynare++: various modernizations of numerical integration library 2019-01-14 18:56:49 +01:00