今回はgnuplotで複素関数をプロットする際に多価関数を正しくプロットする方法について紹介したい。
以前複素関数のプロットについて紹介したが、多価関数については正しくプロットできない。
解決法としては、パラメトリックプロットを利用する。前回紹介したように虚数をi={0,1}
とし、
を用いて、r, θ のパラメトリックプロットを以下のコードで実行する。
i={0,1} set parametric set urange[0.01:5] set vrange[0:4*pi] set isosamples 40 set view equal xyz splot u*cos(v),u*sin(v),imag(log(sqrt(u)*exp(i*0.5*v))
実行すると、同一の座標で複数の値が得られる多価関数になっていることがわかる。
確認のため、通常の直交座標系のプロットを実行しても、多価関数になっていないことがわかる。
unset parametric splot imag(log(sqrt(x+i*y)))