Re: problems with series of multiple integrals
- To: mathgroup at smc.vnet.net
- Subject: [mg18348] Re: [mg18335] problems with series of multiple integrals
- From: "Carl K.Woll" <carlw at fermi.phys.washington.edu>
- Date: Wed, 30 Jun 1999 14:13:19 -0400
- Organization: Department of Physics
- References: <199906271911.PAA19092@smc.vnet.net.>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Thomas, I think the key here is to prevent Integrate from evaluating until you have set up the integral properly. Here are two ideas: q1[k_,s_]:= Block[{t,Integrate}, Integrate[Sum[t[i],{i,0,k-1}],Sequence@@Table[{t[i],0,s},{i,0,k-1}]]] q2[k_,s_]:= Module[{t}, dummy[Sum[t[i],{i,0,k-1}],Sequence@@Table[{t[i],0,s},{i,0,k-1}]]/.dummy-> Integrate] In the function q1[k,s] I use Block to prevent Integrate from evaluating, then I set up the integral. Once Block is exited, Integrate does its thing. For the integrand I just used a sum of the integration variables, and instead of subscripts t_i I used t[i]. You can certainly use subscripted variables if you want, I didn't use them because they don't look pretty in email. The second function does essentially the same thing. I form the integral with a dummy head, and then I replace dummy with Integrate. The functions work: In[389]:= q1[2,s] Out[389]= 3 s In[390]:= q2[3,s] Out[390]= 4 3 s ---- 2 Good luck. Carl Woll Physics Dept U of Washington Dr. Thomas Burkhardt wrote: > Hallo there! > > If have a syntactical problem in the following context: I need to > evaluate the Durbin algorithm for first passage time of Brownian motion > for curved boundaries. The density function of the fpt is of the form > > f(t)=sum_{i=1}^\infty q_k(t), > > where each component q_k(t) requires the evaluation of the > (k-1)-integral of a function of t_0, ..., t_{k-1}, with equal integral > limits 0 to t. > > I would like to implement the function q_k(t) in the form q[k_, t_], so > that the body of the routine q would contain > > Integrate[ a function of t_0, ..., t_{k-1}, {t_0, 0, t}, {t_1, 0,t}, > ..., {t_{k-1}, t}] > > That is: The length of the argument list {t_0, 0, t}, {t_1, 0,t}, ..., > {t_{k-1}, t} depends on the index k (!!!), which is passed to the > program q[k,t], so that the argument list must be evaluated dynamically > by the routine. Is there any way to do this, that is, a syntax that > Mathematica 3.0 will understand? > > Any hints are appreciated. Thank you very much! > > -- > ------------------------------------------------------------- > Dr. Thomas Burkhardt > > e-mail: tburkha at bwl.tu-freiberg.de > Tel.: +49-3731-39-2420 > FAX: +49-3731-39-4053 > > Fakultaet Wirtschaftswissenschaften > Technische Universitaet BA Freiberg > Gustav-Zeuner-Str. 10 > D-09596 Freiberg > Germany