Date: Feb 23, 2013 11:31 PM
Author: Dr. Peter Klamser
Subject: Re: Compiling numerical iterations

Compiling functions with Complie[{...},...] was once ago (I think
version 5 or earlier) interesting for simple problems. Complex
algorithmen was always useless to compile.

For versions ealier then 5 it was a nice approach to write small c
programs for small modules:

http://onlinelibrary.wiley.com/doi/10.1002/piuz.19970280618/abstract

Today it only interesting exporting your results to c so it can be
integrated into a softwar, that runs outside a Mathematica workplace.

Kind regards from

Peter

2013/2/23 firlefranz <cornelius.franz@gmx.net>:
> Hi,
>
> to speed up some calculations I'd like to use this relatively new method of compiling equations or export them to C. But since I'm very new in these things, I have really problems to use this c-compiling function.
> Can someone show me on this simple part of code (calculation of a correlation function of a 1D random walk), how it should be implemented?
>
> num = 1000;
> tab = Table[0, {i, 1, num}];
> corr = Table[0, {i, 1, num/10}];
> For[l = 1, l <= 1000, l++,
> a = 0;
> For[i = 1, i <= num, i++,
> tab[[i]] = tab[[i]] + a/10;
> If[RandomReal[{-1, 1}] < 0, a = a + 1, a = a - 1];
> ]
> ]
> For[k = 1, k <= num/10, k++,
> For[n = 1, n <= num/10*9, n++,
> corr[[k]] = corr[[k]] + tab[[n]]*tab[[n + k - 1]]/num*10/9];
> ]
> ListPlot[{corr}, Joined -> False]
>
> Best regards
> Cornelius
>