Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2001

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

Search the Archive

Re: Re: Overriding Power

  • To: mathgroup at
  • Subject: [mg26897] Re: [mg26869] Re: [mg26808] Overriding Power
  • From: Andrzej Kozlowski <andrzej at>
  • Date: Fri, 26 Jan 2001 23:29:43 -0500 (EST)
  • Sender: owner-wri-mathgroup at

How about:

ClearAttributes[Times, Orderless]

Expand[(a + b) c]

c a + c b


(Some year ago I tried to do exactly what you are doing and David Withoff
showed me this simple example).

Andrzej Kozlowski
Toyama International University

on 01.1.26 3:27 PM, Jeff Hersh at frumple*NOSPAM* at wrote:

> In article <94ohvc$efs at>, Daniel Lichtblau
> <danl at> wrote:
>> Jeff Hersh wrote:
>>> Hello,
>>> 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?
>>> Jeff
>>> --
>>> Jeffrey Hersh,PhD
>>> Remove the *NOSPAM* to reply.
>>> <insert amusing quote here>
>> This is a known bug (I reported it in-house around four years ago).
>> In[5]:= (a*b)^3
>> 3  3
>> Out[5]= a  b
>> In some ways I am happy to see this bug remain alive. The reason is
>> that, while it is well and good for us to pretend that ordered Times is
>> fully supported, in actual fact this is essentially impossible to do.
>> Changing attributes of low-level arithmetic functions is problematic,
>> and the better we appear to support it, the more likely are users to
>> encounter really unobvious problems.
>> We generally advocate using e.g. NonCommutativeMultiply with rules
>> attached to support scalar multiplication, powers, commutators, and
>> whatever else is required for your particular needs.
>> Daniel Lichtblau
>> Wolfram Research
> In that case is there a way, either by the Notation utility or some
> other means, to remove white space as Times and make it
> NonCommunativeMultiply? In other words I want a b =
> NonCommunitiveMultiply[a,b] not Times[a,b].
> FYI, so far I have just removed the attribute Orderless from Times and
> it works fine except in the case of powers.
> Jeff

  • Prev by Date: Re: Re: Overriding Power
  • Next by Date: Re: Overriding Power
  • Previous by thread: Re: Re: Overriding Power
  • Next by thread: [Q] symbolic SVD?