Hi Andrey,
andreyk1_at_post.tau.ac.il wrote:
> Hi Rooters!
>
> I have to calculate some quantity involving a 9 dimensional
> integration. I used the option "IntegralMultiple" with N=9, well it
> works, but takes a lot of time to complete the calculation. Is there
> another possibility to perform this?
>
If you find a better one, let me know ::)
> Actually, my expression consists of three parts, two of them (a 4
> dimensional integration) can be calculated only one time and be
> expressed as a table. Hence, instead the 4d integration, I can refer
> to a table and interpolate the values. Is there in Root some
> function which can do this? Tabulating and interpolation.
>
>
>
You will find below a small script showing how to interpolate an array
of N points X,Y
Rene Brun
void gint1() {
//example showing how to use a spline to interpolate a TGraph Double_t x[] = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95}; Double_t y[] = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1}; TGraph *gr = new TGraph(10,x,y);
gr->SetMarkerColor(kBlue); gr->SetMarkerStyle(21); gr->Draw("ALP");
//create a cubic spline smoothing this graph TSpline *spline = new TSpline3("spline3",gr);
//interpolate points randomly in the graph range
TRandom3 r;
TMarker m;
m.SetMarkerStyle(20); m.SetMarkerSize(0.5); m.SetMarkerColor(kRed); for (Int_t i=0;i<200;i++) { Double_t xr = r.Uniform(-0.3,1); Double_t yr = gr->Eval(xr,spline); m->DrawMarker(xr,yr);
> Thanks a lot!
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
Received on Wed Nov 22 2006 - 15:05:43 MET
This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:32:02 MET