Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Integrating a complicated expression involving Sign[...] etc.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg56348] Re: Integrating a complicated expression involving Sign[...] etc.
  • From: Paul Abbott <paul at physics.uwa.edu.au>
  • Date: Fri, 22 Apr 2005 06:23:40 -0400 (EDT)
  • Organization: The University of Western Australia
  • References: <d3t38d$8jd$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <d3t38d$8jd$1 at smc.vnet.net>,
 Christian Mikkelsen <s010132 at student.dtu.dk> wrote:

> I want to ask some general questions. I get some very complicated
> intermediate results (see expressions below) that Mathematica does not
> proces (Integrate) within a day or two.
> 
> 1) Does it normally pay off just leaving it to it? If Mathematica is still
> running does it mean that it is doing meaningful transformations and
> calculations?

Usually very unlikely.
 
> 2) I would like to understand the structure of some of the intermediate
> results ("Thetaintegrant" in particular) to see if Mathematica might need
> a little help (see my earlier post and the kludge below). Is there any
> good way to do that? Using TreeForm, for example if I could just look at
> the upper most levels of the expression tree?

Mathematica certainly needs some help here ... 
> 
> 3) My problem seems to have a lot of structure so I am hopeful that
> something can be done to help Mathematica a little.
> 
> Oh, and a easy one... :-)
> 4) How do I use $Assumptions to tell Mathematica that A is real etc.
> globally?

This is possible, but usually not useful.

> (* This is actually a spherical Bessel-function *)
> j[k_, n_] = ((-I)^n*Sqrt[2*Pi]*BesselJ[1/2 + n, k])/Sqrt[k]
> 
> (* A, B, C are to substituted by sines and cosines to make up polar
> coordinates *)
> StorMatrix = {{B^2+C^2, A B, A C},
>               {B A, A^2+C^2, B C},
>               {C A, C B, A^2+B^2}};

Do you have areference for this matrix and the following computations? 
What is the application and derivation of the integral and matrix? Often 
it is better to go back to the mathematics to decide the best approach 
for a Mathematica implementation.

Importantly, if the symbolic result ends up being too complicated, it is 
unlikely to be that useful -- especially if the final goal is numerical 
computation of a range of integrals.

> (* My integrant in the case (0, 0) *)
> Integrant = Simplify[StorMatrix j[k A, n] j[k B, m] j[k a, 0] Exp[I k (A
> x + B y + C z)]/.{n->0, m->0},
>               Assumptions -> {A \[Element] Reals, B \[Element] Reals,
>                               C \[Element] Reals, a > 0,
>                               x \[Element] Reals, y \[Element] Reals,
>                               z \[Element] Reals}];
>
> 
> (* Mathematica refuses to do the definite integral but happily does the
> indefinite one *)
> KIntegral = Integrate[Integrant, k,
>               Assumptions -> {A \[Element] Reals, B \[Element] Reals,
>                               C \[Element] Reals, a > 0,
>                               x \[Element] Reals, y \[Element] Reals,
>                               z \[Element] Reals}];

A better approach is to identify exactly what you are trying to compute. 
For example, consider the following integral:

  Integrate[j[n, t] Exp[I w t], {t, -Infinity, Infinity}]

where j[n, t] is a spherical Bessel function (reversing the order of the 
arguments compared to your definition -- acutally, j[n][t] is a better 
notation). This is, essentially, a much simpler version of your 
integral. However, even in this much simpler problem, Mathematica is not 
capable of computing this directly. However, it is just the Fourier 
transform of the spherical Bessel function, which is proportional to 

  LegendreP[n, w]  for -1 < w < 1.

(Mathematica cannot compute this general Fourier transform directly 
either). 

The conclusion to draw from this though is that I expect that your 
general integral can be computed by suitable use of integral transforms.

I note that at http://www.tcm.phy.cam.ac.uk/~pdh1001/thesis/node31.html 
the integral of a particular triple product of spherical Bessel 
functions is computed.

> (* I calculate the lower limit, no problems here *)
> Klowlimit = Limit[KIntegral, k -> 0,
>               Assumptions -> {A \[Element] Reals, B \[Element] Reals,
>                               C \[Element] Reals, a > 0,
>                               x \[Element] Reals, y \[Element] Reals,
>                               z \[Element] Reals}]//Simplify;
> 
> (* Upper limit, with ComplexExpand and cheating. True? *)
> KinfIntegral = ComplexExpand[KIntegral] /.
>                        {ExpIntegralEi[ I A_ k] -> Sign[ I A] Pi,
>                         ExpIntegralEi[-I A_ k] -> Sign[-I A] Pi};

It should be possible to justify this type of approach (one that I often 
use). However, using Sign is probably not optimal. UnitStep is better 
(for example, Mathematica knows how to differentiate and inegrate 
UnitStep). Another approach would be to use Piecewise.

> Kinflimit = Limit[KinfIntegral, k -> \[Infinity],
>               Assumptions -> {A \[Element] Reals, B \[Element] Reals,
>                               C \[Element] Reals, a > 0,
>                               x \[Element] Reals, y \[Element] Reals,
>                               z \[Element] Reals}];
> 
> Thetaintegrant = (Kinflimit-Klowlimit)/.{A->Sqrt[1-w^2] P, B->Sqrt[1-w^2]
> Q, C-> w};
> 
> (* Warning: Mathematica 5.1 gets stuck on this integral : *)
> Thetaintegral =
> Integrate[Thetaintegrant, {w, -1, 1},
>          Assumptions -> {P >= -1, P <= 1, Q >= -1, Q <= 1, a > 0}]

You could try interchanging the order of integration, k <-> w. It does 
not look promising to me though.

Cheers,
Paul

-- 
Paul Abbott                                   Phone: +61 8 6488 2734
School of Physics, M013                         Fax: +61 8 6488 1014
The University of Western Australia      (CRICOS Provider No 00126G)         
35 Stirling Highway
Crawley WA 6009                      mailto:paul at physics.uwa.edu.au 
AUSTRALIA                            http://physics.uwa.edu.au/~paul


  • Prev by Date: Re: Integrating a complicated expression involving Sign[...] etc.
  • Next by Date: Re: removing sublist . Again and Different
  • Previous by thread: Re: Integrating a complicated expression involving Sign[...] etc.
  • Next by thread: Re: Integrating a complicated expression involving Sign[...] etc.