I am running Mathematica 10 on Windows 10.

I'm trying to analytically evaluate a definite, principal value integral:

1/(I Pi) Integrate[G (e^3/m^2) a/(ϵ (x^2 - 4 ωp^2 - 4 I ωp γ) (x^2 - ωp^2 - 
            2 I ωp γ)^2)/(ωp - ω), {ωp, -Infinity, Infinity}, 
            Assumptions -> {e, m, a, γ, x, ϵ, G, ω > 0}, PrincipalValue -> True]

The expression I get back is odd. Firstly, it has 'True' floating around as if it were a symbol, and secondly it involves none of my symbols (except one). I know what the answer is supposed to be, and it definitely does not have a new symbol 'true' in it! What's going on?

Here is an image, as requested. The first line shows what the integrand looks like (this uses subscripts), and the next lines show the input and output I am talking about. In the input, I removed the subscripts as asked by the community.

@LostinKnowledge -- When I replace the subscripts such that Mathematica can realize my variable of integration, namely wp, it does not freeze on me. Instead, it gives me the same answer as before. It does not hang.

  • $\begingroup$ How exactly does it look like on your front end? Can you post a screenshot? (Also, version number and OS, please.) $\endgroup$ – J. M.'s ennui Oct 14 '15 at 16:26
  • $\begingroup$ Greetings! To make the most of Mma.SE please take the tour now. Help us to help you, write an excellent question. Edit if improvable, show due diligence, give brief context, include minimum working examples of code and data in formatted form. As you receive give back, vote and answer questions, keep the site useful, be kind, correct mistakes and share what you have learned. Why not choosing a meaningful name? $\endgroup$ – rhermans Oct 14 '15 at 16:26
  • $\begingroup$ I would start by changing the names of variables to avoid the use of Subscript $\endgroup$ – rhermans Oct 14 '15 at 16:27
  • $\begingroup$ -(1/π) I Integrate[(a e^3 G)/( m^2 ϵ0 (-ω + ωp) (x^2 - 4 I γ ωp - 4 ωp^2) (x^2 - 2 I γ ωp - ωp^2)^2), {ωp, -∞, ∞}, Assumptions -> a ∈ Reals && G ∈ Reals && e ∈ Reals && m ∈ Reals && ϵ0 ∈ Reals && ωp ∈ Reals && ω ∈ Reals && ω > 0, PrincipalValue -> True] $\endgroup$ – rhermans Oct 14 '15 at 17:06
  • $\begingroup$ Have you checked that none of your symbols have values? $\endgroup$ – Simon Woods Oct 14 '15 at 20:58

I was gonna write this as a comment but I don't have enough reputation to do that. So here is my thinking in the answer form.

As suggested by rhermans, you should change your variables away from Subscript. This is evident in your screenshot. Mathematica doesn't recognize that Subscript[ω, p]is the variable you are integrating over. It doesn't give you the green variable color.

Secondly, your assumptions section isn't formatted correctly. My understanding is that you want

e, m, a, γ, x, Subscript[ϵ, 0], G, ω ∈ Reals


e, m, a, γ, x, Subscript[ϵ, 0], G, ω > 0

To achieve that in Mathematica, you have to pass your arguments to Flatten[{# \[Element] Reals & /@ {e, m, a, γ, x, e0, G, ω}, {# > 0 & /@ {e, m, a, γ, x, e0, G, ω}}}]

This will allow Mathematica to map the conditions to the variables accurately. Also, a good thing to remember is that, if a variable is greater than zero, it is also real. An imaginary number can't be ranked in that way.

After changing everything as described above and getting rid of the superfluous Reals assumption, we have the following expression

    1/(I Pi) Integrate[
  G (e^3/m^2) a/(e0 (x^2 - 4 wp^2 - 
         4 I wp \[Gamma]) (x^2 - wp^2 - 
          2 I wp \[Gamma])^2)/(wp - \[Omega]), {wp, -Infinity, 
  Assumptions -> 
   Flatten[{# > 0 & /@ {e, m, a, \[Gamma], x, e0, G, \[Omega]}}], 
  PrincipalValue -> True]

Mathematica can't seem to evaluate it and gets stuck calculating. I'd recommend checking your integrand at this point.

Here's the screenshot of what it looks like in my Mathematica v10. [Mathematica screenshot[[1]

Notice how wp, the integrating variable, is color coded green, whereas in your version, Subscript[w,p] isn't.

  • $\begingroup$ Thank you. My question was specifically about this 'True' appearing everywhere, and it is fixed when I properly format my Assumptions. Also, thank you to @LLlAMnYP. $\endgroup$ – Matt Oct 16 '15 at 18:39

Using the corrected syntax provided in the Answer by Lost in Knowledge, I find that Mathematica 10.2 runs for over 40 minutes and then fails with nonsensical error messages. I have raised the possibility that this is a bug in question 97135

However, the problem can be solved using residues. Begin with the integrand, and renormalize to eliminate as many constants as possible

int = (m^2 x^7 ϵ)/(a e^3 G) Factor[G (e^3/m^2) a/(ϵ (x^2 - 4 ωp^2 - 4 I ωp γ) 
    (x^2 - ωp^2 - 2 I ωp γ)^2)/(ωp - ω) /. {ω -> ω x, ωp -> ωp x, γ -> γ x}]

Next, compute the residues

Solve[Denominator[int] == 0, ωp] // Flatten // Union
(* {ωp -> 1/2 (-I γ - Sqrt[1 - γ^2]), ωp -> 1/2 (-I γ + Sqrt[1 - γ^2]), 
    ωp -> -I γ - I Sqrt[-1 + γ^2], ωp -> -I γ + I Sqrt[-1 + γ^2], ωp -> ω} *)
res = Residue[int, {ωp, ωp /. #}] & /@ %;

Note that all poles but the last, which is on the axis, are in the lower half-plane. Therefore, closing the integral in the upper half-plane yields half the value of the ωp -> ω residue, multiplied by 2 Pi I. (Closing the integral in the lower half-plane yields the same answer, because FullSimplify[Total[res]] is zero, as should be expected.) Reversing the earlier renormalization then provides the final answer.

Simplify[1/(I Pi) (a e^3 G)/(m^2 x^7 ϵ) Pi I res[[5]] /. {ω -> ω /x, γ -> γ/ x}]
(* (a e^3 G)/(m^2 x ϵ (x^2 + (-2 I γ - ω) ω)^2 (x^2 - 4 I γ ω - 4 ω^2)) *)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.