       RE: Why does Simplify often get stuck?

• To: mathgroup at smc.vnet.net
• Subject: [mg69412] RE: [mg69399] Why does Simplify often get stuck?
• From: "David Park" <djmp at earthlink.net>
• Date: Mon, 11 Sep 2006 05:39:11 -0400 (EDT)

```Carlos,

Simplify is a nice command and very useful. But it does not give easy
detailed control. Very often you can get what you want by direct
manipulation of the expression.

R = (1/6)*(3 + 3*a^2 + Sqrt[5 + 6*a + 5*a^2] +
a*(4 + Sqrt[5 + 6*a + 5*a^2]))

MapAt[Collect[#1, Sqrt[5 + 6*a + 5*a^2]] & , R, {2}]
(1/6)*(3 + 4*a + 3*a^2 + (1 + a)*
Sqrt[5 + 6*a + 5*a^2])

David Park

To: mathgroup at smc.vnet.net

One of the major problems I noticed with Simplify since version 2.2
is that knowledge of the simplified expression is often necessary to
force progress.  This is a typical example I ran into when preparing
a homework problem.  The Mathematica version used is 5.0 under
Mac OS 10.4.7.  The solution of a quadratic equation
gives one root as

R = (3 + 3*a^2 + Sqrt[5 + 6*a + 5*a^2] + a*(4 + Sqrt[5 + 6*a +
5*a^2]))/6

in which a is nonnegative real. This has LeafCount (LC) of 43.
I happen to know (by other means) that the answer is

Rbest = (3 + 4*a + 3*a^2 + (1 + a)*Sqrt[5 + 6*a + 5*a^2])/6

This has a LC of 32 so Simplify or FullSimplify should have
no trouble whatsoever getting there, right?  Well, lets see:

RS = Simplify[R,a>=0]
(3 + 3*a^2 + Sqrt[5 + 6*a + 5*a^2] + a*(4 + Sqrt[5 + 6*a + 5*a^2]))/6

No progress. Next try a bigger gun:

RFS = FullSimplify[R,a>=0]
(3 + Sqrt[5 + a*(6 + 5*a)] + a*(4 + 3*a + Sqrt[5 + a*(6 + 5*a)]))/6

This is better, but goes only part way (LC=39)  Well, some human
trickery seems needed to bypass the Sqrt[] barrier:

R=R/.Sqrt[5 + 6*a + 5*a^2]->xx; R=Collect[R,xx];
R=Simplify[R/.xx->Sqrt[5 + 6*a + 5*a^2]]

(3 + 4*a + 3*a^2 + (1 + a)*Sqrt[5 + 6*a + 5*a^2])/6

The story ends happily, but only after much trial and error.
BTW, Collect[R,xx] is required to get the target expression.

But why should all these time consuming gyrations be necessary?
Suppose I dont know the target, or this simplification is one
of thousands done deep in a complicated code ...  After all
this is just a simple junior homework problem.

```

• Prev by Date: Re: Null's not null?
• Next by Date: Re: Null's not null?
• Previous by thread: Why does Simplify often get stuck?
• Next by thread: some integrals containing BesselJ