Re: Unwanted Recursion

• To: mathgroup at smc.vnet.net
• Subject: [mg120093] Re: Unwanted Recursion
• From: Kambis Veschgini <k.veschgini at thphys.uni-heidelberg.de>
• Date: Fri, 8 Jul 2011 04:52:28 -0400 (EDT)
• References: <iv1a95\$sjl\$1@smc.vnet.net> <iv46dn\$fc9\$1@smc.vnet.net>

```On 2011-07-07 13:48:07 +0200, DrMajorBob said:

> ClearAll@p
> SetAttributes[p, {Flat, OneIdentity}]
> p[a_] := a
> p[a]
>
> a
>
> Bobby
>
> On Wed, 06 Jul 2011 04:39:33 -0500, Casorati <casorati at f-m.fm> wrote:
>
>> I'm trying to define an anti-commutative algebra in Mathematica.
>> Here I will show only a minimal example to demonstrate my point.
>> The product of two elements a^b should be give by p[a,b] so I
>> make p flat:
>>
>> SetAttributes[p, {Flat}]
>>
>> But now I want p[a] to reduce to a.
>> Such a  rule would make other rules much simpler but when I define
>>
>> p[a_] := a
>>
>> the expression p[a] causes an infinite recursion. I get the message
>>
>> \$IterationLimit::itlim: Iteration limit of 4096 exceeded.
>>
>> I have similar problems with p[]:=1 which makes mathematica puts
>> ones into the p : p[a]=p[a,a]=p[1,1,...,a] .
>>
>> How can I solve this problem?

SetAttributes[p, {Flat, OneIdentity}]
p[a_] := a
p[] := 1
p[a]
\$IterationLimit::itlim :  "Iteration limit of 4096 exceeded. \

```

• Prev by Date: Re: Numerical accuracy/precision - this is a bug or a feature?
• Next by Date: Re: Numerical accuracy/precision - this is a bug or a feature?
• Previous by thread: Re: Unwanted Recursion
• Next by thread: Re: Unwanted Recursion