MathGroup Archive 1998

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

Search the Archive

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
____________________________________________________________________



  • Prev by Date: Re: Viewing 3D slices of data
  • Next by Date: Re: Solve for positive, real-valued solutions
  • Prev by thread: Re: Problem defining transformation rules
  • Next by thread: how to replace...?