Re: Imposing a value for LeafCount
- To: mathgroup at smc.vnet.net
- Subject: [mg61211] Re: [mg61187] Imposing a value for LeafCount
- From: Andrzej Kozlowski <andrzej at yhc.att.ne.jp>
- Date: Wed, 12 Oct 2005 04:04:54 -0400 (EDT)
- References: <200510120542.BAA09227@smc.vnet.net>
- Reply-to: Andrzej Kozlowski <andrzej at akikoz.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 12 Oct 2005, at 14:42, kalymereau at yahoo.fr wrote: > Dear MathGroup > > I have a complicated expression in which appears a symbol of the form > f[i] where i is an integer (i.e. f[1], f[2] ... are found in the full > expression). > > When I LeafCount the full expression I want that each f[i] is > considered as a single symbol with LeafCount=1. So I have defined > > LeafCount[f[i_Integer]] ^:= 1 > > Then of course LeafCount[f[1]]=1 as I want, but LeafCount[2+f[1]] is 4 > instead of 3 (e.g. LeafCount[2+a]=3). This is because LeafCount[2+f > [1]] > is not of the form LeafCount[f[i_Integer]], so that the above > definition does not apply. > > How can I force LeafCount to consider that each f[i] has a LeafCount=1 > even in subexpressions ? > > Thanks > > I would say the simplest way would be to define your own LeafCount as follows: MyLeafCount[expr_] := LeafCount[expr /. f[i_Integer] :> Unique[f]] Now In[2]:= MyLeafCount[2+f[1]] Out[2]= 3 etc. Andrzej Kozlowski Tokyo, Japan
- References:
- Imposing a value for LeafCount
- From: kalymereau@yahoo.fr
- Imposing a value for LeafCount