help to make code run faster (mathematica v8.01)
- To: mathgroup at smc.vnet.net
- Subject: [mg121318] help to make code run faster (mathematica v8.01)
- From: kristoph <kristophs.post at web.de>
- Date: Sat, 10 Sep 2011 07:28:51 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
Hi
I'm running out of options in order to make my code run faster. I do
appreciate any help. I programmed a function named tStat that
basically sums over two compiled functions. Although, I run the
function parallel it is still rather slow. Thanks in advance for help.
Here is what I mean:
(*the following 5 lines is just random input data to test the
function*)
resp=RandomReal[10,250];
reg=RandomReal[1,250];
des=DesignMatrix[Table[{reg[[i]],resp[[i]]},{i,1,Length[reg]}],x,x];
fit=LinearModelFit[{des,resp}];
h=1.06 StandardDeviation[reg] Length[reg]^(-1/5);
(*the two compiled functions which are inputs for the function tStat*)
epanKern=Compile[{u},
If[Abs[u]<1,3/4 (1-u^2),0]
];
val1=Compile[{{rk,_Real},{rj,_Real},{dk,_Real},{dj,_Real},
{band,_Real}},
rk rj epanKern[(dk-dj)/band]];
(*the following function is rather slow*)
tStat[data_,band_,residuals_,leg_]:=Module[{k,j,res=0,var=0},
res=ParallelSum[val1[residuals[[k]],residuals[[j]],data[[k]],data[[j]],band],
{k,1,leg},{j,k+1,leg}];
2 res
];
(*executing the function*)
tStat[reg,h,fit["FitResiduals"],Length[reg]]//AbsoluteTiming
- Follow-Ups:
- Re: help to make code run faster (mathematica v8.01)
- From: Patrick Scheibe <pscheibe@trm.uni-leipzig.de>
- Re: help to make code run faster (mathematica v8.01)
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: help to make code run faster (mathematica v8.01)