Commuting Matrices

*To*: mathgroup at smc.vnet.net*Subject*: [mg24541] Commuting Matrices*From*: Vishnu Jejjala <jejjala at ux8.cso.uiuc.edu>*Date*: Mon, 24 Jul 2000 03:04:20 -0400 (EDT)*Organization*: University of Illinois at Urbana-Champaign*Sender*: owner-wri-mathgroup at wolfram.com

I have a collection of matrices which satisfy a matrix algebra. Call three of the matrices Phi1, Phi2, and Phi3. I want to take expressions of the form (Phi1.Phi2.Phi3)^n and `normal order' them using the commutation relations of the algebra so that the terms in the expansion are of the form Phi1^a.Phi2^b.Phi3^c. Is there a slick way to do this? My brute force method of using replaces isn't working. One of the problems I run into is that when I obtain an expression like Phi3.(k Phi1.Phi3).Phi2.Phi3, I can't seem to teach Mathematica to realize that the k is a scalar and factors through and that it should apply the commutation rules to k Phi3.Phi1.Phi3.Phi2.Phi3. Perhaps someone can offer suggestions. Thanks. --Vishnu