|
[Date Index]
[Thread Index]
[Author Index]
Re: Conditionals -- what is "fastest" way to evaluate
- To: mathgroup at smc.vnet.net
- Subject: [mg84303] Re: Conditionals -- what is "fastest" way to evaluate
- From: Szabolcs <szhorvat at gmail.com>
- Date: Tue, 18 Dec 2007 05:32:39 -0500 (EST)
- References: <fk73mo$67o$1@smc.vnet.net>
On Dec 18, 2:19 am, "Coleman, Mark" <Mark.Cole... at LibertyMutual.com>
wrote:
> Greetings,
>
> I've built a simple function that calculates the distance between a pair
> of points on the Great Circle, e.g.., the distance between two addresses
> given their latitude-longitude coordinates. I need to apply this against
> very large lists of points, resulting in potentially tens or hundreds of
> millions of calculations. The input data that I am processing will list
> a point's location as (0,0) if for some reason the lat-long coordinate
> is not known (nb: this is a poor way to return a lat-long coordinate,
> but I am taking these as given from another processing system). For
> pairs of points where at least one of the arguments is (0,0), I'd like
> to skip the calculation and return an error code or a perhaps a value of
> infinity.
>
> I'm curious as to what is the fastest way to apply a conditional test in
> Mathematica under these circumstances? Is it a simple If[ ] statement, a "/;"
> construct, Boole, etc? I am happy to test out all of the alternatives,
> but many times some very ingenious solutions are presented on MathGroup,
> so I thought I'd pose the question. (note: I am presuming that is it
> faster to process a conditional test than to evaluate the underlying
> function)
I haven't actually tested this, but I believe that the fastest
solution would be a pure function (i.e. something like f = #^2&
instead of f[x_] = x^2) with an If[] test. This ensure that the
function is compilable, and automatic compilation is possible.
You may want to read this presentation by Carl Woll:
http://library.wolfram.com/infocenter/Conferences/7005/
I know that there is a webpage somewhere on the Wolfram site that
lists all the functions that work with Compile[], but I just can't
find it now! Could someone please point to the right page?
Prev by Date:
Re: FindRoot / Jacobian
Next by Date:
Re: FileNameSetter button return state
Previous by thread:
Conditionals -- what is "fastest" way to evaluate
Next by thread:
LinearSolve[m, b] is not equivalent to LinearSolve[m][b]
|