Yi Wang
Posts:
33
Registered:
3/30/12


Pure functions vs rule based functions inside NIntegrate
Posted:
Jan 26, 2014 3:05 AM


Hello,
As I was told, only pure functions can be compiled. Also, NIntegrate or NDSolve first compiles a function before doing numerical operations. Thus, I would have expected that using pure functions in NIntegrate or NDSolve could be faster than rule based functions.
However, in tests I didn't find such a difference. For example,
f1[x_, y_] := Sin[Sin[x Sin[y]]]; AbsoluteTiming@NIntegrate[f1[x, y], {x, 0, 100}, {y, 0, 100}]
and
f2 = Sin[Sin[#1 Sin[#2]]] & AbsoluteTiming@NIntegrate[f2[x, y], {x, 0, 100}, {y, 0, 100}]
takes about the same time. How can I tell if both are compiled, or neither, and why?
Thanks! Yi

