この定義を拡張し、複素平面上での三角関数を定義します。
Java で Complex クラスを実装してみました。
/** * Returns sine of the complex number, i.e. sin(z). */ public static Complex sin(Complex z) { Complex zi=z.multiply(Complex.I); Complex diff=exp(zi.minus()).subtract(exp(zi)); return diff.multiply(new Complex(.5,0)).multiply(Complex.I); } /** * Returns cosine of the complex number, i.e. cos(z). */ public static Complex cos(Complex z) { Complex zi=z.multiply(Complex.I); Complex sum=exp(zi).add(exp(zi.minus())); return sum.multiply(new Complex(.5,0)); }