On Wed, 12 Mar 2014, Allin Cottrell wrote:

> This is the fastest version I can come up with on a quick go (if one doesn't 
> mind having the result as a matrix):
>
> <hansl>
> set stopwatch
> scalar T = 10000
> matrix y = zeros(T,1)
> scalar iters=10000
> matrix DFT = zeros(iters,1)
>
> loop i=1..iters --quiet
>    y = cum(mnormal(T, 1))
>    DFT[i] = (T-2) * (mols(y[3:],mlag(y,1)[3:])-1)
> endloop
> mwrite(DFT, "DFT.mat")
> printf "Time taken: %f seconds\n", $stopwatch
> </hansl>

Not to mention the fact that this one is the easiest to parallelise if you 
have the right hardware and you don't mind using the unstable version of 
gretl (see 
http://lists.wfu.edu/pipermail/gretl-devel/2014-March/004937.html); but 
that's experimental for now. Handle with care.

-------------------------------------------------------
   Riccardo (Jack) Lucchetti
   Dipartimento di Scienze Economiche e Sociali (DiSES)

   Università Politecnica delle Marche
   (formerly known as Università di Ancona)

   r.lucchetti(a)univpm.it
   http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------

Reply via email to