Page 1 of 1

stoch_simul cannot be used at matlab 2007b

PostPosted: Thu Nov 22, 2007 12:18 pm
by lizeze
Hello,
I meet the same problem as sheepooh74 when I run dynare at matlab 2007b. My code can be run at matlab 2006b. However, when I got rid of stoch_simul it also can be run in 2007b. When I run code with stoch_simul, it shows :
Invalid MEX-file 'U:\dyn_mat_v3_065\matlab\gensylv.dll': The specified
procedure could not be found.
Error in ==> dr1 at 443
ghxx = gensylv(2,A,B,C,D);
Error in ==> resol at 56
[dr,info] = dr1(dr,check_flag);
Error in ==> stoch_simul at 47
[dr_, info] = resol(ys_,0);
Michel said that "For the time beeing delete gensylv.dll, then an lternative, slower, Matlab base routines will take over ". I
I have deleted gensylv.dll in c:\dynare_v3\matlab\gensylv.dll, I worked well. I want to konw what is gensylv.dll and why it relate to stoch_simul !
Thank you!

PostPosted: Sat Dec 01, 2007 6:01 pm
by MichelJuillard
When solving for 2nd order approximation, one needs to solve an equation of the form:

A*X + B*X*kron(C,C) = D

Ondra Kamenik has written in C++ an efficient algorithm to solve this kind of equations, that is made available to Matlab in the form of a DLL.
When gensylv.dll (or .mexw32) isn't available, Dynare will use an alternative, slower algorithm

Best

Michel