正面教材分享 http://blog.sciencenet.cn/u/wdlang 70%的以色列人是无神论者,不过他们都相信上帝给了他们那块土地。这个世界经不起思考

博文

计算方法7:利用幅角原理确定一个整函数在给定区域内的零点数

已有 4544 次阅读 2016-12-24 14:51 |个人分类:计算方法|系统分类:教学心得

考虑整函数 f(z) = -exp(4iz) + (2iaz-1)^2,其中a为常数。可以证明,其存在无数个零点。利用非常粗糙的数值积分,结合幅角原理,我们可以确定其在以原点为中心半径为R的圆内的零点的数目。


右边N为零点数,P为极点数。对整函数,P=0。

这个问题在量子力学里确定一个系统所支持的共振态的数目时会遇到。

% determining the number of zeros of an entire function in a circle

% by the argument principle.

clear all; close all; clc;

a = 0.1 ;

R = 129;

N = 3000;

theta = 2*pi*(0:N)/N;

z = R*exp(i*theta);

I = 0;

for s = 0:(N-1)

   dz = z(s+2) - z(s+1);

   zz = (z(s+2) + z(s+1))/2;

   I = I + dz * (-4*i*exp(4*i*zz) + 4*i*a*(2*i*a*zz - 1))/ (-exp(4*i*zz)+ (2*i*a*zz - 1)^2);

end

num_zeros = I/ (2*pi*i)


最后结果为

num_zeros =

     1.650000616150656e+02 - 1.894735385435221e-15i

所以我们知道在半径为129的圆内,存在165个零点。

思考题:有没有同学能够给一个算法,把这些零点一个个找出来?目前我们只知道它们的数目,不知道它们 位置。



https://wap.sciencenet.cn/blog-100379-1023020.html

上一篇:计算方法6:实时演示阻尼振子的运动
下一篇:计算方法8:幂法
收藏 IP: 116.251.210.*| 热度|

4 徐令予 姬扬 刘全慧 icgwang

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 14:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部