MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

FindRoot to solve large number of polynomials -- how to speed it up?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg113859] FindRoot to solve large number of polynomials -- how to speed it up?
  • From: Will DeBeest <wildebeestz at gmail.com>
  • Date: Tue, 16 Nov 2010 05:04:54 -0500 (EST)

I have a polynomial eqn of the form

c[n]t^-n+1 + ...+ c[4]t^-3 + c[3]t^-2 + c[2]t^-1 + c[1] = 0

The coefficients are reals and may be in the range from +- 10000 and
the number of coefficients, i.e. size of "n", can be up to 300, or
400.I solve for t using FindRoot. I only want real values of t.

FindRoot[eqn, {t, 1.001, 1.05}, AccuracyGoal -> 4, PrecisionGoal -> 4,
MaxIterations -> 10]

As it happens I run this in batches of ~ 1000 eqns and can get 1000
solutions for t in ~10-15 seconds.

However I'd like to be doing this in much larger volumes eg. 100,000
or more eqns, so even this sort of timing is too slow. Does anyone
have any suggestion as to how this could be sped up?

Open to suggestions about compiling, parallelizing, linking to some
other code in addition to optimizing the current code etc.

thanks

Will


  • Prev by Date: Mathematica 8: first impressions
  • Next by Date: Re: reading different locations of a matrix specified by indices
  • Previous by thread: Re: Mathematica 8: first impressions
  • Next by thread: Re: reading different locations of a matrix specified by indices