[Date Index]
[Thread Index]
[Author Index]
Re: Listable functions with two brackets f[][] (SubValues)
*To*: mathgroup at smc.vnet.net
*Subject*: [mg64938] Re: [mg64909] Listable functions with two brackets f[][] (SubValues)
*From*: "David Park" <djmp at earthlink.net>
*Date*: Wed, 8 Mar 2006 01:00:04 -0500 (EST)
*Sender*: owner-wri-mathgroup at wolfram.com
Hugh,
I think you can get what you want by defining f[vec_] as a Function. With a
Function you can set attributes as a third argument. It's in the Help notes.
b = Line[{{1, 2}, {3, 4}, {5, 6}}];
c = {b, Line[{{2, 3}, {5, 6}, {9, 3}}]};
f[vec_] := Function[{a}, Line[(#1 + vec & ) /@ First[a]], {Listable}]
f[{1, 3}][b]
Line[{{2, 5}, {4, 7}, {6, 9}}]
f[{1, 3}][c]
{Line[{{2, 5}, {4, 7}, {6, 9}}], Line[{{3, 6}, {6, 9}, {10, 6}}]}
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: Goyder Dr HGD [mailto:h.g.d.goyder at cranfield.ac.uk]
To: mathgroup at smc.vnet.net
I would like to use a double bracket function f[][] as, I believe,
originally promoted by David Park. The second bracket is called the
SubValues of f. My problem is that I would like the second bracket to
be Listable. Is this possible.?
The following is a toy example by way of illustration. Suppose I wish
to make a function that translates the graphics primitive Line. Then I
can make a function as follows and it works for one Line[].
In[1]:=
ClearAll[f];
f[vec_][a_Line] := Line[(#1 + vec & ) /@ a[[1]]]
In[3]:=
b = Line[{{1, 2}, {3, 4}, {5, 6}}];
In[4]:=
f[{1, 3}][b]
Out[4]=
Line[{{2,5},{4,7},{6,9}}]
However, if I have a list of Lines[] it does not work because the
second bracket does not have the Attribute Listable.
In[5]:=
c = {b, Line[{{2, 3}, {5, 6}, {9, 3}}]};
In[6]:=
f[{1, 3}][c]
Out[6]=
f[{1,3}][{Line[{{1,2},{3,4},{5,6}}],Line[{{2,3},{5,6},{9,3}}]}]
Attempts to make the function f[][] Listable fail because it makes the
first and not the second bracket Listable.
In[7]:=
SetAttributes[f, Listable]
In[8]:=
f[{1, 3}][c]
Out[8]=
{f[1],f[3]}[{Line[{{1,2},{3,4},{5,6}}],Line[{{2,3},{5,6},{9,3}}]}]
Is there a solution?
Thanks
Hugh Goyder
--
This message has been scanned for viruses and
dangerous content by the Cranfield MailScanner, and is
believed to be clean.
Prev by Date:
**Re: Listable functions with two brackets f[][] (SubValues)**
Next by Date:
**Re: Possible Bug in ArcTan ?**
Previous by thread:
**Re: Listable functions with two brackets f[][] (SubValues)**
Next by thread:
**Re: Listable functions with two brackets f[][] (SubValues)**
| |