|
[Date Index]
[Thread Index]
[Author Index]
Re: Re: Overriding Power
- To: mathgroup at smc.vnet.net
- Subject: [mg26897] Re: [mg26869] Re: [mg26808] Overriding Power
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Fri, 26 Jan 2001 23:29:43 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
How about:
In[1]:=
ClearAttributes[Times, Orderless]
In[2]:=
Expand[(a + b) c]
Out[2]=
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
JAPAN
http://platon.c.u-tokyo.ac.jp/andrzej/
http://sigma.tuins.ac.jp/
on 01.1.26 3:27 PM, Jeff Hersh at frumple*NOSPAM* at home.com wrote:
> In article <94ohvc$efs at smc.vnet.net>, Daniel Lichtblau
> <danl at wolfram.com> 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?
|