Message Boards Message Boards

1
|
3062 Views
|
6 Replies
|
5 Total Likes
View groups...
Share
Share this post:

What have "GenerateConditions -> False" done to a divergent integral?

Posted 10 years ago

Hello.

Copy and run the following 4-line code snippet and you'll get the answers within 10 sec.

Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity}]

Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity},GenerateConditions -> False]

Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity},GenerateConditions -> False] // N

Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, a, Infinity}] +4 Log[a] /. a -> 10^-64 // N

The integral is divergent,seeing the first line of the program.

By adding "GenerateConditions -> False",seeing the second and the third line,we get a number which equals the result of the forth line.

My question is:what have "GenerateConditions -> False" done to a divergent integral?

Thank you for your help.

POSTED BY: Long Chen
6 Replies

With the setting GenerateConditions -> False, Integrate gives a regularized result (a result with a "singular part" removed).

POSTED BY: Daniel Lichtblau
Posted 10 years ago

Haw-haw,that's it! I really think so.

Thank you very much!

But can you tell me where I can find related informations.My MMA is 8.0 and the help document does not tell me things like this.Or has it been mentioned in the new vesions?

Thanks again.

POSTED BY: Long Chen

With the setting GenerateConditions -> False, Integrate gives a regularized result (a result with a "singular part" removed).

Hello Daniel; In this case, can you please explain why then

   Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity}, PrincipalValue -> True]

returned unevaluated? I thought the above is supposed to do pretty much what you said. In addition, I looked at help on GenerateConditions, and there is no mention of this side effect of its use. All what it says is that specifies that explicit conditions on parameters should be generated

POSTED BY: Nasser M. Abbasi

(1) The implementation of PrincipalValuecatches many of the basic cases but is not intended as a general regularization.

(2) The meaning of GenerateConditions is very much overloaded in both the formal and connotational senses of that word. I doubt it is documented.

POSTED BY: Daniel Lichtblau

There is a pole at x=0 (the integrand is infinity at 0)

    Limit[x^3*BesselK[2, x] BesselK[2, x], x -> 0]
    (*infinity*)

You can also see this by writing

Clear[a]
Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, a, Infinity}]

enter image description here

Notice the Re[a]>0 in the above.

Now, why GenerateConditions -> False made it work? I do not know. I think this is a bug. But I am no expert on this. I do not think the value generated is even correct. Compare

Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity}, GenerateConditions -> False] // N
(*.797059*)

to

    Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 10^(-64), Infinity}] // N
    (*590.259*)

Compare also what happens when using PrincipalValue -> True which tells it to ignore the simple pole at x=0

       Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity}, PrincipalValue -> True]

it returns unevaluated. So I have no idea where this result

        Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, 0, Infinity}, GenerateConditions -> False]
        (*1/3 - 4 EulerGamma + Log[16]*)

came from.

POSTED BY: Nasser M. Abbasi
Posted 10 years ago

Thanks for your answer.

Have you noticed that the result of the forth line just equals to 1/3 - 4 EulerGamma + Log[16] ?

How I find this?Using the following code.

Integrate[x^3*BesselK[2, x] BesselK[2, x], {x, m, Infinity}]/ Log[m] /. m -> 10^-16 // N

the answer is (-4.02163).(Of cousre,if you change 10^-16 to 10^-64,you'll get -4.00541).

It shows that the integral and Log[m] are infinites of the same order when m=0.

I'm a rookie on this.I'm wondering that "GenerateConditions -> False" can eliminate the divergent terms automatically.I do not know.

For further check.I have do the integral of x,x^2,x^-1,Log[x],and so on,which are obviously divergent. But "GenerateConditions -> False" makes them equal to zero.

Integrate[x, {x, 0, Infinity},GenerateConditions -> False]

Thanks again.

POSTED BY: Long Chen
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract