Hi George,
George Perendia <george(a)perendia.orangehome.co.uk> writes:
> we explored alternative paths and it looks like we need to add a
> complex QZ on lines of the Matlab to Octave.
If I understand correctly, you need a complex QZ decomposition at line
156 of partial_information/PI_gensys.m, where you call the qz()
primitive (and only there).
Note for other developers: the qz() primitive under Octave delivers only
the *real* generalized Schur decomposition.
> C Sims' site provides such wrapper for octave version of gensys.m
> based on Lapack zgges.f:
> http://sims.princeton.edu/yftp/gensys/Octave/
>
> but that is using Octave specific mkoctfile compilation and octave specific .c interface.
>
> Considering we are not using mkoctfile, and it may not be acceptable
> within Dynare, would it be ok if we take up an alternative path to
> rewrite mjdgges.c as an additional qzzges.c (laving mjdgges as is of
> course) that returns complex on the same lines as Matalb qz() does,
> and add it to the e.g. qz subdirectory where mjdgges currenlty resides
> (though the zdgges.f still needs to be tested if it does the right
> trick but this would be the way to test it too)?
I think that the easiest way to go is to incorporate Sims' qzcomplex
oct-file into Dynare, provided that Sims agrees on putting it under the
GPL (which should probably not be a problem).
The fact that this uses mkoctfile is not a problem: it is possible to
emulate this command with the build system as we did for the mex
command.
The fact that it uses Octave specific Oct-interface is not a problem: we
can build this DLL only for Octave (and therefore with a ".oct"
extension), since it is useless under MATLAB.
And of course we would put it under mex/octave.
I agree with you that this will force users to have compiled DLLs in
order to use your code, but there are already many other features of
Dynare in that case (k-order, bytecode...).
If you agree with that line of work, I will contact Sims to ask for
permission of including his code under the GPL into Dynare, and then I
will make the necessary changes to the build system.
Best,
--
Sébastien Villemot
CEPREMAP — http://www.cepremap.ens.fr
Dynare project — http://www.dynare.org
Phone: +33 1 40 77 49 90
PGP Key: 0xA6C029B9D06B2913D71C105EBE37E801FB6EFF8B (http://pgp.mit.edu/)
#131: histval is broken in models with lag > 1
--------------------------+-------------------------------------------------
Reporter: michel | Owner: michel
Type: bug | Status: new
Priority: critical | Milestone: 4.2
Component: Core M-files | Version:
Keywords: |
--------------------------+-------------------------------------------------
initialization doesn't take auxiliary variables into account
initial matrix has wrong dimension
--
Ticket URL: <https://www.dynare.org/trac/ticket/131>
Dynare <http://www.dynare.org>
The Dynare project
#21: Add partial information
---------------------------+------------------------------------------------
Reporter: sebastien | Owner: george
Type: feature | Status: accepted
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Resolution: | Keywords:
---------------------------+------------------------------------------------
Comment(by george):
Replying to [comment:5 george]:
>
> The problem with the difference seem to stem from the difference in QZ
calculation b/w Octave and matlab. I will follow this up!
modified PI_gensys to use C.Sims' Lapack zgges based qzcomplex() qz
decomposition routine under Octave which gives nearly identical complex
results to Matlab QZ (except for the transpose of q matrix and few sign
changes in the output matrices)
--
Ticket URL: <https://www.dynare.org/trac/ticket/21#comment:7>
Dynare <http://www.dynare.org>
The Dynare project
#21: Add partial information
---------------------------+------------------------------------------------
Reporter: sebastien | Owner: george
Type: feature | Status: accepted
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Resolution: | Keywords:
---------------------------+------------------------------------------------
Comment(by sebastien):
Replying to [comment:3 sebastien]:
> Two minor issues to be solved (among others):
> * the file matlab/disclyap_fast.m has no copyright: this should be
clarified
Done in a5b88195189eb694b2c8fd2cae65ed29818ee673
> * the files matlab/partial_information/{qzswitch,qzdiv}.m are redundant
with the versions in matlab/qz. These files should be deleted once the PI
code relies on mjdgges.
Files removed in 44b268ec6742f0500b6627c029f7653b0a572e13.
As of a5b88195189eb694b2c8fd2cae65ed29818ee673, the code does not give the
same results under Octave and MATLAB.
--
Ticket URL: <https://www.dynare.org/trac/ticket/21#comment:4>
Dynare <http://www.dynare.org>
The Dynare project
#21: Add partial information
---------------------------+------------------------------------------------
Reporter: sebastien | Owner: george
Type: feature | Status: accepted
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Resolution: | Keywords:
---------------------------+------------------------------------------------
Comment(by sebastien):
Documentation in reference manual needs to be added, based on the wiki
page:
http://www.dynare.org/DynareWiki/PartialInformation
--
Ticket URL: <https://www.dynare.org/trac/ticket/21#comment:6>
Dynare <http://www.dynare.org>
The Dynare project
#21: Add partial information
---------------------------+------------------------------------------------
Reporter: sebastien | Owner: george
Type: feature | Status: accepted
Priority: major | Milestone: 4.2
Component: Core M-files | Version:
Resolution: | Keywords:
---------------------------+------------------------------------------------
Comment(by george):
The problem with the difference seem to stem from the difference in QZ
calculation b/w Octave and matlab. I will follow this up!
--
Ticket URL: <https://www.dynare.org/trac/ticket/21#comment:5>
Dynare <http://www.dynare.org>
The Dynare project
#11: Allow for the possibility of using the bytecode representation of the model
for any task
---------------------------+------------------------------------------------
Reporter: sebastien | Owner: ferhat
Type: enhancement | Status: reopened
Priority: major | Milestone: 4.2
Component: Preprocessor | Version:
Resolution: | Keywords:
---------------------------+------------------------------------------------
Changes (by sebastien):
* status: closed => reopened
* resolution: fixed =>
Comment:
- As of 5f0dac24bf0e7b65fdc43e21a5dc7eeb1ae92776, the test file
block_bytecode/ls2003.mod crashes under Octave
- We should probably swap values 5 and 8 for solve_algo, for consistency
with Dynare 4.1
- The new values for stack_solve_algo and solve_algo (in combination with
block/bytecode) need to be documented on the wiki and in the reference
manual (on the wiki, we should keep separate sections on Dynare 4.1 and
Dynare 4.2)
--
Ticket URL: <https://www.dynare.org/trac/ticket/11#comment:5>
Dynare <http://www.dynare.org>
The Dynare project