[Date Index]
[Thread Index]
[Author Index]
Re: Thread function now working as expected
*To*: mathgroup at smc.vnet.net
*Subject*: [mg74607] Re: Thread function now working as expected
*From*: Peter Pein <petsie at dordos.net>
*Date*: Wed, 28 Mar 2007 01:40:52 -0500 (EST)
*References*: <euan64$do9$1@smc.vnet.net>
siewsk at bp.com schrieb:
> I cannot get the Thread function to work on In[3] and I
> am forced to do it manually in In[4]
>
> Does anyone has any idea why In[3] is not working as I expected?
>
> In[1]:= eqn1 = Sqrt[1 + 196*x^4] == 12*x - 1 - 14*x^2
> Out[1]=
> 4 2
> Sqrt[1 + 196 x ] == -1 + 12 x - 14 x
>
>
> In[2]:= eqn2 = Thread[(#1^2 & )[eqn1], Equal]
> Out[2]=
> 4 2 2
> 1 + 196 x == (-1 + 12 x - 14 x )
>
>
> In[3]:= dummy = Thread[Expand[eqn2], Equal]
> Out[3]=
> 4 2 2
> 1 + 196 x == (-1 + 12 x - 14 x )
>
>
> In[4]:= eqn3 = Equal[ eqn2[[1]] , Expand[ eqn2[[2]] ] ]
> Out[4]=
> 4 2 3 4
> 1 + 196 x == 1 - 24 x + 172 x - 336 x + 196 x
>
>
> In[5]:= Simplify[eqn3]
> Out[5]=
> 2
> x (6 - 43 x + 84 x ) == 0
>
>
Hi,
I guess, Expand evaluates before Mathematica "sees" the Thread, because
In[3]:=
eqn3 = ReleaseHold[Thread[HoldForm[Expand][eqn2], Equal]]
Out[3]=
1 + 196*x^4 == 1 - 24*x + 172*x^2 - 336*x^3 + 196*x^4
evaluates to the desired result.
In[4]:= Simplify[eqn3]
Out[4]= x*(6 - 43*x + 84*x^2) == 0
But because I'm too lazy to type all these Thread[...,Equal], I would prefer
In[5]:= Simplify[(#1^2 & ) /@ eqn1]
Out[5]= x*(6 - 43*x + 84*x^2) == 0
Peter
Prev by Date:
**Re: Thread function now working as expected**
Next by Date:
**Re: Cantor Function problem**
Previous by thread:
**Re: Thread function now working as expected**
Next by thread:
**Re: Thread function now working as expected**
| |