Re: Problem defining transformation rules
- To: mathgroup@smc.vnet.net
- Subject: [mg12461] Re: Problem defining transformation rules
- From: Paul Abbott <paul@physics.uwa.edu.au>
- Date: Tue, 19 May 1998 13:31:30 -0400
- Organization: University of Western Australia
- References: <6jf4hu$440@smc.vnet.net>
Joel Cannon wrote: > I wish to define a transformation rule in an input file that sets up the > following transformation (makes scalar commute with operator aR): > > aR**(a_*ket[m_])->a*aR**ket[m] > > However, I have not been able to accomplish this with either > > 1. ket/: aR**(a_*ket[m_]) := a*aR**ket[m] > > I get an error message that says: > TagSetDelayed::"tagpos": > "Tag ket in (aR ** (ket[m_] a_) is too deep for an assigned rule to > be found." > > 2. ket/: aR**(a_*ket[m_])->a*aR**ket[m] Not an answer to your question -- but it looks like you are trying to implement a particular non-commutative algebra. There are some packages available for non-commutative algebra, e.g., a search on MathSource <http://www.mathsource.com> for Noncommutative finds Noncommutative Algebra Package and Systems: Although processing of commutative expressions is built into Mathematica, relatively no support is given to noncommutative expression manipulation. These packages have been developed to fill this void. Commands for noncommuting algebra that are analogous to Mathematica commands are implemented, as well as others. The development of these packages has been directed by needs that arose from research in Control Theory, Systems Theory, and in Operator Theory. Also attached to the NCAlgebra package are files SYS* for doing calculations with engineering systems that are common in Hinfinity control and in differential games. See the NCAlgebra homepage <http://math.ucsd.edu/~ncalg> for more information and heavier software. URL: http://www.mathsource.com/cgi-bin/MathSource/Enhancements/Algebraic/0208-998 Also, in the <<Utilities`Notation` package there is a nice example of using Bra and Ket examples. The following button (paste the Cell[...] into a Mathematica Notebook) hyperlinks to the on-line documentation for the Notation pacakge: Cell[TextData[{ "See the ", ButtonBox["Notation Maker", ButtonData:>{"Notation"}, ButtonStyle->"GettingStartedLink"], " included with the Notebook Demos in the Help Browser." }], "Text"] Cheers, Paul ____________________________________________________________________ Paul Abbott Phone: +61-8-9380-2734 Department of Physics Fax: +61-8-9380-1014 The University of Western Australia Nedlands WA 6907 mailto:paul@physics.uwa.edu.au AUSTRALIA http://www.pd.uwa.edu.au/~paul God IS a weakly left-handed dice player ____________________________________________________________________