Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2001
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2001

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

Search the Archive

RE: commuting and non-commuting symbols

  • To: mathgroup at smc.vnet.net
  • Subject: [mg31378] RE: [mg31361] commuting and non-commuting symbols
  • From: "David Park" <djmp at earthlink.net>
  • Date: Wed, 31 Oct 2001 03:31:11 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Ian,

You should be able to do it. Here is a little toy system which labels
numbers and symbols as to whether they are to be used for multiplication or
as powers. 3[t] means 3 is to be used for multiplication and 3[p] means that
3 is to be used as a power. Then we can write our products using
CircleTimes. CircleTimes can be used as an infix operator and has no
attributes. CircleTimes can be entered as esc c * esc, or by \[CircleTimes].
You can make a palette if you are going to use these symbols a lot. We can
then write definitions for CircleTimes which implement the specific
operations depending on the type of quantity, t or p. In this set of
definitions, an expression is evaluated from left to right.

Clear[CircleTimes];
CircleTimes[a_[t], b_[t], c___] := CircleTimes[(a b)[t], c];
CircleTimes[a_[t], b_[p], c___] := CircleTimes[(a^b)[t], c]
CircleTimes[a_[b : (p | t)]] := a[b]


3[t]\[CircleTimes]4[t]
12[t]

3[t]\[CircleTimes]4[p]
81[t]

If there is no definition, you just get the expression back.

4[p]\[CircleTimes]3[t]
4[p]\[CircleTimes]3[t]

3[t]\[CircleTimes]x[t]\[CircleTimes]y[p]
3^y*x^y

3[t]\[CircleTimes](x[t]\[CircleTimes]y[p])
(3*x^y)[t]

This would be one approach. All the definitions on how to handle different
combinations of element types have to be specified. You will probably get
other useful answers.

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/


> From: Ian Swanson [mailto:swanson at theory.caltech.edu]
To: mathgroup at smc.vnet.net
> Hi
>
> My research group is trying to use Mathematica to simplify and verify some
> complicated expressions that combine various parameters living in
> different spaces.  Basically, we need to be able to label certain symbols
> as commuting and certain others as non-commuting (ie. Grassman numbers).
> We then need to perform standard matrx multiplication with this mixture of
> commuting and non-commuting variables -- and have Mathematica simplify the
> resulting expressions as much as possible.  Can anyone help??
>
> Thank you,
> Ian
>
> ______________________________
> | Ian J Swanson              |
> | Theoretical Physics        |
> | 253 Lauritsen              |
> | swanson at theory.caltech.edu |
> | office: 626.395.2615       |
> | cell: 626.230.1882         |
> |____________________________|
>
>



  • Prev by Date: Balls2
  • Next by Date: Re: Zero does not equal Zero
  • Previous by thread: Re: commuting and non-commuting symbols
  • Next by thread: Balls