Is Mathematica capable of doing this?

*To*: mathgroup at smc.vnet.net*Subject*: [mg37469] Is Mathematica capable of doing this?*From*: Liguo Song <Liguo.Song at vanderbilt.edu>*Date*: Thu, 31 Oct 2002 04:42:09 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Dear MathGroup, I am in the process of learning to use Mathematica. Here are a couple of questions that I want to ask the group. 1) Can I define a new object, Tensor, which will act like Complex? So, two Times[TensorA, TensorB] or TensorA*TensorB will invoke proper Times function to handle it. 2) If the answer to the above question is yes, then can I use super/sub-scripts to represent the indices for the Tensor, and carry out the calculation based on these indices? Such as, g^uv*T_vk will get T^u_k, which essentially raises the first index of T_vk. Another example would be g^uv*T_uv will get a scalor T. I know there are couple of Tensor analysis packages, comercial and free, out there. But, all the free packages I looked through won't be able to do this. And, figuring out how to do stuff is the best to learn how to use Mathematica. Maybe, I am pursuing a dragon egg here. But, I'd still like to hear about how well Mathematica can do to imitate this behavior. Thanks for any input on this. Liguo