Re: faster Interpolation?
- To: mathgroup at smc.vnet.net
- Subject: [mg58868] Re: faster Interpolation?
- From: "Mariusz Jankowski" <mjankowski at usm.maine.edu>
- Date: Thu, 21 Jul 2005 15:46:01 -0400 (EDT)
- Organization: University of Southern Maine
- References: <dbniuf$hoj$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Alessandro, the fastest approach is to (1) upsample your data and (2) convolve. (1) here I double the length of my data by inserting zeros L = Length[data]; nL = 2 * Length[data]; zero = Table[0., {nL}]; zero[[ Range[1,nL,2] ]] = data; (2) convolve ListConvolve[ {0.5, 1., 0.5}, zero, 2, 0.] However, if your data is length L, your result will be length 2L, then you need a total of 24*L bytes of memory to do the job. Clearly, you will not be able to work with data of size 10^9 samples (on 32-bit systems)! Bye, Mariusz >>> Alessandro Strumia<astrumia at mail.df.unipi.it> 07/21/05 3:30 AM >>> hello, I need to compute a linear interpolation of a single-parameter function defined on an equally-spaced grid, and I do not need its derivatives. The ListInterpolation function of Mathematica can do this and much more, but it is not fast enough for my purposes: it takes almost 10^-3 Second on my computer, and I need to compute the function in about 10^9 points. The total running time would be about one month: too slow! So I wonder if there is a faster alternative. Thank you very much, Alessandro Strumia