MathGroup Archive 2009

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

Search the Archive

Re: Re: TransformationFunctions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg101964] Re: [mg101922] Re: TransformationFunctions
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Fri, 24 Jul 2009 06:14:22 -0400 (EDT)
  • References: <h46p31$e4g$1@smc.vnet.net> <200907230754.DAA26659@smc.vnet.net>

On 23 Jul 2009, at 16:54, Peter Breitfeld wrote:

> ". at ntaxa.com" wrote:
>
>> Can anyone advice why following code does not work:
>>
>> In[538]:=tf[z_NonCommutativeMultiply] := -z[[2]]**z[[1]]
>> In[539]:=Simplify[x ** y + y ** x,TransformationFunctions -> {tf,
>> Automatic}]
>> Out[539]:=x ** y + y ** x
>>
>> I expect rather 0
>>
>> By the way:
>> In[540]:=x ** y + tf[y ** x]
>> Out[540]:=0
>>
>
> I think, the problem here is, that Simplify will apply tf to both
> products. So I would suggest you do something like this:
>
> tfrule = (x_ ** y_ + y_ ** x_) :> 0;
> tf[expr_] := expr /. tfrule;
> Simplify[x ** y + y ** x, TransformationFunctions -> {tf}]
>
> Out=0
>
>
> --  
> _________________________________________________________________
> Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de
>


There are problems with this approach.
Consider:

tfrule = (x_ ** y_ + y_ ** x_) :> 0;
tf[expr_] := expr /. tfrule;

Simplify[x ** y + y ** x, TransformationFunctions -> {tf}]
  0

but


  Simplify[2 x ** y + y ** x, TransformationFunctions -> {tf}]
  2 x ** y + y ** x

by contrast:

tf1[expr_] :=
  expr /. z_NonCommutativeMultiply :> If[Not[OrderedQ[z]], -Sort[z], z]

In[42]:= Simplify[x ** y + y ** x, TransformationFunctions ->  
{Automatic, tf1}]
Out[42]= 0

but also

Simplify[2 x ** y + y ** x, TransformationFunctions -> {Automatic, tf1}]
x ** y


Andrzej Kozlowski


  • Prev by Date: Re: Thoughts on a Wolfram|Alpha package for
  • Next by Date: Re: Re: best way to save 3D plot as .eps for latex document?
  • Previous by thread: Re: TransformationFunctions
  • Next by thread: Re: Re: TransformationFunctions