Re: Compiling numerical iterations
- To: mathgroup at smc.vnet.net
- Subject: [mg129900] Re: Compiling numerical iterations
- From: Peter Klamser <klamser at googlemail.com>
- Date: Sat, 23 Feb 2013 23:32:40 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20130223120106.68F4E68EC@smc.vnet.net>
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 at 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 >
- References:
- Compiling numerical iterations
- From: firlefranz <cornelius.franz@gmx.net>
- Compiling numerical iterations