MathGroup Archive 2007

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

Search the Archive

Re: Thread function now working as expected

  • To: mathgroup at smc.vnet.net
  • Subject: [mg74616] Re: Thread function now working as expected
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Wed, 28 Mar 2007 01:45:29 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <euan64$do9$1@smc.vnet.net>

siewsk at bp.com wrote:
> 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 )
[snip]

Expand is evaluated before Thread is applied. Use a dummy head and a 
transformation rule. For instance,

In[1]:=
eqn1 = Sqrt[1 + 196*x^4] == 12*x - 1 - 14*x^2;
eqn2 = Thread[(#1^2 & )[eqn1], Equal];
dummy = Thread[ed[eqn2], Equal] /. ed -> Expand

Out[3]=
          4                    2        3        4
1 + 196 x  == 1 - 24 x + 172 x  - 336 x  + 196 x

Regards,
Jean-Marc


  • Prev by Date: Solving a nasty rational differential equation
  • Next by Date: Re: Thread function now working as expected
  • Previous by thread: Re: Thread function now working as expected
  • Next by thread: Re: Thread function now working as expected