MathGroup Archive 2003

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

Search the Archive

Redefine[Plus] - problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg41126] Redefine[Plus] - problem
  • From: Petr Kujan <kujanp at fel.cvut.cz>
  • Date: Sun, 4 May 2003 03:56:41 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Hello all,

I would be grateful if someone could explain the difference in
time consummation.

I need redefine standard function Plus[] for function fc[]:

	Unprotect[Plus];
	Plus[a : fc[x_], b : fc[y_]] := fc[x + y]
	Plus[k : _?NumericQ, b : fc[y_]] := fc[k + y]
	Protect[Plus];


Now easy computation is very slow (time consummation is exponential!):

	dat = Table[s, {20}];
	Plus @@ dat // Timing

	{20.019 Second, 20 s}


But if the symbol s replace by x only:

	dat = Table[x, {20}];
	Plus @@ dat // Timing
	
	{0. Second, 20 x}


Thank you,
Petr Kujan
--
kujanp at fel.cvut.cz



  • Prev by Date: Problem about expression
  • Next by Date: Using InterpolateRoot Function in Mathematica
  • Previous by thread: Re: Problem about expression
  • Next by thread: Using InterpolateRoot Function in Mathematica