MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Overriding Power

  • To: mathgroup at smc.vnet.net
  • Subject: [mg26965] Re: [mg26868] Re: Overriding Power
  • From: Jeff Hersh <frumple*NOSPAM* at home.com>
  • Date: Tue, 30 Jan 2001 03:38:17 -0500 (EST)
  • References: <94m9e5$3nu@smc.vnet.net> <94oh4k$ee1@smc.vnet.net> <200101260627.BAA18659@smc.vnet.net> <6SJc6.6841$nn4.184149@ralph.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Carl,

The problem is that I am trying to mimic the standard notation that is 
used for Geometric Algebra. The precedence is as follows...

Outer Products (designated by \[Wedge]) 
Inner Products (designated by \[Dot])
Commutator and Scalar Products (designated by \[CircleTimes] and 
\[CircleDot] respectfully).
Geometric Product (designated by white space, i.e. \[Times]).

I know you can force different parethesiation via PrecedeceForm for 
individual items but this doesn't seem to work in general.

Jeff


In article <6SJc6.6841$nn4.184149 at ralph.vnet.net>, Carl Woll 
<carlw at u.washington.edu> wrote:

> Jeff,
> 
> I don't know how to change the precedence of a function, but why don't 
> you use
> a built in operator which already has the precedence you want. For 
> example, if
> you want to have a function whose precedence is greater than
> NonCommutativeMultiply, you could look up in help for precedence, which 
> will
> lead you to section A.2.7. Section A.2.7 contains a list of the 
> precedences of
> all the built in operators. You will see that there are two built in 
> operators,
> SmallCircle and CircleDot which carry a higher precedence than
> NonCommutativeMultiply and which have no built in definitions. Hence, we 
> have
> 
> a**b\[SmallCircle]c//FullForm
> 
> NonCommutativeMultiply[a, SmallCircle[b, c]]
> 
> Since SmallCircle has no built in definitions, simply give it the 
> definitions
> you want.
> 
> Carl Woll
> Physics Dept
> U of Washington
> 
> Jeff Hersh wrote:
> 
> > In article <94oh4k$ee1 at smc.vnet.net>, Roland Franzius
> > <Roland.Franzius at uos.de> wrote:
> >
> > > Jeff Hersh wrote:
> > >
> > > > I am working on a package that deals with non-communative 
> > > > multiplication
> > > > and I have run into a problem with the Power function. As we know
> > > > Power[a b,n] (where n is an integer) automatically gets converted 
> > > > to
> > > > Power[a,n] Power[b,n]. However, with non-communative multiplication 
> > > > (I
> > > > have removed the Orderless attribute from Times to make it
> > > > non-communative) this isn't valid. Is there any way I can stop
> > > > Mathematica from automatically doing this conversion?
> > >
> > > Hi Jeff,
> > > I recommend to avoid overloading the existing algebraic functions 
> > > with
> > > arguments  from a noncommutive algebra. Write your own functions and 
> > > use
> > > Format for pretty printing the results. Especially for Power, Exp 
> > > there
> > > are MatrixPower, MatrixExp which have build  features you are 
> > > requiring.
> > >
> > > regards, Roland
> >
> > In that case does anyone know how to change the precedence of a 
> > function
> > so it is parenthesied correctly?  In other words I want the power
> > function to have the same precedence as Power.
> >
> > Jeff
> > --
> > Jeffrey Hersh,PhD
> >
> > Remove the *NOSPAM* to reply.
> >
> > <insert amusing quote here>
> 
> 
>
-- 
Jeffrey Hersh,PhD

Remove the *NOSPAM* to reply.

<insert amusing quote here>


  • Prev by Date: Re: Re: Overriding Power
  • Next by Date: PlotVectorField for NonLinear Discrete DE.
  • Previous by thread: Re: Re: Overriding Power
  • Next by thread: Re: Re: Overriding Power