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