(moving the discussion back to the Dynare list)
Le mardi 06 août 2013 à 10:26 -0400, Jesus Fernandez-Villaverde a écrit :
Sebeastien: how do you compute the analytic derivatives in Julia (or are you just computing numerical ones?)
I compute analytic derivatives using the possibility given by Julia of manipulating the syntax tree of mathematical expressions. Note that my code is compatible with Julia 0.1, but probably not with the development branch since it changed the way of manipulating expressions; I will update my code for Julia 0.2 when it is out.
Concerning Julia, I am indeed very enthusiastic about it. I did an experiment with a sovereign default model that I had previously coded in C++ (the solution method is a variant of VFI), and it turns out that the Julia code for the same model is both shorter and faster. I therefore think that Julia may be the next big thing in scientific computing, though it is too early to be sure.
Concerning the relationship between Dynare and Julia, my view is a mix of possibilities 1 and 3 given by Michel. That is, I think we should strive towards developing a library of Julia code for manipulating and solving models, and then provide a frontend which would use that library and which would be able to parse MOD files (at least the non-MATLAB part of them).
I don't believe much in a MATLAB/Julia hybrid software, it would still have the limitations of MATLAB while increasing the complexity of the whole thing. For that reason, I think that Dynare as it exists today under MATLAB/Octave will continue to exist for quite some time. Next to that, we can create a distinct Julia-based software following the principles that I outline above. My code on Github is a first step in that direction, and I intend to continue that effort in the coming academic year.
Best,
On 8/7/13 9:57 AM, Sébastien Villemot wrote:
(moving the discussion back to the Dynare list)
Le mardi 06 août 2013 à 10:26 -0400, Jesus Fernandez-Villaverde a écrit :
Sebeastien: how do you compute the analytic derivatives in Julia (or are you just computing numerical ones?)
I compute analytic derivatives using the possibility given by Julia of manipulating the syntax tree of mathematical expressions. Note that my code is compatible with Julia 0.1, but probably not with the development branch since it changed the way of manipulating expressions; I will update my code for Julia 0.2 when it is out.
ok.
Concerning Julia, I am indeed very enthusiastic about it. I did an experiment with a sovereign default model that I had previously coded in C++ (the solution method is a variant of VFI), and it turns out that the Julia code for the same model is both shorter and faster. I therefore think that Julia may be the next big thing in scientific computing, though it is too early to be sure.
Fully agree
Concerning the relationship between Dynare and Julia, my view is a mix of possibilities 1 and 3 given by Michel. That is, I think we should strive towards developing a library of Julia code for manipulating and solving models, and then provide a frontend which would use that library and which would be able to parse MOD files (at least the non-MATLAB part of them).
Yes, my view is the same. Mixing is a bad idea. I would rather get rid of Matlab in the close future.
My recent experience with Matlab has been very disappointing. In the latest version I cannot even print graphs (too many Java stuff on top of the old core interacts poorly with my Mac). After a week working with their technical support, the only answer I got was "reinstalled the software".
I was coding yesterday in parallel with Julia: really quite elegant....
I don't believe much in a MATLAB/Julia hybrid software, it would still have the limitations of MATLAB while increasing the complexity of the whole thing. For that reason, I think that Dynare as it exists today under MATLAB/Octave will continue to exist for quite some time. Next to that, we can create a distinct Julia-based software following the principles that I outline above. My code on Github is a first step in that direction, and I intend to continue that effort in the coming academic year.
Best,
Hi,
I am also very enthousiastic about Julia, and I completely agree with Sebastien, regarding the need to build a library first redoing all the interface that Dynare is currently providing.
There is currently an amazing effort in the opensource world to build a new stack of scientific software and it would be great if economists can be part of it. It would be a also be a good occasion to raise the bar in terms of efficiency, openness, reproducibility in computational economics. It is also a very good occasion to get new people involved in that collaborative effort so I don't think that having completely ready and running software would be a good short term goals.
I've been coding in Python in a while, and was very interesting to see that the Julia and Python scientific communities are collaborating a lot ( https://groups.google.com/forum/#!topic/numfocus/NmFQxVPiqvY). For instance, they share many infrastructure tools like, GIT, LLVM and experiment with similar computational ideas. Then there have been an active collaboration in making a bidirectional bridge between the two languages, called IJulia which also allows Julia to be used with the widely used IPython notebooks. This solution has already replaced the old web-repl included in Julia and if we believe this thread, it is even considered to write doctests for Julia. That makes Julia a viable solution to write computational code now, while retaining all the existing python libraries.
Here is an experiment that mixes Python, Julia and economics : http://nbviewer.ipython.org/urls/raw.github.com/albop/jolo/master/Solving%20.... It uses the python dolo library to parse a .yaml file and produce a .jl model file representing the RBC model. This is similar to the way that Dynare produces the _static and _dynamic files from the modfile. Then all solution code (collocation/time-iteration) is implemented in Julia. Plots are made using the excellent matplotlib python library. Everything uses completely free software.
Pablo
On Wed, Aug 7, 2013 at 4:07 PM, Jesus Fernandez-Villaverde < jesusfv@econ.upenn.edu> wrote:
On 8/7/13 9:57 AM, Sébastien Villemot wrote:
(moving the discussion back to the Dynare list)
Le mardi 06 août 2013 à 10:26 -0400, Jesus Fernandez-Villaverde a écrit :
Sebeastien: how do you compute the analytic derivatives in Julia (or are
you just computing numerical ones?)
I compute analytic derivatives using the possibility given by Julia of manipulating the syntax tree of mathematical expressions. Note that my code is compatible with Julia 0.1, but probably not with the development branch since it changed the way of manipulating expressions; I will update my code for Julia 0.2 when it is out.
ok.
Concerning Julia, I am indeed very enthusiastic about it. I did an experiment with a sovereign default model that I had previously coded in C++ (the solution method is a variant of VFI), and it turns out that the Julia code for the same model is both shorter and faster. I therefore think that Julia may be the next big thing in scientific computing, though it is too early to be sure.
Fully agree
Concerning the relationship between Dynare and Julia, my view is a mix of
possibilities 1 and 3 given by Michel. That is, I think we should strive towards developing a library of Julia code for manipulating and solving models, and then provide a frontend which would use that library and which would be able to parse MOD files (at least the non-MATLAB part of them).
Yes, my view is the same. Mixing is a bad idea. I would rather get rid of Matlab in the close future.
My recent experience with Matlab has been very disappointing. In the latest version I cannot even print graphs (too many Java stuff on top of the old core interacts poorly with my Mac). After a week working with their technical support, the only answer I got was "reinstalled the software".
I was coding yesterday in parallel with Julia: really quite elegant....
I don't believe much in a MATLAB/Julia hybrid software, it would still
have the limitations of MATLAB while increasing the complexity of the whole thing. For that reason, I think that Dynare as it exists today under MATLAB/Octave will continue to exist for quite some time. Next to that, we can create a distinct Julia-based software following the principles that I outline above. My code on Github is a first step in that direction, and I intend to continue that effort in the coming academic year.
Best,
-- Jesús Fernández-Villaverde Economics-University of Pennsylvania www.econ.upenn.edu/~jesusfv
______________________________**_________________ Dev mailing list Dev@dynare.org https://www.dynare.org/cgi-**bin/mailman/listinfo/devhttps://www.dynare.org/cgi-bin/mailman/listinfo/dev