MathGroup Archive 2007

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

Search the Archive

Re: slot argument weirdness

  • To: mathgroup at smc.vnet.net
  • Subject: [mg83968] Re: slot argument weirdness
  • From: dh <dh at metrohm.ch>
  • Date: Wed, 5 Dec 2007 07:22:52 -0500 (EST)
  • References: <fj37b2$hok$1@smc.vnet.net>


Hi Jerry,

you are nearly there. If you set:

  m = {{#1, #2}, {#2, #1}}&;

all is well.

The reason for this is, that ...& is a function. Functiosn has the 

attribute HoldAll what prevents from the replacement of m by its value. 

You get a function that always returns m. This leaves m that is 

subsequently evaluated. Another solution that forces the evaluation, is:

Apply[Evaluate[m] &, v]

hope this helps, Daniel



Jerry wrote:

> I have to produce some bulky matrices which are described by 

> two parameters and it seems the easiest way to produce them 

> is as follows (I took out all the complexity and just left 

> in the slots to illustrate my problem). v is the parameter 

> array.

> 

> v = {2, 5};

> myMatrix=Apply[{{#1, #2}, {#2, #1}} &, v]

> 

> giving     {{2, 5}, {5, 2}}    and all is well.

> 

> But since the actual form in the first argument in Apply is 

> really a large messy thing, I thought I'd produce it just 

> once in the notebook and represent it with:

> 

> m = {{#1, #2}, {#2, #1}};

> 

> But geez, this doesn't work at all:

> 

> MyMatrix2= Apply[m &, v]

> 

> gives      {{#1, #2}, {#2, #1}}

> 

> I've tried a lot of things to make this work but have failed 

> completely. If someone can tell me that there is absolutely 

> no representation of the slot configuration that will do 

> what I want, then I can quit trying. Or is there? Thanks for 

> any info.

> 




  • Prev by Date: Re: slot argument weirdness
  • Next by Date: Re: slot argument weirdness
  • Previous by thread: Re: slot argument weirdness
  • Next by thread: Re: slot argument weirdness