Re: Orderless indexed functions
- To: mathgroup at smc.vnet.net
- Subject: [mg20900] Re: Orderless indexed functions
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sat, 20 Nov 1999 01:07:13 -0500 (EST)
- References: <812a0b$1c4@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Some possibities: In the following, g[x...,i] is the ordered version of the function that we want for f[i][x...] g[x_, y_, i_] := x^(y - i); f[i_][x___] := g[##, i] & @@ Sort[{x}] f[1][c, b] Do[f[1][c, b], {3000}] // Timing b^(-1 + c) {2.04 Second, Null} Clear[f] f[i_][x__] := Function[{x}, g[x, i], Orderless][x] f[1][c, b] Do[f[1][c, b], {3000}] // Timing b^(-1 + c) {2.41 Second, Null} For simple cases we can avoid g Clear[f] f[i_][x_, y_] := Function[{x, y}, x^(y - i), Orderless][x, y] f[1][c, b] Do[f[1][c, b], {3000}] // Timing b^(-1 + c) {2.75 Second, Null} -- Allan --------------------- Allan Hayes Mathematica Training and Consulting Leicester UK www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565 N Monomachoff <nmonomachoff at email.msn.com> wrote in message news:812a0b$1c4 at smc.vnet.net... > Hello, > > I need to use 'indexed functions' like f[0][x__] and f[1][x__]. > It's important that the functions be Orderless, but > > SetAttributes[f[0],Orderless] > > isn't accepted because f[0] isn't a symbol, and > > SetAttributes[f,Orderless] > > doesn't affect the ordering in the second set of brackets. > How does one make a nonsymbolic head orderless? > > Thanks for any help. > > N Monomachoff > nmonomachoff at msn.com > > >