Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

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

Search the Archive

Re: How do I DistributeDefinitions inside a function?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97832] Re: How do I DistributeDefinitions inside a function?
  • From: Raffy <raffy at mac.com>
  • Date: Mon, 23 Mar 2009 04:03:03 -0500 (EST)
  • References: <gq2f1b$ef9$1@smc.vnet.net> <gq5503$813$1@smc.vnet.net>

On Mar 22, 3:47 am, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de>
wrote:
> Hi,
>
> and
>
> LeaveOneOut[f_Symbol, items_] := (
>    SetSharedFunction[f];
>    Parallelize[
>     MapIndexed[
>      f[#1, items[[Complement[Table[i, {i, Length[items]}], #2]]]] &=
,
>      items]])
> ?
>
> does not help.
>
> Regards
>    Jens
>
>
>
> uk.org.micros... at googlemail.com wrote:
> > Hi
>
> > I have the following function:
>
> > LeaveOneOut[f_, items_] :=
> > Parallelize[
> >   MapIndexed[
> >    f[#1, items[[Complement[Table[i, {i, Length[items]}], #2]]]] &,
> >    items]]
>
> > Which might be called as follows:
>
> > a = 10 Table[i, {i, 10}];
> > f[x_, items_] := Mean[items] + x;
> > DistributeDefinitions[a, f];
> > LeaveOneOut[f, a]
>
> > Notice that I need to explicitly call DistributeDefinitions. I would
> > like to modify LeaveOneOut such that it performs the
> > DistributeDefinitions call. I've tried a few things=97such as using
> > (Distribute....; Parallelize...) and Module[{}, Distribute....;
> > Parallelize...]=97but the arguments passed to LeaveOneOut don't seem =
to
> > be being distributed (old definitions are used instead). I'm a
> > relative Mathematica novice, so help=97and an explanation of why what=
 I
> > have already tried doesn't work=97would very much be appreciated!
>
> > Cheers
>
> > Chris

I'm not sure I understand you correctly but:

distributeAndCall[h_,a___]:=(DistributeDefinitions[a];h[a]);

a = 10 Table[i, {i, 10}];
f[x_, items_] := Mean[items] + x;
distributeAndCall[LeaveOneOut, f, a]


  • Prev by Date: Re: How to deal with this integral
  • Next by Date: Re: Problem using a dialog and dynamic
  • Previous by thread: Re: How do I DistributeDefinitions inside a function?
  • Next by thread: DirectSum (feature request)