www.geocities.com/serienumerica2
c integration Complex variables R. V. Churchill ,Integral
c of p.185-186
complex sum1,sum2 ,f ,z,z1,z2,dz ,rooti
f(z) = exp(rooti*z)/(z**2+1.)**2
c f(z) =1./(z**2+1.)
c f(z)=z/(2.*z+1.)
pi=2.*asin(1.)
rooti=(0.,1.)
r=2.
thetai =0.
thetaf=pi
sum1=0.
sum2=0.
nstep=4000
dtheta=(thetaf-thetai)/float(nstep)
do 10 i=1, nstep
theta=thetai+float(i)*dtheta
z1=r*exp(rooti*theta)
z2=r*exp(rooti*(theta-dtheta))
dz=r*exp(rooti*theta)*rooti*dtheta
sum1=sum1 + (dz/2.)*(f(z1) + f(z2))
10 continue
sum2=0.
dz=(2.*r)/float(nstep)
x1=-r
do 20 i=1,nstep
z=x1+dz*float(i)
sum2=sum2+(dz/2.)*(f(z) +f(z-dz))
20 continue
print*,'real(sum1), aimag(sum1)=',real(sum1) , aimag(sum1)
print*,'real(sum2), aimag(sum2)=',real(sum2) , aimag(sum2)
aintr=real(sum1) + real(sum2)
aintimg=aimag(sum1) +aimag(sum2)
print*,'aintr,aintimg,pi/exp(1.)=', aintr,aintimg,pi/exp(1.)
stop
end
c exact value is pi/exp(1.)= 1.15572739
c Our numerical estimate over a semicircle of radius =2.
c is 1.15572751
RUN
real(sum1), aimag(sum1)= -0.0395202562 -1.55354192E-005
real(sum2), aimag(sum2)= 1.19524777 -3.3179024E-008
aintr,aintimg,pi/exp(1.)= 1.15572751 -1.55685975E-005 1.15572739