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 >