Re: define a new object or use the existing?
- To: mathgroup at smc.vnet.net
- Subject: [mg24364] Re: [mg24360] define a new object or use the existing?
- From: Ken Levasseur <Kenneth_Levasseur at uml.edu>
- Date: Wed, 12 Jul 2000 23:13:07 -0400 (EDT)
- Organization: UMass Lowell
- References: <200007090853.EAA15447@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Maris: I take it that you intend to represent your twisted polynomials as sums of twisted terms. You might consider an alternate form - something like TwistedPolynomial[p,opts] where p is a list of pi's and opts includes options such as Indeterminate->delta. This is essentially how Al Hibbard and I implemented polynomials over an arbitrary ring in the AbstractAlgebra packages that we wrote. I found this representation quite easy to work with. Of course these objects can be formatted as you like. The packages are free to download, examine and use at http://www.central.edu/eaam.html. A guide with labs is available at http://www.telospub.com/catalog/MATHEMATICA/AAwM.html Ken Levasseur Maris Tõnso wrote: > > 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
- References:
- define a new object or use the existing?
- From: Maris Tõnso <maris@tpu.ee>
- define a new object or use the existing?