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>

Slight improvement:

<hansl>
loop i=1..iters --quiet
     y = cum(mnormal(T, 1))
     DFT[i] = (T-2) * (mols(y[3:],y[2:T-1])-1)
endloop
</hansl>


-------------------------------------------------------
   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