Re: Speeding up Replacement Rules

• To: mathgroup at smc.vnet.net
• Subject: [mg24603] Re: Speeding up Replacement Rules
• From: "John D. Hendrickson" <jdh at hend.net>
• Date: Fri, 28 Jul 2000 17:23:41 -0400 (EDT)
• References: <8lgqqm\$1vj@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```The standard way to spead up large replacement lists generated by sol'n is
to use Dispatch (it makes a rules dispatching table).  Its easy to use, you
might try that first.

Johannes Ludsteck wrote in message <8lgqqm\$1vj at smc.vnet.net>...
>Dear MathGroup Members,
>I use Mathematica to compute the hessian of a complicated
>function of a vector of about 50 variables. My problem with the job
>is that I need the mean of the hessian for about 50000 sets of
>vector values.
>
>Of course, it is simpe to compute a symbolic expression of the
>hessian in two steps:
>g=Map[D[f[args],#]&,args];
>h=Map[D[g,#]&,args];
>and to use this to compute the mean by defining a list of 500000
>replacement rules, and to replace the stuff with
>(Plus@@(h/.rules))/50000;
>
>This works fine but very sloooooooow. Since I have to redo the
>computation of the mean some hundred times, I nead a drastic
>gain in speed. I think that the main reason for the poor performance
>of my strategy is that the replacement operation is slow. I think it
>should be possible to generate a Compiled function object which is
>much faster. Since I expect that this will require some time, I would
>like to know whether the increase in speed will compensate me for
>the pains of the implementation.
>Of course, if someone has Mathematica code which takes a vector
>valued function and generates a Compiled gradient or hessian
>function, I will accept it gratefully.
>The simple advice to compute the hessian by hand and to put this
>in a Compiled function is worthless for me, since I have to apply
>the mean hessian computation to a variety of different functions.
>
>
>Thank you,
> Johannes Ludsteck
>
>
>
>Johannes Ludsteck
>Centre for European Economic Research (ZEW)
>Department of Labour Economics,
>Human Resources and Social Policy
>Phone (+49)(0)621/1235-157
>Fax (+49)(0)621/1235-225
>
>P.O.Box 103443
>D-68034 Mannheim
>GERMANY
>
>Email: ludsteck at zew.de
>

```

• Prev by Date: Re: Manipulating Slot objects in Compile
• Next by Date: Re: More about l`Hopital`s rule
• Previous by thread: Re: Speeding up Replacement Rules
• Next by thread: Problem using NIntegrate within FixedPoint