define a new object or use the existing?

*To*: mathgroup at smc.vnet.net*Subject*: [mg24360] define a new object or use the existing?*From*: Maris Tõnso <maris at tpu.ee>*Date*: Sun, 9 Jul 2000 04:53:02 -0400 (EDT)*Organization*: Institute of Cybernetics*Sender*: owner-wri-mathgroup at wolfram.com

Hi! I am trying to write a program which could handle noncommutative twisted polynomials. A noncommutative polynomial has a form p(delta) = pn**delta^n + ... + p2**delta^2 + p1**delta + p0, where ** denotes noncommutative multiplication. I can not decide, which is better way to represent an object pi**delta^i : to define additional rules for function NonCommutativeMulitply or to build a special new object on this purpose, for example Twisted[pi,i]. You will probably say that it depends on concrete circumstances or there is no difference in principle; but I still hope you can give some comments on this problem. And the other problem: If I choose to build a new object when I would like object Twisted[p, n] in StandardForm to be printed as p delta^n. One way to get it is to use Format and Postfix: Format[Twisted[p_,n_]] := Postfix[{p}, delta^n ] But this solution does not satisfy me. I would like to know if there exists a elegant way to define the formatting for the object Twisted so that Twisted[p+q, n] would printed as (p+q) delta^n (not p+q delta^n) and Twisted[1, n] would printed as delta^n (not 1 delta^n). Thanks for any advices. Maris Tonso Tallinn, Estonia

**Follow-Ups**:**Re: define a new object or use the existing?***From:*Ken Levasseur <Kenneth_Levasseur@uml.edu>