• To: mathgroup at smc.vnet.net
• Subject: [mg60792] Re: [mg60777] question about HoldForm
• From: Andrzej Kozlowski <andrzej at yhc.att.ne.jp>
• Date: Thu, 29 Sep 2005 05:40:59 -0400 (EDT)
• References: <200509280541.BAA08384@smc.vnet.net> <C7A03B69-E78A-4C45-9B9C-26AA77EAA489@yhc.att.ne.jp>
• Reply-to: Andrzej Kozlowski <andrzej at akikoz.net>
• Sender: owner-wri-mathgroup at wolfram.com

```On 28 Sep 2005, at 16:14, Andrzej Kozlowski wrote:

>
> On 28 Sep 2005, at 14:41, Ruth Lazkoz wrote:
>
>
>>
>> Hi,
>>
>> I have this expression
>>
>> x = 2; HoldForm[x^2 + 4x + 4]
>>
>> Is there a way to operate on HoldForm so that I get (x^2+2)^2? If
>> I cut
>> a paste the result and operate on it I obviously get 16.
>>
>> Thanks,
>>
>> Ruth
>>
>>
>>
>>
>
> Do you mean (x+2)^2?
> Assuming so one possible way is something like this:
>
>
> x = 2; v = HoldForm[x^2 + 4*x + 4];
>
>
> Block[{x}, HoldForm[Evaluate[v /. HoldForm[u_] :> Factor[u]]]]
>
>
> HoldForm[(x + 2)^2]
>
> Andrzej Kozlowski
>
>
>

This may be slightly simpler, though the idea is the same.

x = 2; v = HoldForm[x^2 + 4*x + 4];

In[3]:=
Block[{x}, HoldForm[Evaluate[Factor[ReleaseHold[v]]]]]

HoldForm[(x + 2)^2]

Andrzej Kozlowski

```

• Prev by Date: Re: question about HoldForm
• Next by Date: Re: what is wrong with this plot?