[Mathematica] How to calculate residues if poles not simple?

In summary, Earth2 has a question about how to evaluate residues of poles of order n in Mathematica. He types in a function and gets zero as the residue, but he knows from doing the calculation by hand that the result should not be zero. He is not sure if the form of the expression he is using is too complicated.
  • #1
earth2
86
0
Hey guys,

i have the following situation:

I have a function which looks like

[tex]\frac{(a+bx)^3}{(x-y)^6(x-z)^6}[/tex]

As one can easily see this function has poles at y and z of order 6. Now, I know how to calculate the residue of this function for instance at y, but how do I implement this into Mathematica? If i use "Residue" on this fella, Mathematica gives me zero, but I've done the calculation by hand and have shown that the result is not zero. So, my question boils down to:

How can i use mathematica to (easily) evaluate residues of poles of order n.

Thanks!
earth2

Edit: Sorry, forget to write: x, y, z are complex variables.
 
Physics news on Phys.org
  • #3
Thanks for the reply!
Ok, if I enter a function (a similar one, to be more specific but the core question remains) in its original form
[tex]
\frac{(Q*X+q*x)}{((x-B/A)^2-(B^2-AC)/A^2+i\frac{\epsilon}{A})^3}
[/tex]
Mathematica gives me as the residue zero. But I know (from calculating it myself and a paper) that it is not. Is this form of the expression maybe too complicated?

x is the variable in question. Q,X,A,B are just numbers and epsilon tends to zero.
cheers!
 
  • #4
Please show the exact Residue expression you typed into Mathematica and make certain you include any assignments you made to variables that are used in that expression.

"I typed something and the answer is wrong" just doesn't provide enough information
 
  • #5
Hi, thanks for the answer :)

The poles of the denominator are located at

[tex]
x^\pm= \frac{B \pm \sqrt{d} \mp i \epsilon }{A}
[/tex]

and i want to evaluate the residues at [tex] x^- [/tex].
So i type into Mathematica

Residue[[tex]

\frac{(Q*X+q*x)}{((x-B/A)^2-(B^2-AC)/A^2+i\frac{\epsilon}{A})^3}

,\{x,\frac{B-\sqrt{d}+ i \epsilon}{A}\}][/tex].
with d=B^2-AC.
So, where do I go wrong? :)
Thanks for the answer!

Cheers,
earth2
 
Last edited:
  • #6
I apologize if I'm making some silly mistake here.

If I try

Residue[(Q*X+q*x)/((x-B/A)^2-(B^2-A*C)/A^2+i*e/A)^3, {x, (B-Sqrt[B^2-A*C]+i*e)/A}]

I get zero, which I presume is what you are doing and getting.

If I look for zeros of your denominator

Solve[((x - B/A)^2 - (B^2 - A*C)/A^2 + i*e/A)^3 == 0, x]

seems to tell me that one pole will be at

(B-Sqrt[B^2-A*C-A*e*i])/A rather than (B-sqrt[B^2-A*C]+i*e)/A

Maybe you meant the i*e to be under the radical and this is just a failure of my trying to understand the typesetting.

If I try

Residue[(Q*X+q*x)/((x-B/A)^2-(B^2-A*C)/A^2+i*e/A)^3, {x, (B-Sqrt[B^2-A*C-A*e*i])/A}]

I get

(-3*A^4*(B*q+A*Q*X))/(16*(B^2-A*C-A*e*i)^(5/2))

Is that the correct residue or are there still errors?
Thanks
 
Last edited:
  • #7
Hi again!

Hm, you are right.
What I forgot to write, is that I (or precisely the guys in the paper) am/are doing a Taylor expansion of the solution the zeros of the denominator in epsilon and evaluate the residues at the Taylor expanded expression. In that sense "my" epsilon (after Taylor expansion) is not the original one anymore. And that's where I go wrong :) Thanks for the illumination!

Btw, the paper is http://prd.aps.org/abstract/PRD/v29/i8/p1699_1 and the calculation I am talking about (although yet again with another but similar expression) is in appendix A.

Thanks!
 

FAQ: [Mathematica] How to calculate residues if poles not simple?

How do I calculate residues in Mathematica?

In Mathematica, you can use the Residue function to calculate residues. The syntax is Residue[f[x], {x,x0}], where f[x] is the function and x0 is the point where the residue is being calculated.

What if the pole is not a simple pole?

If the pole is not a simple pole, you can use the Residue function with the option SingularTermOrder. For example, Residue[f[x], {x,x0}, SingularTermOrder->n] will calculate the residue at x0 up to the n-th order term.

Can I calculate residues for multivariable functions?

Yes, the Residue function can be used for multivariable functions as well. The syntax is Residue[f[x,y], {x,x0},{y,y0}], where x0 and y0 are the points where the residue is being calculated.

Is there a way to calculate residues for infinite poles?

Yes, you can use the Residue function with the option InfiniteTermOrder. For example, Residue[f[x], {x,x0}, InfiniteTermOrder->n] will calculate the residue at x0 for the n-th order term in the Laurent series expansion.

Can Mathematica calculate residues for functions with branch points?

Yes, you can use the Residue function with the option PrincipalValue->True. This will calculate the principal value of the residue at the branch point.

Similar threads

Replies
3
Views
2K
Replies
9
Views
721
Replies
4
Views
645
Replies
1
Views
1K
Replies
1
Views
1K
Replies
13
Views
2K
Replies
4
Views
2K
Replies
3
Views
2K
Back
Top