Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2011

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

Search the Archive

Re: Unwanted Recursion

  • To: mathgroup at
  • Subject: [mg120040] Re: Unwanted Recursion
  • From: Kambis Veschgini <k.veschgini at>
  • Date: Thu, 7 Jul 2011 07:27:52 -0400 (EDT)
  • References: <iv1a95$sjl$>

On 2011-07-06 11:35:33 +0200, Casorati said:

> 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?

I found out that if SetAttributes is called after the rules are defined 
the recursion does not happen but I don't know why. Can someone explain 
this behavior?

  • Prev by Date: Re: Symbolic replacement of scalar products
  • Next by Date: Re: Insoluble marbles-in-urn problem?
  • Previous by thread: Re: Unwanted Recursion
  • Next by thread: Re: Unwanted Recursion