I have several integrals of the form :

enter image description here

where enter image description here and enter image description here .

where a,b,wc and T are constants and PV denotes the Cauchy principal value I tried to integrate one of this form using NIntegrate however when trying to compute the principal value. I tried:

HLS[nu_, phi_, t_] := 
 t^2 (Sinc[(omega - phi)*t/2]^2)*(alpha*
 nu)*( (1/(Exp[nu/T] - 1)) /(phi + nu))

HLS[nu, phi, 5], {nu, -Infinity, Infinity}, {phi, 0, Infinity}, 
Method -> "PrincipalValue"]

But I get NIntegrate::pvdim: PrincipalValue can be used for one-dimensional integrals only.

The principal value should make the integral convergent, I have spent a few days on it by now. I don't usually use mathematica but python and there the function is also only supported for one dimensional integrals so I gather this is a difficult problem. However I'd appreciate any advice or work arounds.

  • $\begingroup$ The integral under consideration is not any principal value, but an iterated integral, where the inner integral is taken as its ptrincipal value. $\endgroup$
    – user64494
    Commented Mar 10, 2021 at 8:24
  • $\begingroup$ Perhaps I did not phrase it correctly still, the principal value needs to be taken in the inner integral, do you have any clue as to how to code it ? $\endgroup$ Commented Mar 10, 2021 at 8:37
  • $\begingroup$ Evaluate parameters, e.g. t = 1; omega = 4; phi = 5; alpha = 2; wc = 1; T = 2;. Unfortunately, then Integrate[ t^2 (Sinc[(omega - phi)*t/2]^2)*(alpha*Exp[-nu/wc]* nu)*((1/(Exp[nu/T] - 1))/(phi + nu)), {nu, -Infinity, Infinity}, PrincipalValue -> True] produces an error "Integrate::idiv: Integral of (2 E^-nu nu Sinc[1/2]^2)/((-1+E^(nu/2)) (5+nu)) does not converge on {-[Infinity],[Infinity]}.". $\endgroup$
    – user64494
    Commented Mar 10, 2021 at 8:42
  • $\begingroup$ The integration limits of your Mathematica code don't match the given formula. Please check if the integration is over $[0,+\infty)$ or over $(-\infty,+\infty)$. $\endgroup$
    – Roman
    Commented Aug 3, 2022 at 14:04
  • $\begingroup$ I get a problem about nonnumerical values, since the parameters are undefined. Without their values, it's discouraging even to investigate further...consider posting them. $\endgroup$
    – Michael E2
    Commented Mar 31, 2023 at 0:52

1 Answer 1


If you wish to compute it numerically for a specific set of constants then you could possibly create a table of principal-values of the inner integral over a range of $\phi$. Note in the code below I specify the two singular points of 0 and $\phi$ in the integration limits as {0,s1,s2,infty} then run the inner integration as principal-value as $\phi$ ranges from 0.1 to 15 and note the sum does appear to be converging for at least $\phi\geq 0.1$ for delta phi=1/4. Not sure what it would look like if you start decreasing delta phi to 1/100 or 1/1000. However your notation was a bit unclear. Perhaps you can further develop the code below to your liking.

Update: I think to integrate it this way, would have to multiply the value of each inner principal-value integral by delta phi like a Riemann sum which I did not do in the code below.

 Let a=1, t=1, b=1, w_c=1, T=2
myf2[v_, \[Phi]_] := (v Exp[-v])/((Exp[v/2] - 1) (\[Phi] - v))
sum = 0;
myDoubleSum = Table[
   sum += 
     Sinc[1 + thePhi]^2 myf2[v, thePhi], {v, 0, 0, 
      thePhi, \[Infinity]}, Method -> "PrincipalValue"];
   {thePhi, sum},
   {thePhi, 0.1, 15, 1/4}];
ListPlot[myDoubleSum, Joined -> True]

enter image description here

  • $\begingroup$ Thanks I'll check it out and get back to you if I have any doubts. Sorry about the notation I mainly wanted to see a way to do it, summing over the second integral seems like a great way I did not think about it, it looks like what I expected! $\endgroup$ Commented Mar 10, 2021 at 17:26
  • $\begingroup$ Not quite sure about the legitimacy of doing that. Something you can work on perhaps. $\endgroup$
    – Dominic
    Commented Mar 10, 2021 at 17:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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