Re: computing residues

*To*: mathgroup at smc.vnet.net*Subject*: [mg54821] Re: [mg54785] computing residues*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Wed, 2 Mar 2005 22:29:10 -0500 (EST)*References*: <200503010658.BAA25262@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

mjumbo wrote: >Hello, > >I would like to compute residues of analytical function, but Mathematica's built-in function Residue produces extremely strange results. E.g. > >Residue[1/Sin[z], {z, w}] > >gives 0, I expected it produce some conditional expression, or at least to leave this expression unevaluated, but 0 is surely incorrect. >What I am doing wrong? > >MJM >__________ >www.newmail.ru -- óçåë ñâîáîäíûõ êîììóíèêàöèé. > > You are not doing anything wrong but your expectation is not realistic. You would like Residue to encorporate, among other things, a (nonexistent) transcendental solver, and an oracle to determine when the expansion point might be treated as arbitrary. This would also raise serious design issues in terms of how to describe the result. To see what I mean, consider what output you think might be realistic for the following examples. Residue[(z^2-1)/Sin[z*Pi], {z,z0}] Residue[(z^2-1)/Sin[Sin[z*Pi]], {z,z0}] Residue[(z^2-1)/Sin[z*t], {z,z0}] Residue[1/(z-Tan[z]), {z,z0}] Residue[1/(z-t*Tan[z]), {z,z0}] Residue[1/Sin[z], {z,z0-Sqrt[z0^2]}] I can tell you how one might begin to approach this. Use Reduce to find zeros of 1/f[z]. Give up when Reduce fails. Otherwise attempt to use its result as an assumption to Series in order to find information about singular points. Among other issues this assumes that you can in some way recognize what is the "variable" on which you will place assumptions. And that Series can be used to advantage with appropriate assumptions. For example, here we find a pole, as desired. In[19]:= Series[1/Sin[z*Pi], {z,z0,1}, Assumptions->Element[z0,Integers]] Sec[Pi z0] Sec[Pi z0] Tan[Pi z0] Out[19]= ----------- + --------------------- + Pi (z - z0) 2 2 Pi Sec[Pi z0] Pi Sec[Pi z0] Tan[Pi z0] 2 > (------------- + -------------------------) (z - z0) + O[z - z0] 6 4 Here we are not so fortunate. In[21]:= Series[1/Sin[z], {z,z0,1}, Assumptions->Element[z0/Pi,Integers]] 2 Out[21]= Csc[z0] - Cot[z0] Csc[z0] (z - z0) + O[z - z0] In summary, I see several things standing in the way of this rather vaguely proposed functionality. (1) Lack of a clear design for what it should do, e.g. how to return the result. (2) Lack of capabilities to discern singular points. (3) Lack of an ability to recognize that the expansion point is in some way not bound to a specific "value" (that is to say, how do we know to treat it as being "possibly a singularity"). (4) Lack of an ability to recognize what are the assumptions needed to place us at such points. (5) Lack of a reasonable way to expand series with those assumptions that place us at such points. Daniel Lichtblau Wolfram Research

**References**:**computing residues***From:*mjumbo <mjumbo@nm.ru>