Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: V8 slow like a snail

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127706] Re: V8 slow like a snail
  • From: "Dr. Wolfgang Hintze" <weh at snafu.de>
  • Date: Thu, 16 Aug 2012 01:55:36 -0400 (EDT)
  • 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: <k0fjaj$q71$1@smc.vnet.net> <k0fqto$r07$1@smc.vnet.net>

On 15 Aug., 11:42, Roland Franzius <roland.franz... at uos.de> wrote:
> Am 15.08.2012 09:32, schrieb Dr. Wolfgang Hintze:
>
>
>
>
>
> > Great disappointment on my side with 8.0.4.0 Home edition which I
> > installed yesterday!
> > My first impression: looks good, many nice features ... but incredibly
> > slow in comparision to my good old 5.2.
> > I then carried out a modest benchmark test the results of which I'll
> > show below and which I like to express in terms of a "snail
> > factor" ( = time in v5.2/ time in v8).
>
> > Consider this integral for which we can safely expect Mathematica to
> > be expert in solving:
>
> > f1[n_, m_] :=
> >   Integrate[n t^m Exp[-n t] (Exp[t] - 1)^(n - 1), {t, 0, \[Infinity]}=
,
> >    Assumptions -> {{n, m} \[Element] Integers, m >= 0, n > 0}]
>
> > I carried out Timing[f1[n, m]] for m=0,1,2,3,10 in both versions. Her=
e
> > are the results in the format
>
> > {m, V5.2 f1 first call, V5.2 second call, V8 first call, V8 second
> > call, snail factor first call, snail factor second call}
>
> > {
> > { 0, 0.328, 0.078, 2.122, 2.044, 6.46951, 26.2051},
> > { 1, 0.109,  0.063, 30.202, 30.483, 277.083, 483.857},
> > { 2, 0.421, 0.11,  30.42, 30.17, 72.2565, 274.273},
> > { 3, 0.452, 0.156, 31.528, 31.325, 69.7522, 200.801},
> > {10, 5.366, 5.382, 42.448, 42.682, 7.91055, 7.93051}
> > }
>
> > Even if we compare only the first calls the range of the snail factor
> > goes up to 277 at m = 1, is 72 for m = 2, and is still close to 8 f=
or
> > larger m.
>
> > This is my story in other words: I own a very old car, and have
> > considered for a long time to change to a newer one - although it
> > still can go at 200 km/h on the Autobahn.
> > So now I am proud owner of the new brilliant car, and I must learn the
> > on important tours (m=1) =EDts maximum speed turns out to be less t=
han 1
> > km/h,  about 3 km/h (m=2) or at most about 30 km/h. Who laughes? Me
> > not! Obviously I'll definitely keep the old car!
>
> > Ok, maybe I have chosen the wrong example (though in other test runs a
> > similar pictures emerged and this example is just the type I'm using
> > Mathematica for). Are there perhaps acknowleged benchmarks for such a
> > comparison of versions?
>
> > Finally, dear group, as you might have noticed, I'm asking for
> > consolation. Please comment and give me useful hints. Many thanks in
> > advance.
>
> It is a good idea, to split seaching solutions and simplifying the
> solutions. In this very special case the indefinite integrals produce
> series of hypergeometric functions of n terms in 1/10 of a second.
>
> And now vs 8 Simplifies this rather trival result for the definite case
> on {t,0,oo} into sums of polygammas.
>
> Of course, nobody can foresee the results of additional simplification
> rules in case of special algebraic expressions. This happens with each
> new version. More simplification rules, more time.
>
> My hope is that Wolfram at some point may give much more open control
> over implicit function simplification to his mathematical skilled users.
>
>   This is already a problem in trigonometric simpilfications. A simple
> body of explicit rules choosen from the appropriate chapters of a
> standard formula website would be much more usable than the obscure
> dependency on an universal body of rules and an algorithm depending on
> time and leafcount. I completely stopped using Sin&Co and I am now
> writing all formulas in sin and cos and 1/sin  and feed the
> simplification rules by hand. Saves hours of computation time.
>
> The same is true for the superflous work that has to be done in order to
> get an expression grouped in a conventional way readable for Mathematica
> non-experts.
>
> --
>
> Roland Franzius
>
>

The problem is not the simplification but the basic calculation of an
integral.
Here are two striking examples:

Example 1
~~~~~~~~~
v 8
Timing[Integrate[n*t*Exp[(-n)*t]*(Exp[t] - 1)^(n - 1), {t, 0,
Infinity}]]
{30.840999999999994, ConditionalExpression[HarmonicNumber[n], Re[n] >
-1]}

v 5.2:
Timing[Integrate[n*t*Exp[(-n)*t]*(Exp[t] - 1)^(n - 1), {t, 0,
Infinity}]]
{0.53*Second, n*If[Re[n] > -1, HarmonicNumber[n]/n,
    Integrate[((-1 + E^t)^(-1 + n)*t)/E^(n*t), {t, 0, Infinity},
Assumptions -> Re[n] <= -1]]}

Snail factor s = 30.8/0.53 ~= 60

Example 2
~~~~~~~~~
v 8 without Simplify
Timing[f = Integrate[Log[Abs[(Tan[x] + Sqrt[7])/(Tan[x] - Sqrt[7])]],
       {x, Pi/3, Pi/2}]]

{656.4209999999998,
 Integrate[Log[Abs[(Sqrt[7] + Tan[x])/(-Sqrt[7] + Tan[x])]],
     {x, Pi/3, Pi/2}]}

No result at all in more than 10 minutes!
Therefore I tried FullSimplify in order to get at least a result.

v 8 with FullSimplify
Timing[f = FullSimplify[Integrate[
         Log[Abs[(Tan[x] + Sqrt[7])/(Tan[x] - Sqrt[7])]], {x, Pi/3,
     Pi/2}]]]

Out[1]= {3191.391,
 Integrate[Log[Abs[(Sqrt[7] + Tan[x])/(Sqrt[7] - Tan[x])]],
     {x, Pi/3, Pi/2}]}

Again, no result, but now it took almost 1 hour of "thinking".

Now v 5.2
Timing[f = FullSimplify[Integrate[
     Log[Abs[(Tan[x] + Sqrt[7])/(Tan[x] - Sqrt[7])]], {x, Pi/3, Pi/
2}]]]
{32.667*Second, (1*(-9*ArcCot[Sqrt[7]]*Log[2] - (Pi -
6*ArcCot[Sqrt[7]])*
      Log[-Sqrt[3] + Sqrt[7]] + Pi*Log[Sqrt[3] + Sqrt[7]] +
     3*I*(-PolyLog[2, (-Sqrt[3] + Sqrt[7])/(-I + Sqrt[7])] +
       PolyLog[2, (-Sqrt[3] + Sqrt[7])/(I + Sqrt[7])] +
       PolyLog[2, (-I + Sqrt[7])/(Sqrt[3] + Sqrt[7])] -
       PolyLog[2, (I + Sqrt[7])/(Sqrt[3] + Sqrt[7])])))/6}

Oops, half a minute and here we are with the result !

Snail factor s = oo (because no solution was found) or s = 3191/32.7
~= 100 (if we count the times of "absense" for v8).

Is it exagerated to speak of a disaster?

Regards,
Wolfgang



  • Prev by Date: Re: Problem finding maximum
  • Next by Date: Re: How to make field lines in VectorPlot3D white
  • Previous by thread: Re: V8 slow like a snail
  • Next by thread: Re: V8 slow like a snail