Re: Symbolic integration
- To: mathgroup at smc.vnet.net
- Subject: [mg102651] Re: [mg102592] Symbolic integration
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Mon, 17 Aug 2009 08:06:01 -0400 (EDT)
- References: <200908161039.GAA01165@smc.vnet.net>
Hi, It seems to me that the problem you are having has nothing to do with the lambda - substitution, since lambda does not depend on the integration variable z. You have some problems with the syntax, such as using E[expr] instead of Exp[expr], also inappropriate square bracketing in your substitution rule for lambda (fixed below). Also, you should avoid inexact numbers (such as 0.5) if you count on symbolic simplifications that Mathematica will possibly perform on your input. Having fixed those, the real problem is that you have to help Mathematica - rewrite your function so that there is no Abs inside an exponent. Specifically, you should have integrated it as: In[1] = expr1 = Integrate[ Exp[-1/2 (t/\[Lambda])^\[Nu]]*UnitStep[t], {t, 0, z} ] Out[1] = If[z\[Element]Reals,(2^(1/\[Nu]) ((-(1/\[Lambda]))^\[Nu])^(-1/\[Nu]) ((1/\[Lambda])^\[Nu])^(-1/\[Nu]) (Gamma[1/\[Nu]]-Gamma[1/\[Nu],1/2 (z/\[Lambda])^\[Nu]]) (((-(1/\[Lambda]))^\[Nu])^(1/\[Nu])-((1/\[Lambda])^\[Nu])^(1/\[Nu]) UnitStep[-z]) UnitStep[z])/\[Nu],Integrate[E^(-(1/2) (t/\[Lambda])^\[Nu]) UnitStep[t],{t,0,z},Assumptions->z\[NotElement]Reals]] In[2] = expr2 = Integrate[ Exp[-1/2 (-t/\[Lambda])^\[Nu]]*UnitStep[-t], {t, 0, z} ] Out[2] = If[z\[Element]Reals,(2^(1/\[Nu]) ((-(1/\[Lambda]))^\[Nu])^(-1/\[Nu]) ((1/\[Lambda])^\[Nu])^(-1/\[Nu]) (Gamma[1/\[Nu]]-Gamma[1/\[Nu],1/2 (-(z/\[Lambda]))^\[Nu]]) UnitStep[-z] (-((-(1/\[Lambda]))^\[Nu])^((1/\[Nu]))+((1/\[Lambda])^\[Nu])^(1/\[Nu]) UnitStep[z]))/\[Nu],Integrate[E^(-(1/2) (-(t/\[Lambda]))^\[Nu]) UnitStep[-t],{t,0,z},Assumptions->z\[NotElement]Reals]] Combining the result (assuming z is real) and getting back your constant prefactor, we get finally : 1/\[Nu]*2^(1/\[Nu]) ((1/\[Lambda])^\[Nu])^(-1/\[Nu])*((-Gamma[ 1/\[Nu]] + Gamma[1/\[Nu], 1/2 (-(z/\[Lambda]))^\[Nu]])* UnitStep[-z] + (Gamma[1/\[Nu]] - Gamma[1/\[Nu], 1/2 (z/\[Lambda])^\[Nu]])*UnitStep[z]) for the integral. Now that we have the result, we can substitute your lambda and get the final result (defined, of course, up to an additive constant): In[] = result /. \[Lambda] -> ((2^(-2/\[Nu]) Gamma[1/\[Nu]]/Gamma[3/\[Nu]])^(-1/2)) Out[] = (1/\[Nu])2^(1/\[Nu]) (((2^(-2/\[Nu]) Gamma[1/\[Nu]])/Gamma[3/\[Nu]])^(\[Nu]/2))^(-1/\[Nu]) ((-Gamma[1/\[Nu]]+Gamma[1/\[Nu],1/2 (-z Sqrt[(2^(-2/\[Nu]) Gamma[1/\[Nu]])/Gamma[3/\[Nu]]])^\[Nu]]) UnitStep[-z]+(Gamma[1/\[Nu]]-Gamma[1/\[Nu],1/2 (z Sqrt[(2^(-2/\[Nu]) Gamma[1/\[Nu]])/Gamma[3/\[Nu]]])^\[Nu]]) UnitStep[z]) Hope this helps. Regards, Leonid On Sun, Aug 16, 2009 at 2:39 PM, tzygmund <tzygmund at googlemail.com> wrote: > > Hi, > > I have a fairly simple question which I cannot solve. I want to assign > a symbolic expression to a greek letter and then use this in a > subsequent integral. So, > ******************************** > \[Lambda] -> [ > \!\(\*SuperscriptBox["2", > RowBox[{"[", > FractionBox[ > RowBox[{"-", "2"}], "\[Nu]"], "]"}]]\) Gamma[1/\[Nu]]/ > Gamma[3/\[Nu]]]^(-1/2) > > Integrate[\[Nu] E[-0.5 Abs[z/ \[Lambda]]^\[Nu]]/(\[Lambda] 2^(1 + > 1/\[Nu]) Gamma[1/\[Nu]]), z] > ********************************** > > How can I get this to work? > > Thanks > >
- References:
- Symbolic integration
- From: tzygmund <tzygmund@googlemail.com>
- Symbolic integration