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>
 
 
 - Re: define a new object or use the existing?