Main Page | Report this Page
 
   
Science Forum Index  »  Math - Symbolic Forum  »  "hard" simplification
Page 1 of 1    
Author Message
dimitris
Posted: Tue Apr 24, 2007 8:34 am
Guest
Hello.

I have two expressions. (where a>1)

In[56]:=
o1 = (1/(16*(-1 + a^2)^(3/2)))*((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a
+ Sqrt[-1 + a^2]]) +
a^2*(-Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) +
a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] +
Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi);

In[58]:=
o2 = ((2*a + 3)*Pi)/(2^(7/2)*(a + 1)^(3/2));

These expressions are equal. (They came from the evaluation of the
same integral; first by hand, second
by Mathematica).

(If somebody is interested the integral is

In[61]:=
Integrate[1/(x^4 + 2*a*x^2 + 1)^2, {x, 0, Infinity}, Assumptions -> a
Quote:
1]

Out[61]=
((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a + Sqrt[-1 + a^2]]) + a^2*(-
Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) +
a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] + Sqrt[(-1 + a^2)*(a
+ Sqrt[-1 + a^2])]))*Pi)/(16*(-1 + a^2)^(3/2))

and the simpler expression can be found by

In[65]:=
(1/(x^4 + 2*a*x^2 + 1)^2)*Dt[x] /. x -> Sqrt[y]
Integrate[% /. Dt[y] -> 1, {y, 0, Infinity}, Assumptions -> a > 1]

Out[65]=
Dt[y]/(2*Sqrt[y]*(1 + 2*a*y + y^2)^2)

Out[66]=
((3 + 2*a)*Pi)/(8*Sqrt[2]*(1 + a)^(3/2))

)

Indeed

In[84]:=
({#1, RootReduce[Simplify[o /. a -> #1]]} & ) /@ Table[Random[Integer,
{2, 100}], {20}]

Out[84]=
{{100, 0}, {54, 0}, {74, 0}, {63, 0}, {96, 0}, {44, 0}, {46, 0}, {26,
0}, {80, 0}, {14, 0}, {23, 0}, {46, 0}, {3, 0}, {64, 0},
{70, 0}, {59, 0}, {71, 0}, {17, 0}, {23, 0}, {56, 0}}

1) Can somebody show me one workaround (in a CAS!) in order to show
that these expressions are indeed equal?

2) In the same vein with Vladimir's posts (and stealing his
trademark!) can someone show me a workaround
that will simplify expression o1 to its equivalent (for a>1) o2?

Thanks in advance!

Dimitris
Peter Pein
Posted: Tue Apr 24, 2007 5:37 pm
Guest
dimitris schrieb:
Quote:
Hello.

I have two expressions. (where a>1)

In[56]:=
o1 = (1/(16*(-1 + a^2)^(3/2)))*((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a
+ Sqrt[-1 + a^2]]) +
a^2*(-Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) +
a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] +
Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi);

In[58]:=
o2 = ((2*a + 3)*Pi)/(2^(7/2)*(a + 1)^(3/2));

These expressions are equal. (They came from the evaluation of the
same integral; first by hand, second
by Mathematica).

....
1) Can somebody show me one workaround (in a CAS!) in order to show
that these expressions are indeed equal?

2) In the same vein with Vladimir's posts (and stealing his
trademark!) can someone show me a workaround
that will simplify expression o1 to its equivalent (for a>1) o2?

Thanks in advance!

Dimitris


Hi Dimitris,

for the first part of your question try to substitute a==Cosh[t]:

In[12]:=
o1a = FullSimplify[TrigToExp[FullSimplify[o1 /. a -> Cosh[t], t > 0] /.
t -> ArcCosh[a]], a > 1]
Out[12]=
((3 + 2*a)*(a + Sqrt[-1 + a^2])^(3/2)*Pi)/(4*(1 + a + Sqrt[-1 + a^2])^3)
In[13]:=
odiff = FullSimplify[o1a - o2, a > 1]
Out[13]=
(1/16)*(3 + 2*a)*(-(Sqrt[2]/(1 + a)^(3/2)) + (4*(a + Sqrt[-1 + a^2])^(3/2))/
(1 + a + Sqrt[-1 + a^2])^3)*Pi

and because a>1, the third term has to be zero

In[15]:=
FullSimplify[-(Sqrt[2]/(1 + a)^(3/2)) + (4*(a + Sqrt[-1 + a^2])^(3/2))/
(1 + a + Sqrt[-1 + a^2])^3 == 0, a > 1]
Out[15]=
True

It should be easier to transform o1a into o2 than to try this for o1.
....maybe sth. like

In[16]:=
Assuming[a > 1, Select[
Simplify[x /. Solve[GroebnerBasis[o1a - x, {a, x}][[1]] == 0, x]],
Simplify[#1 > 0] & ][[1]]
]
Out[16]=
((3 + 2*a)*Pi)/(8*Sqrt[2]*(1 + a)^(3/2))


Regards,
Peter
dimitris
Posted: Thu Apr 26, 2007 5:44 am
Guest
Quote:
Indeed

In[84]:> ({#1, RootReduce[Simplify[o /. a -> #1]]} & ) /@ Table[Random[Integer,
{2, 100}], {20}]

I forgot to add that o=o1-o2.

Ï/Ç dimitris Ýãñáøå:
Quote:
Hello.

I have two expressions. (where a>1)

In[56]:> o1 = (1/(16*(-1 + a^2)^(3/2)))*((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a
+ Sqrt[-1 + a^2]]) +
a^2*(-Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) +
a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] +
Sqrt[(-1 + a^2)*(a + Sqrt[-1 + a^2])]))*Pi);

In[58]:> o2 = ((2*a + 3)*Pi)/(2^(7/2)*(a + 1)^(3/2));

These expressions are equal. (They came from the evaluation of the
same integral; first by hand, second
by Mathematica).

(If somebody is interested the integral is

In[61]:> Integrate[1/(x^4 + 2*a*x^2 + 1)^2, {x, 0, Infinity}, Assumptions -> a
1]

Out[61]> ((3*(Sqrt[a - Sqrt[-1 + a^2]] - Sqrt[a + Sqrt[-1 + a^2]]) + a^2*(-
Sqrt[a - Sqrt[-1 + a^2]] + Sqrt[a + Sqrt[-1 + a^2]]) +
a*(Sqrt[(-(-1 + a^2))*(-a + Sqrt[-1 + a^2])] + Sqrt[(-1 + a^2)*(a
+ Sqrt[-1 + a^2])]))*Pi)/(16*(-1 + a^2)^(3/2))

and the simpler expression can be found by

In[65]:> (1/(x^4 + 2*a*x^2 + 1)^2)*Dt[x] /. x -> Sqrt[y]
Integrate[% /. Dt[y] -> 1, {y, 0, Infinity}, Assumptions -> a > 1]

Out[65]> Dt[y]/(2*Sqrt[y]*(1 + 2*a*y + y^2)^2)

Out[66]> ((3 + 2*a)*Pi)/(8*Sqrt[2]*(1 + a)^(3/2))

)

Indeed

In[84]:> ({#1, RootReduce[Simplify[o /. a -> #1]]} & ) /@ Table[Random[Integer,
{2, 100}], {20}]

Out[84]> {{100, 0}, {54, 0}, {74, 0}, {63, 0}, {96, 0}, {44, 0}, {46, 0}, {26,
0}, {80, 0}, {14, 0}, {23, 0}, {46, 0}, {3, 0}, {64, 0},
{70, 0}, {59, 0}, {71, 0}, {17, 0}, {23, 0}, {56, 0}}

1) Can somebody show me one workaround (in a CAS!) in order to show
that these expressions are indeed equal?

2) In the same vein with Vladimir's posts (and stealing his
trademark!) can someone show me a workaround
that will simplify expression o1 to its equivalent (for a>1) o2?

Thanks in advance!

Dimitris
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Mon Dec 01, 2008 8:02 pm