using Plots, ComplexPhasePortrait, ApproxFun
gr();
Dr. Sheehan Olver
This lecture we cover
Definition (Riemann sphere) The Riemann sphere is the compactification of C: ˉC=C∪{∞}
Without delving on the details, we can define an open set D⊂ˉC on the Riemann sphere, where ∞∈D implies that there exists an R such that {z:|z|>R}⊂D.
Definition (Analytic at infinity) A function f(z) defined on an open set D⊂ˉC such that ∞∈D is analytic at ∞ if f(z−1) is analytic at zero.
Proposition (Taylor series at infinity) If f is analytic at infinity, then there exists an R such that for all |z|>R we have f(z)=0∑k=−∞fkzk
Demonstration f(z)=e1/z is not analytic at zero, but is analytic at infinity because f(1/z)=ez is analytic at zero:
f = z -> exp(1/z)
phaseplot(-6..6, -6..6, f)
We therefore have a convergence "Taylor" series in inverse powers of z: e1/z=1+1z+12z2+13!z3+⋯
z = 2.0+2im
sum([z^k/factorial(-1.0k) for k=-100:0]) - exp(1/z)
2.220446049250313e-16 - 5.551115123125783e-17im
These coefficients can be calculated as integrals:
k=-5;
sum(Fun(z -> f(z)/z^(k+1), Circle()))/(2π*im) - 1/factorial(-1.0k)
-3.4867941867133823e-16 + 1.13303848301229e-16im
Theorem (Cauchy's integral theorem near infinity) Suppose f is analytic outside and on a positively oriented, simple, closed contour γ, and f(∞)=0.
Example The function f(z)=e1/z−1 vanishes at ∞ and so can thence be recovered as a Cauchy integral:
f = z -> exp(1/z) - 1
ζ = Fun(Circle())
-sum(f.(ζ)/(ζ-z))/(2π*im) - f(z)
2.220446049250313e-16 + 5.551115123125783e-17im
The decay at infinity is required:
f = z -> exp(1/z)
ζ = Fun(Circle())
-sum(f.(ζ)/(ζ-z))/(2π*im) - f(z)
-0.9999999999999997 + 5.551115123125783e-17im
Definition (Residue at infinity) Suppose f is analytic in the annulus AR∞={z:R<|z|<∞}. Then the residue at infinity is Resz=∞f(z)=−f−1
Theorem (Exterier Residue Theorem) Let f be holomprohic outside and on a simple closed, positively oriented contour γ except at isolated points z1,…,zr outside γ. Then
∮γf(z)dz=−2πir∑j=1Resz=zjf(z)Let's return to our simple examples from before:
f = z -> 1/(z*(z+2))
phaseplot(-3..3, -3..3, f)
Because it is analytic outside a circle of radius 3 and decays like O(z−2), its residue at infinity is zero:
sum(Fun(f, Circle(3.0)))
9.191214874231192e-18 - 8.870531755418961e-17im
Here's another example with singularities at 0 and −2:
f = z -> 1/z + 1/(z+2)
phaseplot(-3..3, -3..3, f)
This has a residue at infinity:
f₋₁ = 2
res∞ = -f₋₁
sum(Fun(f, Circle(3.0))), -2π*im*res∞
(-1.7038443268502702e-15 + 12.566370614359174im, 0.0 + 12.566370614359172im)
On a smaller circle of radius 1 we pick up another term:
res∞ = -2
res₋₂ = 1
sum(Fun(f, Circle(1.0))), -2π*im*(res∞ + res₋₂)
(-1.032906916559743e-15 + 6.283185307179586im, 0.0 + 6.283185307179586im)
Here's a more complicated example:
f = z -> exp(1/z)/(z*(z+2))
portrait(-3..3, -3..3, f)
This example has an essential singularity at zero so the classical Residue theorem is not much use, but we can use the residue theorem at infinity:
sum(Fun(f, Circle(3.0)))
1.2241051404579888e-18 - 1.191336987305697e-16im
sum(Fun(f, Circle(1.0))), -2π*im * exp(-1/2)/(-2)
(-4.3477951067425517e-16 + 1.9054722647301798im, 0.0 + 1.9054722647301798im)
A key theme in complex analysis is representing functions by their behaviour near singularities. A rather simple example of this is a side-effect of Cauchy's integral representation:
Corollary (Cauchy's integral representation around holes) Let D⊂C be a domain with g holes (i.e., genus g). Suppose f is holmorphic in and on the boundary of D. Given g simple closed negatively oriented contours surrounding the holes γ1,…,γg and a simple closed positively oriented contour γ0 surrounding the outer boundary of D, we have f(z)=12πig∑k=0∮γkf(ζ)ζ−zdζ
Here are two examples:
f = z -> (exp(1/z) + exp(z))/(z*(z+2))
Γ = Circle(0.0, 4.0) ∪ Circle(0.0,0.5,false) ∪ Circle(-2.0,0.1,false)
phaseplot(-5..5, -5..5, f)
plot!(Γ; color=:black, label=:contour, arrow=true, linewidth=1.5)
ζ = Fun(Γ)
z = 2.0+1.0im
sum(f.(ζ)/(ζ - z))/(2π*im)
0.8671607060038516 + 0.10261889457156087im
f(z)
0.8671607060038514 + 0.10261889457156062im
Suppose we have a rational function r(z)=p(z)q(z)
n = 7
m = 5
p = Fun(Taylor(), randn(n))
q = Fun(Taylor(), randn(m))
λ = complexroots(q)
4-element Array{Complex{Float64},1}: 0.6574583015092604 + 0.8969475017786706im 0.6574583015092604 - 0.8969475017786706im -0.6950370227626129 + 0.0im -1.5131182364477396 + 0.0im
Γ = Circle(0.0, 5.0)
for λ in λ
Γ = Γ ∪ Circle(λ, 0.1, false)
end
r = z -> extrapolate(p,z)/extrapolate(q,z)
phaseplot(-5..5, -5..5, r)
plot!(Γ; color=:black, label=:contour)
ζ = Fun(Γ)
z = 2.0+2.0im
sum(r.(ζ)/(ζ - z))/(2π*im) - r(z)
-1.6653345369377348e-16 + 2.6645352591003757e-15im
But now we can use the residue theorem to simplify the integrals! Note the following:
For example, near the jth root we have the Laurent series r(z)=rj−Nj(z−λj)−Nj+⋯+rj−1(z−λj)−1+r0+r1(z−λj)+⋯
Then it follows that 12πi∮γjr(ζ)z−ζdζ=rj−Nj(z−λj)−N+⋯+rj−1(z−λj)−1
Similarly, for the contour around infinity γ0, if we have the Laurent series r(z)=⋯+r0−1z−1+r00+r01z+⋯+r0N0zN0
Thus we have the expansion summing over the behaviour near each singularity that holds for all z:
r(z)=N0∑k=0r0kzk+d∑j=1−1∑k=−Njrjk(z−λj)kExample When we only have simple poles and no polynomial growth at ∞, this has a simple form in terms of residues:
r(z)=r(∞)+d∑j=1(z−λj)−1Resz=λjr(z)n = 5
m = 5
p = Fun(Taylor(), randn(n))
q = Fun(Taylor(), randn(m))
λ = complexroots(q)
r = z -> extrapolate(p,z)/extrapolate(q,z)
phaseplot(-7..7, -7..7, r)
res = extrapolate.(p,λ)./extrapolate.(q',λ)
r∞ = p.coefficients[n]/q.coefficients[m]
r̃ = z -> r∞ + sum(res.*(z .- λ).^(-1))
#21 (generic function with 1 method)
z = 0.1+0.2im
r(z) - r̃(z)
1.1102230246251565e-16 - 3.3306690738754696e-16im
phaseplot(-7..7, -7..7, r̃)