() を複素関数とします。 つまり変数 の範囲 (定義域) は複素平面内の部分集合 で、 値 も複素数、ということです。
この複素関数 を図示することを考えましょう。 実変数実数値の関数 () ならば、 平面上に のグラフ を 自然に描くことが出来ましたが、 複素数は「実数に換算すると2次元」ですから、 のグラフを 3 次元世界で実現するのは無理です。 そこで 平面にある ``もの'' を、 写像 で 平面に移したものを 描くことで様子を知ろう、とします。
complexmap.bas |
REM 関数 w=z^3 で三角形がどういう図形に写像されるか OPTION ARITHMETIC complex DECLARE EXTERNAL SUB segment LET w=3 SET WINDOW -w,w,-w,w DRAW grid(0.5,0.5) PRINT "複素平面上の三角形を関数 w=z^3 で写す" PRINT "3点の座標を入力してください。" CALL cinput(z1) CALL cinput(z2) CALL cinput(z3) CALL segment(z1,z2,2) CALL segment(z2,z3,3) CALL segment(z3,z1,4) END REM 線分と線分の像 EXTERNAL SUB segment(z1,z2,col) OPTION ARITHMETIC complex DEF f(z)=z^3 LET i=SQR(-1) SET LINE COLOR col REM 線分を描く SET LINE width 3 PLOT LINES PLOT LINES : re(z1),im(z1);re(z2),im(z2) REM 線分上の点の写像による像を描く SET LINE width 2 FOR t=0 TO 1 STEP 0.01 LET z=(1-t)*z1+t*z2 CALL MAPPLOT(z) NEXT t END SUB REM 写像 w=f(z) で写した点をPLOTする EXTERNAL SUB mapplot(z) OPTION ARITHMETIC COMPLEX DEF f(z)=z^3 LET w=f(z) PLOT LINES: re(w),im(w); END SUB REM 複素数の入力 EXTERNAL SUB cinput(z) OPTION ARITHMETIC COMPLEX INPUT PROMPT "実部虚部を入力: ": x, y LET z=complex(x,y) END SUB |
このプログラムを実行して (長いので貼付けてしまってよいです)、 何をしているか理解して下さい。 三角形の頂点の座標を入力する必要がありますが、 例えば , , を入力してみて下さい。