複素平面内の任意の単連結領域
(
) に対して、
から単位円盤
の上への等角写像
が存在する。それを
の写像関数と呼ぶ。
適当な追加条件を課すと写像関数は一意には定まる。例えば
を任意に一つ選ぶと、
を満たす写像関数
のとき、関数論で学ぶように
これを可視化してみよう。
一般に写像
を可視化するために、
か
の中に何かを描いて、
もう一方にはそれを写像したものを描く、という方法がある。
今の場合、
は単位円盤であるから、
原点中心の同心円群
と、
原点を通る放射線群
を
採用することが考えられる。
ただし
,
は
,
の分割点である:
の実部と虚部の等高線を描く
[x,y]=meshgrid(-2:0.01:2,-2:0.01:2);
z=x+1i*y;
z0=0.5;
w=(z-z0)./(1-conj(z0)*z);
clf
hold on
m=20;
n=10;
levelangle=linspace(-pi,pi,m+1);
levelabs=linspace(0,1,n+1);
contour(x,y,angle(w),levelangle)
contour(x,y,abs(w),levelabs)
axis square
これで一応、写像の ``状況'' は分かるわけだが、
からはみ出ているのが嫌味である。
うまい解決策が分からないので、次のようにして逃げている。 指定した点が指定した多角形の内部に含まれているかどうかを判定する in=inpolygon(x,y,xv,yv) という関数を利用する。
はみ出ないように
% メッシュを準備
[x,y]=meshgrid(-1.2:0.01:1.2,-1.2:0.01:1.2);
z=x+1i*y;
% 写像関数
z0=0.5;
w=(z-z0)./(1-conj(z0)*z);
% 等高線のレベル
m=20;
n=10;
levelangle=linspace(-pi,pi,m+1);
levelabs=linspace(0,1,n+1);
% 領域の内部にあるかどうか判定
t=linspace(0,1,100+1);
bx=cos(2*pi*t);
by=sin(2*pi*t);
indisk=inpolygon(x,y,bx,by);
outdisk=(1-indisk)*10;
clf;
subplot(1,2,1)
hold on
contour(x,y,angle(w)+outdisk,levelangle);
contour(x,y,abs(w)+outdisk,levelabs)
axis square
subplot(1,2,2)
hold on
contour(x,y,angle(z)+outdisk,levelangle);
contour(x,y,abs(z)+outdisk,levelabs)
axis square
2017-06-19