Integrals Crash MMA
- To: mathgroup <mathgroup at yoda.physics.unc.edu>
- Subject: Integrals Crash MMA
- From: Roberto Sierra <73557.2101 at compuserve.com>
- Date: 17 Jul 93 02:17:46 EDT
The following double integrals crash MMA 2.03 for the Mac. It takes
a while, and you get some warnings about ComplexInfinities first, but
they will crash eventually. I wonder if this problem has been fixed
in MMA 2.2. The variables x, y, z, and sigma are constants within the
integral.
Integrate[ (Sqrt[r^2] r Cos[theta]) /
(r^2 - 2 r x Cos[theta] - 2 r y Sin[theta])^(3/2),
{theta,0,2Pi}, {r,0,R}
]
Integrate[ (Sqrt[r^2] r Sin[theta]) /
(r^2 - 2 r x Cos[theta] - 2 r y Sin[theta])^(3/2),
{theta,0,2Pi}, {r,0,R}
]
Integrate[ (Sqrt[r^2] sigma (x - r Cos[theta])) /
(r^2 + x^2 + y^2 + z^2 - 2 r x Cos[theta] - 2 r y Sin[theta])^(3/2),
{theta,0,2Pi}, {r,0,R}
]
Integrate[ (Sqrt[r^2] sigma (y - r Sin[theta])) /
(r^2 + x^2 + y^2 + z^2 - 2 r x Cos[theta] - 2 r y Sin[theta])^(3/2),
{theta,0,2Pi}, {r,0,R}
]
I tried to evaluate a related 1-D integral, and it took MMA a real
long time before leaving the integral unevaluated. Why does it take
MMA so long (hours) before rejecting this integral, whereas most
unevaluable integrals are rejected within minutes or seconds? [Note
that the reported timing requirements are considerably lower than
what is actually required.] I want to avoid having to wait hours
in the future -- I thought that MMA had crashed at first until I
let it run overnight...
In[1] :=
eqn = (lambda (x - R Cos[theta])
Sqrt[R^2 Cos[theta]^2 + R^2 Sin[theta]^2]) /
(z^2 + (x - R Cos[theta])^2 + (y - R Sin[theta])^2)^(3/2)
Out[1] =
2 2 2 2
lambda (x - R Cos[theta]) Sqrt[R Cos[theta] + R Sin[theta] ]
---------------------------------------------------------------
2 2 2 3/2
(z + (x - R Cos[theta]) + (y - R Sin[theta]) )
In[2] :=
Timing[eqn1 = Simplify[eqn]]
Out[2] =
{38.15 Second,
2
lambda Sqrt[R ] (x - R Cos[theta])
------------------------------------------------------------}
2 2 2 2 3/2
(R + x + y + z - 2 R x Cos[theta] - 2 R y Sin[theta])
In[3] :=
Timing[int1 = Integrate[eqn1, {theta,0,2Pi}]]
Out[3] =
2
{4044.6 Second, lambda Sqrt[R ]
x - R Cos[theta]
Integrate[------------------------------------------------------------,
2 2 2 2 3/2
(R + x + y + z - 2 R x Cos[theta] - 2 R y Sin[theta])
{theta, 0, 2 Pi}]}
In[4] :=
Timing[int = Integrate[eqn, {theta,0,2Pi}]]
Out[4] =
{3856.17 Second, lambda Integrate[
2 2 2 2
(x - R Cos[theta]) Sqrt[R Cos[theta] + R Sin[theta] ]
--------------------------------------------------------,
2 2 2 3/2
(z + (x - R Cos[theta]) + (y - R Sin[theta]) )
{theta, 0, 2 Pi}]}
-- Roberto Sierra
Tempered MicroDesigns